[ 0s] on X86_64, no limit mem size [ 0s] Using BUILD_ROOT=/var/cache/build/root_3 [ 0s] Using BUILD_ARCH=armv7l:armv6l:armv5tel [ 0s] [ 0s] [ 0s] obsnw11 started "build _service:gbs:lightweight-web-engine.spec" at Thu Jun 4 17:36:11 UTC 2020. [ 0s] [ 0s] Building lightweight-web-engine for project 'Tizen:Unified' repository 'standard' arch 'armv7l' srcmd5 '83a238ba681f37b708bddea2b1c0d36d' [ 0s] [ 0s] processing recipe /var/cache/build/root_3/.build-srcdir/_service:gbs:lightweight-web-engine.spec ... [ 0s] running changelog2spec --target rpm --file /var/cache/build/root_3/.build-srcdir/_service:gbs:lightweight-web-engine.spec [ 0s] init_buildsystem --configdir /var/run/obs/worker/3/build/configs --cachedir /var/cache/build --clean --rpmlist /var/cache/build/root_3/.build.rpmlist /var/cache/build/root_3/.build-srcdir/_service:gbs:lightweight-web-engine.spec build rpmlint-Factory ... [ 1s] copying qemu [ 1s] /usr/bin/qemu-arm-binfmt /usr/bin/qemu-arm-static /usr/bin/qemu-arm64-binfmt /usr/bin/qemu-arm64-static /usr/sbin/qemu-binfmt-conf.sh [ 1s] [ 1s] registering binfmt handlers for cross build [ 1s] write: Invalid argument [ 1s] /proc/sys/fs/binfmt_misc/register: write failed [ 1s] /var/run/obs/worker/3/build/qemu-reg: line 8: write failed. Content: :aarch64:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-arm64-binfmt:P [ 1s] [ 1s] /.build/qemu-reg: No such file or directory [ 1s] /.build/qemu-reg: failed. Trying alternate binfmt file [ 1s] /usr/lib/build/qemu-reg: No such file or directory [ 1s] /usr/lib/build/qemu-reg: binfmt registration failed [ 2s] cycle: libsoftokn3 -> nss [ 2s] breaking dependency nss -> libsoftokn3 [ 2s] [1/40] preinstalling libmagic-data... [ 2s] [2/40] preinstalling libncurses... [ 2s] [3/40] preinstalling setup... [ 2s] [4/40] preinstalling filesystem... [ 2s] [5/40] preinstalling glibc... [ 2s] [6/40] preinstalling libbz2... [ 2s] [7/40] preinstalling libgcc... [ 2s] [8/40] preinstalling bash... [ 2s] [9/40] preinstalling diffutils... [ 2s] [10/40] preinstalling grep... [ 2s] [11/40] preinstalling libattr... [ 2s] [12/40] preinstalling libblkid... [ 2s] [13/40] preinstalling libcap... [ 2s] [14/40] preinstalling libfreebl3... [ 2s] [15/40] preinstalling liblua... [ 2s] [16/40] preinstalling liblzma... [ 2s] [17/40] preinstalling libpopt... [ 2s] [18/40] preinstalling libreadline... [ 2s] [19/40] preinstalling libsmack... [ 2s] [20/40] preinstalling libsqlite... [ 2s] [21/40] preinstalling libuuid... [ 2s] [22/40] preinstalling nspr... [ 2s] [23/40] preinstalling sed... [ 2s] [24/40] preinstalling zlib... [ 2s] [25/40] preinstalling qemu-accel-x86_64-armv7l... [ 7s] [26/40] preinstalling qemu-linux-user-x86_64-cross... [ 8s] [27/40] preinstalling coreutils... [ 8s] [28/40] preinstalling libacl... [ 8s] [29/40] preinstalling libelf... [ 8s] [30/40] preinstalling libmount... [ 8s] [31/40] preinstalling smack... [ 8s] [32/40] preinstalling bzip2... [ 8s] [33/40] preinstalling libmagic... [ 8s] [34/40] preinstalling libxml2... [ 8s] [35/40] preinstalling tar... [ 8s] [36/40] preinstalling util-linux... [ 8s] [37/40] preinstalling util-linux-su... [ 8s] [38/40] preinstalling nss... [ 8s] [39/40] preinstalling libsoftokn3... [ 8s] [40/40] preinstalling rpm... [ 8s] [ 8s] running qemu-linux-user-x86_64-cross postinstall script [ 8s] running qemu-accel-x86_64-armv7l postinstall script [ 8s] running setup postinstall script [ 8s] .init_b_cache/scripts/setup.post: line 1: syntax error near unexpected token `name' [ 8s] .init_b_cache/scripts/setup.post: line 1: `for i, name in ipairs({"passwd", "shadow", "group", "gshadow"}) do' [ 8s] initializing rpm db... [ 9s] reordering...cycle: gio-branding-upstream -> libgio [ 9s] breaking dependency libgio -> gio-branding-upstream [ 9s] cycle: pkgmgr-info -> pkgmgr-info-parser [ 9s] breaking dependency pkgmgr-info-parser -> pkgmgr-info [ 9s] cycle: dali-adaptor-profile_common -> dali-adaptor [ 9s] breaking dependency dali-adaptor -> dali-adaptor-profile_common [ 9s] cycle: ecore-core -> efl [ 9s] breaking dependency efl -> ecore-core [ 9s] cycle: efl -> ecore-con [ 9s] breaking dependency ecore-con -> efl [ 9s] cycle: ecore-core -> efl -> ecore-con [ 9s] breaking dependency ecore-con -> ecore-core [ 9s] cycle: efl -> ecore-con -> eet [ 9s] breaking dependency ecore-con -> eet [ 9s] cycle: efl -> ecore-con -> eina [ 9s] breaking dependency efl -> ecore-con [ 9s] cycle: efl -> eina [ 9s] breaking dependency efl -> eina [ 9s] cycle: efl -> eo [ 9s] breaking dependency eo -> efl [ 9s] cycle: efl -> eo -> eina [ 9s] breaking dependency eo -> eina [ 9s] cycle: ecore-evas -> ecore-input-evas -> evas [ 9s] breaking dependency ecore-evas -> ecore-input-evas [ 9s] cycle: ecore-evas -> evas [ 9s] breaking dependency evas -> ecore-evas [ 9s] cycle: libalarm -> alarm-server [ 9s] breaking dependency alarm-server -> libalarm [ 9s] cycle: libkey-manager-client -> key-manager [ 9s] breaking dependency key-manager -> libkey-manager-client [ 9s] cycle: libsecurity-manager-client -> security-manager [ 9s] breaking dependency security-manager -> libsecurity-manager-client [ 9s] cycle: libsecurity-manager-client -> security-manager -> security-license-manager [ 9s] breaking dependency security-manager -> security-license-manager [ 9s] cycle: security-manager -> security-manager-policy [ 9s] breaking dependency security-manager -> security-manager-policy [ 9s] cycle: xmlsec1-openssl -> xmlsec1 [ 9s] breaking dependency xmlsec1-openssl -> xmlsec1 [ 9s] cycle: dali-adaptor-integration-devel -> dali-adaptor-devel [ 9s] breaking dependency dali-adaptor-integration-devel -> dali-adaptor-devel [ 9s] cycle: ecore-devel -> ecore-audio-devel [ 9s] breaking dependency ecore-devel -> ecore-audio-devel [ 9s] cycle: ecore-devel -> ecore-buffer-devel [ 9s] breaking dependency ecore-devel -> ecore-buffer-devel [ 9s] cycle: ecore-devel -> ecore-con-devel [ 9s] breaking dependency ecore-devel -> ecore-con-devel [ 9s] cycle: ecore-core-devel -> ecore-devel [ 9s] breaking dependency ecore-devel -> ecore-core-devel [ 9s] cycle: ecore-devel -> ecore-evas-devel [ 9s] breaking dependency ecore-devel -> ecore-evas-devel [ 9s] cycle: ecore-devel -> ecore-fb-devel [ 9s] breaking dependency ecore-devel -> ecore-fb-devel [ 9s] cycle: ecore-devel -> ecore-file-devel [ 9s] breaking dependency ecore-devel -> ecore-file-devel [ 9s] cycle: ecore-devel -> ecore-imf-devel [ 9s] breaking dependency ecore-devel -> ecore-imf-devel [ 9s] cycle: ecore-devel -> ecore-imf-evas-devel [ 9s] breaking dependency ecore-imf-evas-devel -> ecore-devel [ 9s] cycle: ecore-devel -> ecore-imf-evas-devel -> ecore-imf-devel [ 9s] breaking dependency ecore-devel -> ecore-imf-evas-devel [ 9s] cycle: ecore-devel -> ecore-input-devel [ 9s] breaking dependency ecore-devel -> ecore-input-devel [ 9s] cycle: ecore-devel -> ecore-input-evas-devel [ 9s] breaking dependency ecore-input-evas-devel -> ecore-devel [ 9s] cycle: ecore-devel -> ecore-input-evas-devel -> ecore-input-devel [ 9s] breaking dependency ecore-input-evas-devel -> ecore-input-devel [ 9s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 9s] breaking dependency efl-devel -> ecore-devel [ 9s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> ecore-con-devel [ 9s] breaking dependency efl-devel -> ecore-con-devel [ 9s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> ecore-evas-devel [ 9s] breaking dependency ecore-evas-devel -> ecore-devel [ 9s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> ecore-evas-devel -> ecore-input-devel [ 9s] breaking dependency efl-devel -> ecore-evas-devel [ 9s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> ecore-input-devel [ 9s] breaking dependency efl-devel -> ecore-input-devel [ 9s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> ecore-wl2-devel [ 9s] breaking dependency efl-devel -> ecore-wl2-devel [ 9s] cycle: ector-devel -> eet-devel -> efl-devel [ 9s] breaking dependency efl-devel -> ector-devel [ 9s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> elementary-devel [ 9s] breaking dependency elementary-devel -> ecore-devel [ 9s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> elementary-devel -> ecore-con-devel [ 9s] breaking dependency elementary-devel -> ecore-con-devel [ 9s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> elementary-devel -> ecore-evas-devel -> ecore-input-devel [ 9s] breaking dependency elementary-devel -> ecore-evas-devel [ 9s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> elementary-devel -> ecore-file-devel [ 9s] breaking dependency elementary-devel -> ecore-file-devel [ 9s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> elementary-devel -> ecore-imf-devel [ 9s] breaking dependency elementary-devel -> ecore-imf-devel [ 9s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> elementary-devel -> ecore-input-devel [ 9s] breaking dependency elementary-devel -> ecore-input-devel [ 9s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> elementary-devel -> ecore-wl2-devel [ 9s] breaking dependency elementary-devel -> ecore-wl2-devel [ 9s] cycle: ector-devel -> eet-devel -> efl-devel -> elementary-devel [ 9s] breaking dependency elementary-devel -> ector-devel [ 9s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> elementary-devel -> edje-devel [ 9s] breaking dependency edje-devel -> ecore-devel [ 9s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> elementary-devel -> edje-devel -> ecore-audio-devel [ 9s] breaking dependency edje-devel -> ecore-audio-devel [ 9s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> elementary-devel -> edje-devel -> ecore-evas-devel -> ecore-input-devel [ 9s] breaking dependency edje-devel -> ecore-evas-devel [ 9s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> elementary-devel -> edje-devel -> ecore-file-devel [ 9s] breaking dependency edje-devel -> ecore-file-devel [ 9s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> elementary-devel -> edje-devel -> ecore-imf-devel [ 9s] breaking dependency edje-devel -> ecore-imf-devel [ 9s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> elementary-devel -> edje-devel -> ecore-imf-evas-devel -> ecore-imf-devel [ 9s] breaking dependency edje-devel -> ecore-imf-evas-devel [ 9s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> elementary-devel -> edje-devel -> ecore-input-devel [ 9s] breaking dependency elementary-devel -> edje-devel [ 9s] cycle: eet-devel -> efl-devel -> elementary-devel [ 9s] breaking dependency elementary-devel -> eet-devel [ 9s] cycle: efl-devel -> elementary-devel [ 9s] breaking dependency elementary-devel -> efl-devel [ 9s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> elementary-devel -> efreet-devel [ 9s] breaking dependency elementary-devel -> efreet-devel [ 9s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> elementary-devel -> eio-devel [ 9s] breaking dependency elementary-devel -> eio-devel [ 9s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> elementary-devel -> eldbus-devel [ 9s] breaking dependency elementary-devel -> eldbus-devel [ 9s] cycle: efl-devel -> elementary-devel -> emile-devel [ 9s] breaking dependency elementary-devel -> emile-devel [ 9s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> elementary-devel -> emotion-devel [ 9s] breaking dependency emotion-devel -> ecore-devel [ 9s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> elementary-devel -> emotion-devel -> ecore-file-devel [ 9s] breaking dependency emotion-devel -> ecore-file-devel [ 9s] cycle: ector-devel -> eet-devel -> efl-devel -> elementary-devel -> emotion-devel [ 9s] breaking dependency emotion-devel -> ector-devel [ 9s] cycle: eet-devel -> efl-devel -> elementary-devel -> emotion-devel [ 9s] breaking dependency emotion-devel -> eet-devel [ 9s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> elementary-devel -> emotion-devel -> eeze-devel [ 9s] breaking dependency emotion-devel -> eeze-devel [ 9s] cycle: efl-devel -> elementary-devel -> emotion-devel [ 9s] breaking dependency emotion-devel -> efl-devel [ 9s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> elementary-devel -> emotion-devel -> eio-devel [ 9s] breaking dependency eio-devel -> ecore-devel [ 9s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> elementary-devel -> emotion-devel -> eio-devel -> ecore-file-devel [ 9s] breaking dependency eio-devel -> ecore-file-devel [ 9s] cycle: eet-devel -> efl-devel -> elementary-devel -> emotion-devel -> eio-devel [ 9s] breaking dependency eio-devel -> eet-devel [ 9s] cycle: efl-devel -> elementary-devel -> emotion-devel -> eio-devel [ 9s] breaking dependency emotion-devel -> eio-devel [ 9s] cycle: efl-devel -> elementary-devel -> emotion-devel -> emile-devel [ 9s] breaking dependency elementary-devel -> emotion-devel [ 9s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> elementary-devel -> ethumb-devel [ 9s] breaking dependency ethumb-devel -> ecore-devel [ 9s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> elementary-devel -> ethumb-devel -> ecore-evas-devel -> ecore-input-devel [ 9s] breaking dependency ethumb-devel -> ecore-evas-devel [ 9s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> elementary-devel -> ethumb-devel -> ecore-file-devel [ 9s] breaking dependency ethumb-devel -> ecore-file-devel [ 9s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> elementary-devel -> ethumb-devel -> ecore-imf-devel [ 9s] breaking dependency ethumb-devel -> ecore-imf-devel [ 9s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> elementary-devel -> ethumb-devel -> ecore-input-devel [ 9s] breaking dependency ethumb-devel -> ecore-input-devel [ 9s] cycle: ector-devel -> eet-devel -> efl-devel -> elementary-devel -> ethumb-devel [ 9s] breaking dependency ethumb-devel -> ector-devel [ 9s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> elementary-devel -> ethumb-devel -> edje-devel -> ecore-input-devel [ 9s] breaking dependency edje-devel -> ecore-input-devel [ 9s] cycle: ector-devel -> eet-devel -> efl-devel -> elementary-devel -> ethumb-devel -> edje-devel [ 9s] breaking dependency edje-devel -> ector-devel [ 9s] cycle: eet-devel -> efl-devel -> elementary-devel -> ethumb-devel -> edje-devel [ 9s] breaking dependency edje-devel -> eet-devel [ 9s] cycle: efl-devel -> elementary-devel -> ethumb-devel -> edje-devel [ 9s] breaking dependency edje-devel -> efl-devel [ 9s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> elementary-devel -> ethumb-devel -> edje-devel -> efreet-devel [ 9s] breaking dependency efreet-devel -> ecore-devel [ 9s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> elementary-devel -> ethumb-devel -> edje-devel -> efreet-devel -> ecore-con-devel [ 9s] breaking dependency ethumb-devel -> edje-devel [ 9s] cycle: eet-devel -> efl-devel -> elementary-devel -> ethumb-devel [ 9s] breaking dependency ethumb-devel -> eet-devel [ 9s] cycle: efl-devel -> elementary-devel -> ethumb-devel [ 9s] breaking dependency ethumb-devel -> efl-devel [ 9s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> elementary-devel -> ethumb-devel -> eldbus-devel [ 9s] breaking dependency ecore-devel -> ecore-input-evas-devel [ 9s] cycle: ecore-devel -> ecore-ipc-devel [ 9s] breaking dependency ecore-devel -> ecore-ipc-devel [ 9s] cycle: ecore-devel -> ecore-wayland-devel [ 9s] breaking dependency ecore-wayland-devel -> ecore-devel [ 9s] cycle: ecore-devel -> ecore-wayland-devel -> ecore-input-devel [ 9s] breaking dependency ecore-input-devel -> ecore-devel [ 9s] cycle: ecore-devel -> ecore-wayland-devel -> ecore-input-devel -> ecore-file-devel [ 9s] breaking dependency ecore-input-devel -> ecore-file-devel [ 9s] cycle: ecore-devel -> ecore-wayland-devel -> ecore-input-devel -> eeze-devel [ 9s] breaking dependency eeze-devel -> ecore-devel [ 9s] cycle: ecore-devel -> ecore-wayland-devel -> ecore-input-devel -> eeze-devel -> ecore-file-devel [ 9s] breaking dependency ecore-file-devel -> ecore-devel [ 9s] cycle: ecore-devel -> ecore-wayland-devel -> ecore-input-devel -> eeze-devel -> ecore-file-devel -> ecore-con-devel [ 9s] breaking dependency ecore-con-devel -> ecore-devel [ 9s] cycle: ecore-devel -> ecore-wayland-devel -> ecore-input-devel -> eeze-devel -> ecore-file-devel -> ecore-con-devel -> eet-devel -> efl-devel -> elementary-devel -> ethumb-devel -> eldbus-devel [ 9s] breaking dependency ecore-con-devel -> eet-devel [ 9s] cycle: ecore-devel -> ecore-wayland-devel -> ecore-input-devel -> eeze-devel -> ecore-file-devel -> ecore-con-devel -> efl-devel -> elementary-devel -> ethumb-devel -> eldbus-devel [ 9s] breaking dependency ethumb-devel -> eldbus-devel [ 9s] cycle: efl-devel -> elementary-devel -> ethumb-devel -> emile-devel [ 9s] breaking dependency efl-devel -> elementary-devel [ 9s] cycle: efl-devel -> emile-devel [ 9s] breaking dependency efl-devel -> emile-devel [ 9s] cycle: ecore-devel -> ecore-wayland-devel -> ecore-input-devel -> eeze-devel -> ecore-file-devel -> ecore-con-devel -> efl-devel -> evas-devel [ 9s] breaking dependency evas-devel -> ecore-devel [ 9s] cycle: efl-devel -> evas-devel -> ector-devel -> eet-devel [ 9s] breaking dependency evas-devel -> ector-devel [ 9s] cycle: efl-devel -> evas-devel -> eet-devel [ 9s] breaking dependency evas-devel -> eet-devel [ 9s] cycle: efl-devel -> evas-devel [ 9s] breaking dependency evas-devel -> efl-devel [ 9s] cycle: efl-devel -> evas-devel -> emile-devel [ 9s] breaking dependency evas-devel -> emile-devel [ 9s] cycle: ecore-devel -> ecore-wayland-devel -> ecore-input-devel -> eeze-devel -> ecore-file-devel -> ecore-con-devel -> eldbus-devel [ 9s] breaking dependency ecore-devel -> ecore-wayland-devel [ 9s] cycle: ecore-devel -> ecore-wl2-devel [ 9s] breaking dependency ecore-wl2-devel -> ecore-devel [ 9s] cycle: ecore-devel -> ecore-wl2-devel -> ecore-input-devel -> eeze-devel -> ecore-file-devel -> ecore-con-devel -> eldbus-devel [ 9s] breaking dependency ecore-con-devel -> eldbus-devel [ 9s] cycle: libsoftokn3 -> nss [ 9s] breaking dependency nss -> libsoftokn3 [ 9s] done [ 9s] [1/394] installing boost-license-1.71.0-6.1 [ 9s] [2/394] installing ca-certificates-tizen-0.2.0-2.2 [ 10s] [3/394] installing default-ac-domains-0.1-6.2 [ 10s] [4/394] installing dlog-config-persistent-logs-6.0.12-90.1 [ 10s] [5/394] installing libmagic-data-5.37-17.171 [ 10s] [6/394] installing setup-0.9-10.29 [ 10s] warning: /etc/profile created as /etc/profile.rpmnew [ 10s] [7/394] installing filesystem-3.1-8.1 [ 10s] [8/394] installing glibc-2.30-25.11 [ 10s] [9/394] installing giflib-5.1.9-5.2 [ 10s] [10/394] installing libatomic-9.2.0-7.12 [ 11s] [11/394] installing libbz2-1.0.8-8.2 [ 11s] [12/394] installing libgcc-9.2.0-7.12 [ 11s] [13/394] installing giflib-devel-5.1.9-5.2 [ 12s] [14/394] installing bash-3.2.57-6.7 [ 12s] [15/394] installing capi-base-common-0.4.55-38.1 [ 12s] [16/394] installing cpio-2.11-3.7 [ 12s] [17/394] installing diffutils-3.3-3.7 [ 12s] [18/394] installing findutils-4.3.8-6.349 [ 12s] [19/394] installing fribidi-1.0.8-7.1 [ 12s] [20/394] installing gdbm-1.8.3-4.247 [ 13s] [21/394] installing hostname-3.23-7.4 [ 13s] [22/394] installing iniparser-4.1-3.3 [ 13s] [23/394] installing libasound-1.0.28-5.13 [ 13s] [24/394] installing libattr-2.4.47-5.602 [ 14s] [25/394] installing libavutil-12.3-16.1 [ 14s] [26/394] installing libblkid-2.34-17.7 [ 14s] [27/394] installing libcap-2.24-4.808 [ 15s] [28/394] installing libcares-1.12.0-6.4 [ 15s] [29/394] installing libdrm-2.4.100-22.1 [ 16s] [30/394] installing libexif-0.6.21-3.4 [ 16s] [31/394] installing libexpat-2.2.9-9.37 [ 16s] [32/394] installing libext2fs-1.43.4-7.3 [ 17s] [33/394] installing libffi-3.1-4.41 [ 17s] [34/394] installing libfreebl3-3.34.1-6.129 [ 18s] [35/394] installing libgfortran-9.2.0-7.12 [ 18s] [36/394] installing libgomp-9.2.0-7.12 [ 18s] [37/394] installing libgpg-error-1.27-5.7 [ 19s] [38/394] installing libhyphen-2.8.8-3.13 [ 19s] [39/394] installing libitm-9.2.0-7.12 [ 19s] [40/394] installing libjpeg-8.2.2-9.18 [ 20s] [41/394] installing libjson4-0.13.1-9.7 [ 20s] [42/394] installing libltdl-2.4.2-5.219 [ 20s] [43/394] installing liblua-5.1.5-5.105 [ 21s] [44/394] installing liblzma-5.2.4-6.297 [ 21s] [45/394] installing libogg-1.3.2-1.15 [ 21s] [46/394] installing libopenssl11-1.1.1e-9.41 [ 22s] [47/394] installing libpcre-8.43-7.31 [ 22s] [48/394] installing libpopt-1.16-4.235 [ 23s] [49/394] installing libpython-2.7.17-14.25 [ 23s] [50/394] installing libpython3_7m1_0-3.7.3-15.52 [ 24s] [51/394] installing libsmack-1.3.1-5.367 [ 24s] [52/394] installing libsmartcols-2.34-17.7 [ 24s] [53/394] installing libsqlite-3.31.1-20.26 [ 25s] [54/394] installing libstdc++-9.2.0-7.12 [ 25s] [55/394] installing libuuid-2.34-17.7 [ 26s] [56/394] installing libwayland-egl-1.18.0-31.1 [ 26s] [57/394] installing libwayland-egl-tizen-1.0.1-8.1 [ 26s] [58/394] installing libxkbcommon-0.10.0-9.1 [ 29s] [59/394] installing m4-1.4.17-4.4 [ 32s] [60/394] installing net-tools-2.0_20121208git-4.1 [ 34s] [61/394] installing nghttp2-1.40.0-12.1 [ 39s] [62/394] installing nspr-4.12-4.213 [ 40s] [63/394] installing patch-2.7-3.234 [ 40s] [64/394] installing pixman-0.38.4-4.5 [ 41s] [65/394] installing pkg-config-0.28-6.132 [ 41s] [66/394] installing sed-4.1c-4.7 [ 41s] [67/394] installing update-alternatives-1.18.15-5.4 [ 41s] [68/394] installing which-2.20-6.7 [ 41s] [69/394] installing xdgmime-0.0.14-5.1 [ 41s] [70/394] installing zlib-1.2.11-5.504 [ 42s] [71/394] installing shadow-utils-4.1.4.2-10.47 [ 42s] [72/394] installing build-compare-2015.04.28-3.340 [ 42s] [73/394] installing libstdc++-devel-9.2.0-7.12 [ 42s] [74/394] installing qemu-linux-user-x86_64-cross-2.7.0.1-1.2.1 [ 43s] [75/394] installing terminfo-base-full-6.1_20191207-12.145 [ 44s] [76/394] installing capi-base-common-devel-0.4.55-38.1 [ 44s] [77/394] installing cpp-9.2.0-7.12 [ 44s] [78/394] installing fribidi-devel-1.0.8-7.1 [ 44s] [79/394] installing gcc-c++-9.2.0-7.12 [ 45s] [80/394] installing libasound-devel-1.0.28-5.13 [ 45s] [81/394] installing libblkid-devel-2.34-17.7 [ 45s] [82/394] installing libffi-devel-3.1-4.41 [ 45s] [83/394] installing libjpeg-devel-8.2.2-9.18 [ 45s] [84/394] installing libuuid-devel-2.34-17.7 [ 45s] [85/394] installing libxkbcommon-devel-0.10.0-9.1 [ 45s] [86/394] installing pixman-devel-0.38.4-4.5 [ 45s] [87/394] installing sensord-dummy-4.0.54-48.1 [ 45s] [88/394] installing xz-devel-5.2.4-6.297 [ 46s] [89/394] installing binutils-2.33.1-19.28 [ 46s] [90/394] installing context-sensor-recorder-dummy-4.0.1-12.7 [ 46s] [91/394] installing coreutils-6.9-4.44 [ 46s] [92/394] installing db4-4.8.30.NC-4.143 [ 47s] [93/394] installing gawk-3.1.5-6.4 [ 47s] [94/394] installing grep-2.5.2-6.7 [ 47s] [95/394] installing libacl-2.2.52-5.621 [ 47s] [96/394] installing libavcodec-12.3-16.1 [ 48s] [97/394] installing libcap-tools-2.24-4.808 [ 48s] [98/394] installing libcc1-9.2.0-7.12 [ 48s] [99/394] installing libelf-0.178-6.2 [ 48s] [100/394] installing libgcrypt-1.8.3-7.11 [ 49s] [101/394] installing libglib-2.62.3-25.29 [ 49s] [102/394] installing libmount-2.34-17.7 [ 50s] [103/394] installing libnss-security-manager-1.6.2-56.4 [ 50s] [104/394] installing libpcreposix-8.43-7.31 [ 50s] [105/394] installing libpng-1.6.37-10.3 [ 51s] [106/394] installing libswscale-12.3-16.1 [ 51s] [107/394] installing libubsan-9.2.0-7.12 [ 51s] [108/394] installing libvorbis-1.3.4-3.4 [ 52s] [109/394] installing libwayland-egl-tizen-devel-1.0.1-8.1 [ 52s] [110/394] installing lottie-player-0.0.1-49.1 [ 52s] [111/394] installing make-4.0-5.43 [ 52s] [112/394] installing minizip-1.2.11-5.504 [ 53s] [113/394] installing ninja-1.9.0-3.5 [ 53s] [114/394] installing nss-certs-3.34.1-6.129 [ 53s] [115/394] installing smack-1.3.1-5.367 [ 53s] [116/394] installing boost-filesystem-1.71.0-6.1 [ 53s] [117/394] installing boost-program-options-1.71.0-6.1 [ 53s] [118/394] installing bzip2-1.0.8-8.2 [ 53s] [119/394] installing dali-1.5.14-101.1 [ 54s] [120/394] installing libfdisk-2.34-17.7 [ 54s] [121/394] installing libicu-65.1-15.4 [ 55s] [122/394] installing libkmod-27-6.1 [ 56s] [123/394] installing libmagic-5.37-17.171 [ 56s] [124/394] installing libpcrecpp-8.43-7.31 [ 56s] [125/394] installing libsqlcipher-4.3.0-3.1 [ 57s] [126/394] installing libxml2-2.9.10-10.24 [ 57s] [127/394] installing xz-5.2.4-6.297 [ 57s] [128/394] installing cynara-db-migration-0.14.26-17.3 [ 57s] [129/394] installing ttrace-1.0.3-14.1 [ 58s] [130/394] installing libtiff-4.1.0-11.3 [ 58s] [131/394] installing python3-base-3.7.3-15.52 [ 59s] [132/394] installing dali-integration-devel-1.5.14-101.1 [ 59s] [133/394] installing libicu-devel-65.1-15.4 [ 59s] [134/394] installing linux-glibc-devel-3.10-10.44 [ 60s] [135/394] installing file-5.37-17.171 [ 60s] [136/394] installing glibc-locale-2.30-25.11 [ 60s] [137/394] installing libgmodule-2.62.3-25.29 [ 61s] [138/394] installing libgthread-2.62.3-25.29 [ 61s] [139/394] installing libmount-devel-2.34-17.7 [ 61s] [140/394] installing tar-1.17-4.8 [ 61s] [141/394] installing tizen-platform-config-5.0-15.1 [ 62s] [142/394] installing gzip-1.3.12-7.574 [ 62s] [143/394] installing libavformat-12.3-16.1 [ 63s] [144/394] installing libfreetype-2.10.1-9.1 [ 63s] [145/394] installing libgobject-2.62.3-25.29 [ 63s] [146/394] installing libncurses6-6.1_20191207-12.145 [ 64s] [147/394] installing libvorbisenc-1.3.4-3.4 [ 64s] [148/394] installing lottie-player-devel-0.0.1-49.1 [ 64s] [149/394] installing pam-1.1.6-8.5 [ 65s] [150/394] installing boost-regex-1.71.0-6.1 [ 65s] [151/394] installing perl-5.30.0-10.78 [ 67s] [152/394] installing tzdata-2019c-12.4 [ 68s] [153/394] installing libcurl-extension-dlp-7.68.0-20.2 [ 68s] [154/394] installing libdw-0.178-6.2 [ 68s] [155/394] installing pcre-devel-8.43-7.31 [ 68s] [156/394] installing security-config-1.0-104.1 [ 79s] groupadd: group 'dbus' already exists [ 79s] groupadd: group 'priv_appdebugging' already exists [ 79s] rm: cannot remove `/opt/share/security-config/test': No such file or directory [ 79s] [157/394] installing libcurl-7.68.0-20.2 [ 80s] [158/394] installing libxslt-1.1.34-8.5 [ 80s] [159/394] installing libarchive-3.4.0-8.5 [ 80s] [160/394] installing shared-mime-info-1.7-5.17 [ 86s] [161/394] installing gcc-9.2.0-7.12 [ 86s] [162/394] installing build-mkbaselibs-20120927-3.1 [ 87s] [163/394] installing libncurses-6.1_20191207-12.145 [ 87s] [164/394] installing glibc-devel-2.30-25.11 [ 87s] [165/394] installing qemu-accel-x86_64-armv7l-0.4-17.1 [ 95s] [166/394] installing autoconf-2.69-5.319 [ 95s] [167/394] installing ca-certificates-0.0.4-10.1 [ 95s] [168/394] installing dali-devel-1.5.14-101.1 [ 95s] [169/394] installing less-466-8.12 [ 95s] [170/394] installing libreadline-5.2-5.160 [ 96s] [171/394] installing libtzplatform-config-5.0-15.1 [ 96s] [172/394] installing procps-ng-3.3.15-9.5 [ 96s] [173/394] installing libasm-0.178-6.2 [ 96s] [174/394] installing libcurl-devel-7.68.0-20.2 [ 97s] [175/394] installing libsndfile-1.0.28-11.4 [ 97s] [176/394] installing libsystemd-244-55.2 [ 97s] [177/394] installing ncurses-devel-6.1_20191207-12.145 [ 97s] [178/394] installing libharfbuzz-2.6.4-9.2 [ 98s] [179/394] installing cmake-3.9.4-7.5 [ 99s] [180/394] installing fontconfig-2.13.1-12.1 [ 99s] [181/394] installing systemd-244-55.2 [ 102s] Running systemd %posttrans script [ 102s] update-alternatives: using /usr/lib/systemd/systemd-shutdown-original to provide /usr/lib/systemd/systemd-shutdown (systemd-shutdown) in auto mode [ 102s] [182/394] installing readline-devel-5.2-5.160 [ 102s] [183/394] installing automake-1.15.1-6.472 [ 102s] [184/394] installing dbus-libs-1.12.16-46.1 [ 103s] [185/394] installing systemd-devel-244-55.2 [ 103s] [186/394] installing tizen-platform-config-tools-5.0-15.1 [ 103s] [187/394] installing zlib-devel-1.2.11-5.504 [ 103s] [188/394] installing libsndfile-devel-1.0.28-11.4 [ 103s] [189/394] installing libxml2-tools-2.9.10-10.24 [ 103s] [190/394] installing lua-5.1.5-5.105 [ 103s] [191/394] installing sqlite-3.31.1-20.26 [ 103s] [192/394] installing build-20120927-3.1 [ 103s] [193/394] installing elfutils-0.178-6.2 [ 103s] [194/394] installing python3-3.7.3-15.21 [ 103s] [195/394] installing libdlog-6.0.12-90.1 [ 104s] Running in chroot, ignoring request: daemon-reload [ 104s] [196/394] installing python-2.7.17-14.25 [ 105s] [197/394] installing util-linux-2.34-17.7 [ 105s] [198/394] installing dbus-devel-1.12.16-46.1 [ 105s] [199/394] installing libdlog-devel-6.0.12-90.1 [ 105s] [200/394] installing libopenssl1.1-devel-1.1.1e-9.41 [ 106s] [201/394] installing libtracker-1.0.1-4.13 [ 106s] [202/394] installing lua-devel-5.1.5-5.105 [ 106s] [203/394] installing libmm-common-0.2.121-19.1 [ 106s] [204/394] installing libtool-2.4.2-5.219 [ 106s] [205/394] installing libwayland-client-1.18.0-31.1 [ 107s] [206/394] installing libwayland-server-1.18.0-31.1 [ 107s] [207/394] installing python-xml-2.7.17-14.25 [ 107s] [208/394] installing util-linux-su-2.34-17.7 [ 107s] [209/394] installing argos_watchdog-0.0.3-4.4 [ 108s] [210/394] installing capi-system-sensor-0.2.5-13.1 [ 108s] [211/394] installing libkey-manager-common-0.1.38-25.3 [ 108s] [212/394] installing libpng-devel-1.6.37-10.3 [ 108s] [213/394] installing libpulse-13.0-52.1 [ 109s] [214/394] installing libcynara-commons-0.14.26-17.3 [ 110s] [215/394] installing libxml2-devel-2.9.10-10.24 [ 110s] [216/394] installing capi-system-info-0.5.2-16.4 [ 110s] Running capi-system-info %posttrans script [ 110s] I/O warning : failed to load external entity "/etc/config/model-config.xml" [ 110s] iniparser: cannot open /etc/info.ini [ 110s] [217/394] installing libwayland-extension-client-1.3.8-49.1 [ 111s] [218/394] installing capi-system-info-devel-0.5.2-16.4 [ 111s] [219/394] installing pkgmgr-0.12.1-31.1 [ 111s] Running pkgmgr %posttrans script [ 111s] /var/tmp/rpm-tmp.aL3vzI: line 4: pkg_initdb: command not found [ 111s] /var/tmp/rpm-tmp.aL3vzI: line 5: install_preload_pkg: command not found [ 111s] /var/tmp/rpm-tmp.aL3vzI: line 12: pkgcmd: command not found [ 111s] /var/tmp/rpm-tmp.aL3vzI: line 14: /etc/package-manager/pkgmgr-label-initial-image.sh: No such file or directory [ 111s] [220/394] installing libcynara-agent-0.14.26-17.3 [ 112s] [221/394] installing libcynara-client-0.14.26-17.3 [ 112s] [222/394] installing libcynara-creds-commons-0.14.26-17.3 [ 113s] [223/394] installing libcynara-session-0.14.26-17.3 [ 113s] [224/394] installing ttrace-devel-1.0.3-14.1 [ 113s] [225/394] installing freetype2-devel-2.10.1-9.1 [ 113s] [226/394] installing libcynara-admin-0.14.26-17.3 [ 113s] [227/394] installing libwayland-cursor-1.18.0-31.1 [ 114s] [228/394] installing cynara-0.14.26-17.4 [ 114s] Running in chroot, ignoring request: daemon-reload [ 114s] Running in chroot, ignoring request: restart [ 114s] [229/394] installing libpulse-mainloop-glib-13.0-52.1 [ 114s] [230/394] installing libtbm-3.3.9-69.1 [ 115s] [231/394] installing libtbm-devel-3.3.9-69.1 [ 115s] [232/394] installing fontconfig-devel-2.13.1-12.1 [ 115s] [233/394] installing cyad-0.14.26-17.3 [ 115s] [234/394] installing libcynara-creds-socket-0.14.26-17.3 [ 116s] [235/394] installing libwayland-tbm-client-0.8.1-41.1 [ 116s] [236/394] installing capi-media-tool-0.1.16-19.5 [ 116s] [237/394] installing libwayland-tbm-server-0.8.1-41.1 [ 117s] [238/394] installing wayland-devel-1.18.0-31.1 [ 117s] [239/394] installing libtdm-2.10.6-92.1 [ 117s] [240/394] installing libtdm-devel-2.10.6-92.1 [ 117s] [241/394] installing wayland-extension-client-devel-1.3.8-49.1 [ 117s] [242/394] installing capi-media-tool-devel-0.1.16-19.5 [ 117s] [243/394] installing libwayland-tbm-devel-0.8.1-41.1 [ 118s] [244/394] installing libtdm-client-2.10.6-92.1 [ 118s] [245/394] installing libtdm-client-devel-2.10.6-92.1 [ 118s] [246/394] installing libtpl-egl-1.7.7-8.1 [ 118s] [247/394] installing coregl-0.2.0-12.18 [ 118s] [248/394] installing coregl-devel-0.2.0-12.18 [ 119s] [249/394] installing eo-1.24.0-155.1 [ 119s] [250/394] installing nss-3.34.1-6.129 [ 119s] [251/394] installing xmlsec1-openssl-1.2.28-7.32 [ 120s] [252/394] installing libgio-2.62.3-25.29 [ 120s] [253/394] installing gio-branding-upstream-2.62.3-25.29 [ 120s] [254/394] installing libcynara-creds-gdbus-0.14.26-17.3 [ 120s] [255/394] installing libjson-glib-1.4.4-8.1 [ 121s] [256/394] installing libsoftokn3-3.34.1-6.129 [ 121s] [257/394] installing glib2-tools-2.62.3-25.29 [ 121s] [258/394] installing gstreamer-1.16.2-24.1 [ 122s] [259/394] installing xmlsec1-1.2.28-7.32 [ 122s] [260/394] installing efl-1.24.0-155.1 [ 122s] [261/394] installing klay-0.0.2-28.16 [ 123s] [262/394] installing pkgmgr-info-parser-0.18.2-54.1 [ 123s] [263/394] installing rpm-4.11.0.1-16.29 [ 124s] [264/394] installing buxton2-1.5.11-34.1 [ 125s] Running buxton2 %posttrans script [ 125s] chmod: cannot access `/etc/buxton2/*': No such file or directory [ 125s] /etc/buxton2/*: No such file or directory [ 125s] chmod: cannot access `/var/lib/buxton2/*': No such file or directory [ 125s] /var/lib/buxton2/*: No such file or directory [ 125s] [265/394] installing eina-1.24.0-155.1 [ 125s] [266/394] installing vconf-compat-1.5.11-34.1 [ 125s] [267/394] installing bundle-0.4.5-18.1 [ 126s] [268/394] installing rpm-build-4.11.0.1-16.29 [ 126s] [269/394] installing glib2-devel-2.62.3-25.29 [ 126s] [270/394] installing bundle-devel-0.4.5-18.1 [ 126s] [271/394] installing eina-devel-1.24.0-155.1 [ 126s] [272/394] installing embryo-1.24.0-155.1 [ 126s] [273/394] installing harfbuzz-devel-2.6.4-9.2 [ 126s] [274/394] installing libpulse-devel-13.0-52.1 [ 126s] [275/394] installing eventsystem-0.1.13-11.4 [ 127s] [276/394] installing capi-system-runtime-info-0.5.2-16.5 [ 127s] [277/394] installing ecore-core-1.24.0-155.1 [ 127s] [278/394] installing emile-1.24.0-155.1 [ 128s] [279/394] installing libdpm-0.0.1-11.5 [ 128s] [280/394] installing libnet-client-1.1.74-33.1 [ 128s] [281/394] installing capi-system-device-0.1.0-41.1 [ 128s] [282/394] installing libstorage-1.0.0-25.4 [ 129s] [283/394] installing pkgmgr-info-0.18.2-54.1 [ 129s] [284/394] installing libmm-fileinfo-0.6.89-46.1 [ 129s] [285/394] installing libmm-sound-0.12.72-71.1 [ 130s] [286/394] installing capi-system-device-devel-0.1.0-41.1 [ 130s] [287/394] installing eo-devel-1.24.0-155.1 [ 130s] [288/394] installing capi-media-metadata-extractor-0.1.14-24.3 [ 130s] [289/394] installing ecore-imf-1.24.0-155.1 [ 130s] [290/394] installing ecore-audio-1.24.0-155.1 [ 130s] [291/394] installing ecore-buffer-1.24.0-155.1 [ 130s] [292/394] installing eet-1.24.0-155.1 [ 131s] [293/394] installing eldbus-1.24.0-155.1 [ 131s] [294/394] installing capi-network-connection-1.0.117-32.1 [ 131s] [295/394] installing ecore-con-1.24.0-155.1 [ 131s] [296/394] installing capi-media-sound-manager-0.6.5-51.1 [ 132s] [297/394] installing pkgmgr-installer-0.12.1-31.1 [ 132s] [298/394] installing pkgmgr-client-0.12.1-31.1 [ 132s] [299/394] installing security-privilege-manager-1.2.1-51.5 [ 133s] mdm blacklist exist [ 133s] Check inserted data [ 133s] DPM blacklist... [ 133s] [ 133s] MDM blacklist... [ 133s] [300/394] installing mused-0.3.110-105.1 [ 134s] [301/394] installing capi-media-sound-manager-devel-0.6.5-51.1 [ 134s] [302/394] installing capi-network-connection-devel-1.0.117-32.1 [ 134s] [303/394] installing ector-1.24.0-155.1 [ 134s] [304/394] installing ecore-file-1.24.0-155.1 [ 134s] [305/394] installing ecore-ipc-1.24.0-155.1 [ 134s] [306/394] installing capi-appfw-package-manager-0.8.5-24.4 [ 135s] [307/394] installing capi-media-audio-io-0.5.27-35.1 [ 135s] [308/394] installing capi-media-player-0.3.130-72.2 [ 135s] [309/394] installing aul-0.24.3-126.2 [ 136s] [310/394] installing security-manager-1.6.2-56.4 [ 137s] Running in chroot, ignoring request: daemon-reload [ 137s] Running in chroot, ignoring request: start [ 137s] [311/394] installing app-svc-0.1.57-6.21 [ 137s] [312/394] installing capi-media-audio-io-devel-0.5.27-35.1 [ 137s] [313/394] installing capi-media-player-devel-0.3.130-72.2 [ 137s] [314/394] installing security-manager-policy-1.6.2-56.4 [ 145s] Running in chroot, ignoring request: stop [ 145s] Running in chroot, ignoring request: start [ 145s] [315/394] installing libsecurity-manager-client-1.6.2-56.4 [ 146s] [316/394] installing capi-appfw-app-manager-0.8.2-16.5 [ 146s] [317/394] installing eeze-1.24.0-155.1 [ 146s] [318/394] installing efreet-1.24.0-155.1 [ 147s] [319/394] installing app-core-common-1.14.6-59.2 [ 147s] [320/394] installing ecore-input-1.24.0-155.1 [ 147s] [321/394] installing capi-appfw-app-common-0.8.3-10.6 [ 147s] [322/394] installing capi-appfw-app-control-0.13.0-32.3 [ 148s] [323/394] installing eio-1.24.0-155.1 [ 148s] [324/394] installing security-license-manager-1.6.2-56.4 [ 149s] Running in chroot, ignoring request: daemon-reload [ 149s] Running in chroot, ignoring request: start [ 149s] [325/394] installing liblbs-location-1.4.7-13.2 [ 149s] [326/394] installing key-manager-0.1.38-25.3 [ 150s] Running in chroot, ignoring request: daemon-reload [ 150s] Running in chroot, ignoring request: start [ 150s] [327/394] installing tts-1.60.3-36.1 [ 150s] [328/394] installing tts-devel-1.60.3-36.1 [ 150s] [329/394] installing ecore-fb-1.24.0-155.1 [ 150s] [330/394] installing libkey-manager-client-0.1.38-25.3 [ 151s] [331/394] installing capi-location-manager-0.8.2-15.5 [ 151s] [332/394] installing ecore-wayland-1.24.0-155.1 [ 151s] [333/394] installing ecore-wl2-1.24.0-155.1 [ 152s] [334/394] installing notification-0.5.72-100.1 [ 152s] [335/394] installing capi-location-manager-devel-0.8.2-15.5 [ 152s] [336/394] installing app-core-multiwindow-1.14.6-59.2 [ 153s] [337/394] installing libscreen_connector_provider-1.6.19-48.1 [ 153s] [338/394] installing app-core-ui-1.14.6-59.2 [ 154s] [339/394] installing cert-svc-2.2.1-15.4 [ 154s] Running in chroot, ignoring request: daemon-reload [ 154s] Running in chroot, ignoring request: start [ 154s] [340/394] installing evas-1.24.0-155.1 [ 155s] [341/394] installing ecore-imf-evas-1.24.0-155.1 [ 155s] [342/394] installing ecore-input-evas-1.24.0-155.1 [ 155s] [343/394] installing appcore-widget-base-1.3.5-26.5 [ 155s] [344/394] installing ecore-evas-1.24.0-155.1 [ 155s] [345/394] installing evas-devel-1.24.0-155.1 [ 155s] [346/394] installing alarm-server-0.12.3-44.1 [ 155s] Running alarm-server %posttrans script [ 155s] [347/394] installing libalarm-0.12.3-44.1 [ 156s] [348/394] installing efl-devel-1.24.0-155.1 [ 156s] [349/394] installing edje-1.24.0-155.1 [ 156s] [350/394] installing libcairo-1.14.2-14.2 [ 157s] [351/394] installing emile-devel-1.24.0-155.1 [ 157s] [352/394] installing emotion-1.24.0-155.1 [ 157s] [353/394] installing capi-system-system-settings-0.0.4-39.1 [ 157s] [354/394] installing edje-tools-1.24.0-155.1 [ 158s] [355/394] installing libcairo-script-interpreter-1.14.2-14.2 [ 158s] [356/394] installing libcairo-gobject-1.14.2-14.2 [ 158s] [357/394] installing eet-devel-1.24.0-155.1 [ 158s] [358/394] installing ecore-con-devel-1.24.0-155.1 [ 158s] [359/394] installing ethumb-1.24.0-155.1 [ 159s] [360/394] installing emotion-devel-1.24.0-155.1 [ 159s] [361/394] installing dali-adaptor-1.5.14-113.2 [ 159s] /usr/lib / [ 159s] / [ 159s] [362/394] installing dali-adaptor-profile_common-1.5.14-113.2 [ 160s] [363/394] installing dali-adaptor-integration-devel-1.5.14-113.2 [ 160s] [364/394] installing dali-toolkit-1.5.14-109.2 [ 160s] [365/394] installing ecore-file-devel-1.24.0-155.1 [ 160s] [366/394] installing ector-devel-1.24.0-155.1 [ 160s] [367/394] installing ethumb-devel-1.24.0-155.1 [ 160s] [368/394] installing elementary-1.24.0-155.1 [ 161s] [369/394] installing dali-toolkit-devel-1.5.14-109.2 [ 161s] [370/394] installing dali-adaptor-devel-1.5.14-113.2 [ 161s] [371/394] installing eeze-devel-1.24.0-155.1 [ 161s] [372/394] installing ecore-input-evas-devel-1.24.0-155.1 [ 161s] [373/394] installing capi-ui-efl-util-0.7.5-18.7 [ 161s] [374/394] installing elementary-devel-1.24.0-155.1 [ 162s] [375/394] installing ecore-input-devel-1.24.0-155.1 [ 162s] [376/394] installing efl-extension-0.1.7-73.2 [ 162s] [377/394] installing efl-extension-devel-0.1.7-73.2 [ 162s] [378/394] installing ecore-evas-devel-1.24.0-155.1 [ 162s] [379/394] installing ecore-wl2-devel-1.24.0-155.1 [ 162s] [380/394] installing ecore-wayland-devel-1.24.0-155.1 [ 162s] [381/394] installing ecore-devel-1.24.0-155.1 [ 162s] [382/394] installing ecore-core-devel-1.24.0-155.1 [ 163s] [383/394] installing embryo-devel-1.24.0-155.1 [ 163s] [384/394] installing ecore-audio-devel-1.24.0-155.1 [ 163s] [385/394] installing ecore-buffer-devel-1.24.0-155.1 [ 163s] [386/394] installing ecore-fb-devel-1.24.0-155.1 [ 163s] [387/394] installing ecore-imf-devel-1.24.0-155.1 [ 163s] [388/394] installing ecore-ipc-devel-1.24.0-155.1 [ 163s] [389/394] installing eldbus-devel-1.24.0-155.1 [ 163s] [390/394] installing cairo-devel-1.14.2-14.2 [ 163s] [391/394] installing ecore-imf-evas-devel-1.24.0-155.1 [ 163s] [392/394] installing efreet-devel-1.24.0-155.1 [ 163s] [393/394] installing eio-devel-1.24.0-155.1 [ 163s] [394/394] installing edje-devel-1.24.0-155.1 [ 163s] removing nis flags from /var/cache/build/root_3/etc/nsswitch.conf... [ 163s] now finalizing build dir... [ 163s] Running build time source services... [ 164s] build target is armv7l-tizen-linux [ 164s] ----------------------------------------------------------------- [ 164s] I have the following modifications for lightweight-web-engine.spec: [ 164s] 23c23 [ 164s] < Release: 1 [ 164s] --- [ 164s] > Release: 69.2 [ 164s] ----------------------------------------------------------------- [ 164s] ----- building lightweight-web-engine.spec (user abuild) [ 164s] ----------------------------------------------------------------- [ 164s] ----------------------------------------------------------------- [ 164s] + exec rpmbuild --define '_srcdefattr (-,root,root)' --nosignature --target=armv7l-tizen-linux --define '_build_create_debug 1' --define 'disturl obs://build.tizen.org/Tizen:Unified/standard/83a238ba681f37b708bddea2b1c0d36d-lightweight-web-engine' -ba /home/abuild/rpmbuild/SOURCES/lightweight-web-engine.spec [ 164s] Building target platforms: armv7l-tizen-linux [ 164s] Building for target armv7l-tizen-linux [ 164s] Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.bszrNW [ 164s] + umask 022 [ 164s] + cd /home/abuild/rpmbuild/BUILD [ 164s] + cd /home/abuild/rpmbuild/BUILD [ 164s] + rm -rf lightweight-web-engine-1.0.0 [ 164s] + /bin/gzip -dc /home/abuild/rpmbuild/SOURCES/lightweight-web-engine-1.0.0.tar.gz [ 164s] + /bin/tar -xf - [ 165s] + STATUS=0 [ 165s] + '[' 0 -ne 0 ']' [ 165s] + cd lightweight-web-engine-1.0.0 [ 165s] + /bin/chmod -Rf a+rX,u+w,g-w,o-w . [ 166s] + exit 0 [ 166s] Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.DUiymW [ 166s] + umask 022 [ 166s] + cd /home/abuild/rpmbuild/BUILD [ 166s] + cd lightweight-web-engine-1.0.0 [ 166s] + [[ arm == \a\a\r\c\h\6\4 ]] [ 166s] + LANG=C [ 166s] + export LANG [ 166s] + unset DISPLAY [ 166s] + 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 --param=ssp-buffer-size=4 -march=armv7-a -mtune=cortex-a8 -mlittle-endian -mfpu=neon -mfloat-abi=softfp -mthumb -Wp,-D__SOFTFP__ -Wl,-O1 -Wl,--hash-style=gnu -Wa,-mimplicit-it=thumb -g' [ 166s] + export CFLAGS [ 166s] + 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 --param=ssp-buffer-size=4 -march=armv7-a -mtune=cortex-a8 -mlittle-endian -mfpu=neon -mfloat-abi=softfp -mthumb -Wp,-D__SOFTFP__ -Wl,-O1 -Wl,--hash-style=gnu -Wa,-mimplicit-it=thumb -g' [ 166s] + export CXXFLAGS [ 166s] + 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 --param=ssp-buffer-size=4 -march=armv7-a -mtune=cortex-a8 -mlittle-endian -mfpu=neon -mfloat-abi=softfp -mthumb -Wp,-D__SOFTFP__ -Wl,-O1 -Wl,--hash-style=gnu -Wa,-mimplicit-it=thumb -g -I%_fmoddir' [ 166s] + export FFLAGS [ 166s] + LDFLAGS= [ 166s] + export LDFLAGS [ 166s] + echo 'Building for: ' all [ 166s] Building for: all [ 166s] + CXXFLAGS+=' -DSTARFISH_TIZEN_MAJOR_VERSION=6 ' [ 166s] + CXXFLAGS+=' -DSTARFISH_TIZEN_VERSION_6_0 ' [ 166s] + rm -f CMakeCache.txt [ 166s] + cmake CMakeLists.txt -DTIZEN_MAJOR_VERSION=6 -DMODE=release -DHOST=tizen -DARCH=arm -DCUSTOM=unified_tv -DBACKEND=dali -DLTO=1 -DTARGETNAME=lightweight-web-engine-dali-plugin.tv -G Ninja [ 166s] -- The C compiler identification is GNU 9.2.0 [ 166s] -- The CXX compiler identification is GNU 9.2.0 [ 166s] -- Check for working C compiler: /bin/cc [ 166s] -- Check for working C compiler: /bin/cc -- works [ 166s] -- Detecting C compiler ABI info [ 166s] -- Detecting C compiler ABI info - done [ 166s] -- Detecting C compile features [ 166s] -- Detecting C compile features - done [ 166s] -- Check for working CXX compiler: /bin/c++ [ 167s] -- Check for working CXX compiler: /bin/c++ -- works [ 167s] -- Detecting CXX compiler ABI info [ 167s] -- Detecting CXX compiler ABI info - done [ 167s] -- Detecting CXX compile features [ 167s] -- Detecting CXX compile features - done [ 167s] -- Found PkgConfig: /bin/pkg-config (found version "0.28") [ 167s] -- Checking for modules 'dlog;libpng;freetype2;fontconfig;harfbuzz;elementary;ecore' [ 168s] -- Found dlog, version 1.0 [ 168s] -- Found libpng, version 1.6.37 [ 168s] -- Found freetype2, version 23.1.17 [ 168s] -- Found fontconfig, version 2.13.1 [ 168s] -- Found harfbuzz, version 2.6.4 [ 168s] -- Found elementary, version 1.24.99 [ 168s] -- Found ecore, version 1.24.99 [ 172s] -- Checking for module 'cairo' [ 172s] -- Found cairo, version 1.14.2 [ 173s] -- Checking for modules 'capi-network-connection;capi-media-player;capi-media-audio-io' [ 173s] -- Found capi-network-connection, version [ 173s] -- Found capi-media-player, version [ 173s] -- Found capi-media-audio-io, version [ 173s] -- Looking for cap_set_flag in cap [ 174s] -- Looking for cap_set_flag in cap - not found [ 174s] -- Checking for module 'dlog' [ 174s] -- Found dlog, version 1.0 [ 174s] -- Starfish [ 174s] -- 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--param=ssp-buffer-size=4-march=armv7-a-mtune=cortex-a8-mlittle-endian-mfpu=neon-mfloat-abi=softfp-mthumb-Wp,-D__SOFTFP__-Wl,-O1-Wl,--hash-style=gnu-Wa,-mimplicit-it=thumb-g-DSTARFISH_TIZEN_MAJOR_VERSION=6-DSTARFISH_TIZEN_VERSION_6_0 [ 174s] -- LIBRARIES: clipperescargotmp4parsewebmskia_matrix/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/out_tizen/unified_tv/release/lib/libtuv.sopthreadcurlsslcryptojpeggif-Llib/tizendali-coredali-adaptordali-toolkitrtdlcapi-location-manager-Wl,-soname,liblightweight-web-engine-dali-plugin.so.1websocketsdlogpng16zfontconfigfreetypeharfbuzzelementaryecore_evasecore_fileecore_imfecore_inputecore_conedjeevasectorluameldbusethumb_clientethumbemotionefreeteioeetemileecoreefleoeinapthreadmrtdlcairocapi-network-connectioncapi-media-playercapi-media-tooltbmcapi-media-audio-iocapi-media-sound-managercapi-base-common [ 174s] -- 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 [ 174s] -- LDFLAGS: -Wl,--gc-sections-Wl,-rpath=/usr/local/lib-flto [ 174s] -- 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/freetype2/usr/include/libpng16/usr/include/fribidi/usr/include/harfbuzz/usr/include/ector-1/usr/include/eeze-1/usr/include/libmount/usr/include/blkid/usr/include/efreet-1/usr/include/eio-1/usr/include/efreet-1/usr/include/ecore-file-1/usr/include/ecore-ipc-1/usr/include/ecore-con-1/usr/include/eldbus-1/usr/include/dbus-1.0/usr/lib/dbus-1.0/include/usr/include/eet-1/usr/include/emile-1/usr/include/ecore-1/usr/include/glib-2.0/usr/lib/glib-2.0/include/usr/include/efl-1/usr/include/efl-1/interfaces/usr/include/eo-1/usr/include/eina-1/usr/include/eina-1/eina/usr/include/dlog/usr/include/cairo/usr/include/pixman-1/usr/include/ecore-evas-1/usr/include/ecore-input-evas-1/usr/include/ecore-input-1/usr/include/eeze-1/usr/include/libmount/usr/include/blkid/usr/include/ecore-file-1/usr/include/ecore-con-1/usr/include/eldbus-1/usr/include/dbus-1.0/usr/lib/dbus-1.0/include/usr/include/evas-1/usr/include/evas-1/canvas/usr/include/evas-1/gesture/usr/include/uuid/usr/include/freetype2/usr/include/fribidi/usr/include/harfbuzz/usr/include/ecore-1/usr/include/glib-2.0/usr/lib/glib-2.0/include/usr/include/ector-1/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/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/arm/release/include [ 174s] -- Configuring done [ 175s] -- Generating done [ 175s] -- Build files have been written to: /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0 [ 175s] + ninja starfish.shared_library [ 175s] [1/1126] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkMallocPixelRef.cpp.o [ 175s] [2/1126] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/ports/SkDebug_stdio.cpp.o [ 175s] [3/1126] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/ports/SkMemory_malloc.cpp.o [ 176s] [4/1126] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkUtils.cpp.o [ 176s] [5/1126] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkMath.cpp.o [ 176s] [6/1126] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkPoint.cpp.o [ 176s] [7/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.MEHD.cpp.o [ 176s] [8/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.MFRO.cpp.o [ 176s] [9/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.Atom.cpp.o [ 176s] [10/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.IPMC.cpp.o [ 176s] [11/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.PDIN.cpp.o [ 176s] [12/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.SCHI.cpp.o [ 176s] [13/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.PITM.cpp.o [ 176s] [14/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.MDHD.cpp.o [ 176s] [15/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.PADB.cpp.o [ 176s] [16/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.IINF.cpp.o [ 176s] [17/1126] Building CXX object CMakeFiles/webm.dir/third_party/webm/webvtt/webvttparser.cc.o [ 176s] [18/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.MVHD.cpp.o [ 176s] [19/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.MDAT.cpp.o [ 176s] [20/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.CO64.cpp.o [ 176s] [21/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.MP4A.cpp.o [ 176s] [22/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.CPRT.cpp.o [ 176s] [23/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.FREE.cpp.o [ 176s] [24/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.SBGP.cpp.o [ 176s] [25/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.HDLR.cpp.o [ 176s] [26/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.IMIF.cpp.o [ 176s] [27/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.MFHD.cpp.o [ 176s] [28/1126] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkStringUtils.cpp.o [ 176s] [29/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.ELST.cpp.o [ 176s] In file included from /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/vector:72, [ 176s] from third_party/MP4Parse/source/include/stl.h:41, [ 176s] from third_party/MP4Parse/source/include/mp4.h:37, [ 176s] from third_party/MP4Parse/source/include/MP4.ELST.h:35, [ 176s] from third_party/MP4Parse/source/MP4.ELST.cpp:32: [ 176s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {long long unsigned int&, long long int&}; _Tp = MP4::ELST::EditEntry; _Alloc = std::allocator]': [ 176s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/vector.tcc:426:7: note: parameter passing for argument of type 'std::vector::iterator' {aka '__gnu_cxx::__normal_iterator >'} changed in GCC 7.1 [ 176s] 426 | vector<_Tp, _Alloc>:: [ 176s] | ^~~~~~~~~~~~~~~~~~~ [ 176s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {long long unsigned int&, long long int&}; _Tp = MP4::ELST::EditEntry; _Alloc = std::allocator]': [ 176s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/vector.tcc:121:4: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 176s] 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); [ 176s] | ^~~~~~~~~~~~~~~~~ [ 176s] [30/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STCO.cpp.o [ 176s] [31/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.SCHM.cpp.o [ 176s] [32/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.DREF.cpp.o [ 176s] [33/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.SDTP.cpp.o [ 176s] [34/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.Parser.cpp.o [ 176s] [35/1126] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkMatrix44.cpp.o [ 177s] [36/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.BinaryStream.cpp.o [ 177s] [37/1126] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkRect.cpp.o [ 177s] [38/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.SGPD.cpp.o [ 177s] [39/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STDP.cpp.o [ 177s] [40/1126] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkString.cpp.o [ 177s] [41/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.SMHD.cpp.o [ 177s] [42/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.File.cpp.o [ 177s] [43/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.ILOC.cpp.o [ 177s] [44/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STSH.cpp.o [ 177s] [45/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.HMHD.cpp.o [ 177s] [46/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.BXML.cpp.o [ 177s] [47/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.FullBox.cpp.o [ 177s] [48/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.DataAtom.cpp.o [ 177s] [49/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STSZ.cpp.o [ 177s] [50/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.FRMA.cpp.o [ 177s] [51/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STSS.cpp.o [ 177s] [52/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.CTTS.cpp.o [ 177s] [53/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.ContainerAtom.cpp.o [ 177s] [54/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STSC.cpp.o [ 177s] [55/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STSD.cpp.o [ 177s] [56/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.TFDT.cpp.o [ 177s] [57/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.TFHD.cpp.o [ 177s] [58/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.SUBS.cpp.o [ 177s] [59/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.FTYP.cpp.o [ 177s] [60/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STTS.cpp.o [ 177s] [61/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.ESDS.cpp.o [ 177s] [62/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STZ2.cpp.o [ 177s] [63/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Environment.cpp.o [ 177s] [64/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.TREX.cpp.o [ 177s] [65/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.TREF.cpp.o [ 177s] [66/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.AVCC.cpp.o [ 177s] [67/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.TFRA.cpp.o [ 177s] [68/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.XML.cpp.o [ 177s] [69/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.UDTA.cpp.o [ 177s] [70/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.TKHD.cpp.o [ 177s] [71/1126] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkMatrix.cpp.o [ 178s] [72/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.TRUN.cpp.o [ 178s] [73/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.VMHD.cpp.o [ 178s] [74/1126] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.UnknownAtom.cpp.o [ 178s] [75/1126] Linking CXX shared library out_tizen/unified_tv/release/lib/libskia_matrix.so [ 178s] [76/1126] Linking CXX shared library out_tizen/unified_tv/release/lib/libmp4parse.so [ 178s] [77/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/heap/Heap.cpp.o [ 178s] [78/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/debugger/DebuggerTcp.cpp.o [ 179s] [79/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/heap/LeakCheckerBridge.cpp.o [ 179s] [80/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/debugger/DebuggerSha1.cpp.o [ 179s] [81/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/BooleanObject.cpp.o [ 179s] [82/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/BoundFunctionObject.cpp.o [ 179s] [83/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/AsyncFromSyncIteratorObject.cpp.o [ 180s] [84/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinGeneratorFunction.cpp.o [ 180s] [85/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ArrayBufferObject.cpp.o [ 180s] [86/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/AtomicString.cpp.o [ 180s] [87/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/ASTAllocator.cpp.o [ 180s] [88/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinArrayBuffer.cpp.o [ 180s] [89/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/debugger/Debugger.cpp.o [ 180s] [90/1126] Building CXX object CMakeFiles/webm.dir/third_party/webm/mkvparser/mkvparser.cc.o [ 180s] [91/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/heap/CustomAllocator.cpp.o [ 180s] [92/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/ast/Node.cpp.o [ 180s] [93/1126] Linking CXX shared library out_tizen/unified_tv/release/lib/libwebm.so [ 180s] [94/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Context.cpp.o [ 180s] [95/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/AsyncGeneratorObject.cpp.o [ 180s] [96/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/CompressibleString.cpp.o [ 181s] [97/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ErrorObject.cpp.o [ 181s] [98/1126] BUILD TUV [ 181s] rm -rf build [ 181s] mkdir -p ./build/noarch-tizen/release/cmake [ 181s] 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 [ 181s] -- The C compiler identification is GNU 9.2.0 [ 181s] -- Check for working C compiler: /bin/cc [ 181s] -- Check for working C compiler: /bin/cc -- works [ 181s] -- Detecting C compiler ABI info [ 181s] -- Detecting C compiler ABI info - done [ 181s] -- Detecting C compile features [ 181s] -- Detecting C compile features - done [ 181s] -- Build Type: [release] [ 181s] -- Configuring done [ 181s] -- Generating done [ 181s] -- Build files have been written to: /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/build/noarch-tizen/release/cmake [ 181s] make -C ./build/noarch-tizen/release/cmake [ 181s] make[1]: Entering directory '/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/build/noarch-tizen/release/cmake' [ 181s] make[2]: Entering directory '/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/build/noarch-tizen/release/cmake' [ 181s] make[3]: Entering directory '/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/build/noarch-tizen/release/cmake' [ 181s] make[3]: Entering directory '/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/build/noarch-tizen/release/cmake' [ 181s] Scanning dependencies of target tuv_shared [ 181s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/build/noarch-tizen/release/cmake' [ 181s] Scanning dependencies of target tuv [ 181s] make[3]: Entering directory '/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/build/noarch-tizen/release/cmake' [ 181s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/build/noarch-tizen/release/cmake' [ 181s] [ 2%] Building C object CMakeFiles/tuv_shared.dir/src/unix/loop-watcher.c.o [ 181s] [ 4%] Building C object CMakeFiles/tuv_shared.dir/src/threadpool.c.o [ 181s] [ 6%] Building C object CMakeFiles/tuv_shared.dir/src/tuv_debuglog.c.o [ 181s] [ 8%] Building C object CMakeFiles/tuv_shared.dir/src/unix/getaddrinfo.c.o [ 181s] [ 10%] Building C object CMakeFiles/tuv_shared.dir/src/unix/fs.c.o [ 181s] make[3]: Entering directory '/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/build/noarch-tizen/release/cmake' [ 181s] [ 13%] Building C object CMakeFiles/tuv_shared.dir/src/unix/core.c.o [ 181s] [ 15%] Building C object CMakeFiles/tuv_shared.dir/src/unix/timer.c.o [ 181s] [ 17%] Building C object CMakeFiles/tuv_shared.dir/src/unix/udp.c.o [ 181s] [ 21%] Building C object CMakeFiles/tuv_shared.dir/src/unix/signal.c.o [ 181s] [ 21%] Building C object CMakeFiles/tuv_shared.dir/src/uv-common.c.o [ 181s] [ 23%] Building C object CMakeFiles/tuv_shared.dir/src/inet.c.o [ 181s] [ 26%] Building C object CMakeFiles/tuv_shared.dir/src/unix/loop.c.o [ 181s] [ 28%] Building C object CMakeFiles/tuv_shared.dir/src/unix/async.c.o [ 181s] [ 30%] Building C object CMakeFiles/tuv_shared.dir/src/unix/pipe.c.o [ 181s] [ 32%] Building C object CMakeFiles/tuv_shared.dir/src/fs-poll.c.o [ 181s] [ 34%] Building C object CMakeFiles/tuv_shared.dir/src/unix/stream.c.o [ 181s] [ 36%] Building C object CMakeFiles/tuv_shared.dir/src/unix/linux-core.c.o [ 181s] [ 39%] Building C object CMakeFiles/tuv_shared.dir/src/unix/linux-syscalls.c.o [ 181s] [ 41%] Building C object CMakeFiles/tuv_shared.dir/src/unix/tcp.c.o [ 181s] [ 43%] Building C object CMakeFiles/tuv.dir/src/uv-common.c.o [ 181s] [ 45%] Building C object CMakeFiles/tuv_shared.dir/src/unix/process.c.o [ 181s] [ 47%] Building C object CMakeFiles/tuv.dir/src/unix/async.c.o [ 181s] [ 50%] Building C object CMakeFiles/tuv_shared.dir/src/unix/poll.c.o [ 181s] [ 52%] Building C object CMakeFiles/tuv.dir/src/inet.c.o [ 181s] [ 54%] Building C object CMakeFiles/tuv_shared.dir/src/unix/thread.c.o [ 181s] [ 56%] Building C object CMakeFiles/tuv.dir/src/unix/fs.c.o [ 181s] [ 58%] Building C object CMakeFiles/tuv.dir/src/unix/timer.c.o [ 181s] [ 63%] Building C object CMakeFiles/tuv.dir/src/unix/poll.c.o [ 181s] [ 63%] Building C object CMakeFiles/tuv.dir/src/fs-poll.c.o [ 181s] [ 65%] Building C object CMakeFiles/tuv.dir/src/unix/tcp.c.o [ 181s] [ 67%] Building C object CMakeFiles/tuv.dir/src/unix/pipe.c.o [ 181s] [ 69%] Building C object CMakeFiles/tuv.dir/src/threadpool.c.o [ 181s] [ 71%] Building C object CMakeFiles/tuv.dir/src/unix/process.c.o [ 181s] [ 73%] Building C object CMakeFiles/tuv.dir/src/unix/loop.c.o [ 181s] [ 78%] Building C object CMakeFiles/tuv.dir/src/tuv_debuglog.c.o [ 181s] [ 78%] Building C object CMakeFiles/tuv.dir/src/unix/thread.c.o [ 181s] [ 80%] Building C object CMakeFiles/tuv.dir/src/unix/getaddrinfo.c.o [ 181s] [ 82%] Building C object CMakeFiles/tuv.dir/src/unix/stream.c.o [ 181s] [ 84%] Building C object CMakeFiles/tuv.dir/src/unix/udp.c.o [ 181s] [ 86%] Building C object CMakeFiles/tuv.dir/src/unix/loop-watcher.c.o [ 181s] [ 89%] Building C object CMakeFiles/tuv.dir/src/unix/signal.c.o [ 181s] [ 91%] Building C object CMakeFiles/tuv.dir/src/unix/linux-syscalls.c.o [ 181s] [ 93%] Building C object CMakeFiles/tuv.dir/src/unix/linux-core.c.o [ 181s] [ 95%] Building C object CMakeFiles/tuv.dir/src/unix/core.c.o [ 181s] [ 97%] Linking C shared library ../lib/libtuv.so [ 181s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/build/noarch-tizen/release/cmake' [ 181s] [ 97%] Built target tuv_shared [ 181s] [100%] Linking C static library ../lib/libtuv.a [ 181s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/build/noarch-tizen/release/cmake' [ 181s] [100%] Built target tuv [ 181s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/build/noarch-tizen/release/cmake' [ 181s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/build/noarch-tizen/release/cmake' [ 181s] [99/1126] COPY TUV [ 181s] [100/1126] cd /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0 && echo TUV\ TARGET [ 181s] TUV TARGET [ 181s] [101/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ExecutionPauser.cpp.o [ 181s] [102/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/EnumerateObject.cpp.o [ 181s] In file included from /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/vector:67, [ 181s] from third_party/escargot/src/Escargot.h:208, [ 181s] from third_party/escargot/src/runtime/EnumerateObject.cpp:20: [ 181s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_vector.h: In static member function 'static bool Escargot::EnumerateObjectWithDestruction::executeEnumeration(Escargot::ExecutionState&, Escargot::SmallValueVector&)::::_FUN(Escargot::ExecutionState&, Escargot::Object*, const Escargot::ObjectPropertyName&, const Escargot::ObjectStructurePropertyDescriptor&, void*)': [ 181s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_vector.h:1195:4: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 181s] 1195 | _M_realloc_insert(end(), __x); [ 181s] | ^~~~~~~~~~~~~~~~~ [ 181s] third_party/escargot/src/runtime/EnumerateObject.cpp:142:5: note: parameter passing for argument of type 'std::vector::iterator' {aka '__gnu_cxx::__normal_iterator >'} changed in GCC 7.1 [ 181s] 142 | }, [ 181s] | ^ [ 181s] In file included from /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/algorithm:62, [ 181s] from third_party/escargot/src/Escargot.h:187, [ 181s] from third_party/escargot/src/runtime/EnumerateObject.cpp:20: [ 181s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h: In member function 'virtual void Escargot::EnumerateObjectWithDestruction::executeEnumeration(Escargot::ExecutionState&, Escargot::SmallValueVector&)': [ 181s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:1967:25: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 181s] 1967 | std::__introsort_loop(__first, __last, [ 181s] | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ [ 181s] 1968 | std::__lg(__last - __first) * 2, [ 181s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 181s] 1969 | __comp); [ 181s] | ~~~~~~~ [ 181s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:1970:31: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 181s] 1970 | std::__final_insertion_sort(__first, __last, __comp); [ 181s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ [ 181s] In file included from /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/vector:67, [ 181s] from third_party/escargot/src/Escargot.h:208, [ 181s] from third_party/escargot/src/runtime/EnumerateObject.cpp:20: [ 181s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_vector.h: In static member function 'static bool Escargot::EnumerateObjectWithIteration::executeEnumeration(Escargot::ExecutionState&, Escargot::SmallValueVector&)::::_FUN(Escargot::ExecutionState&, Escargot::Object*, const Escargot::ObjectPropertyName&, const Escargot::ObjectStructurePropertyDescriptor&, void*)': [ 181s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_vector.h:1195:4: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 181s] 1195 | _M_realloc_insert(end(), __x); [ 181s] | ^~~~~~~~~~~~~~~~~ [ 181s] In file included from /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/algorithm:62, [ 181s] from third_party/escargot/src/Escargot.h:187, [ 181s] from third_party/escargot/src/runtime/EnumerateObject.cpp:20: [ 181s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h: In member function 'virtual void Escargot::EnumerateObjectWithIteration::executeEnumeration(Escargot::ExecutionState&, Escargot::SmallValueVector&)': [ 181s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:1967:25: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 181s] 1967 | std::__introsort_loop(__first, __last, [ 181s] | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ [ 181s] 1968 | std::__lg(__last - __first) * 2, [ 181s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 181s] 1969 | __comp); [ 181s] | ~~~~~~~ [ 181s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:1970:31: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 181s] 1970 | std::__final_insertion_sort(__first, __last, __comp); [ 181s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ [ 181s] In file included from /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/vector:72, [ 181s] from third_party/escargot/src/Escargot.h:208, [ 181s] from third_party/escargot/src/runtime/EnumerateObject.cpp:20: [ 181s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {const long long unsigned int&}; _Tp = long long unsigned int; _Alloc = std::allocator]': [ 181s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/vector.tcc:426:7: note: parameter passing for argument of type 'std::vector::iterator' {aka '__gnu_cxx::__normal_iterator >'} changed in GCC 7.1 [ 181s] 426 | vector<_Tp, _Alloc>:: [ 181s] | ^~~~~~~~~~~~~~~~~~~ [ 181s] In file included from /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/algorithm:62, [ 181s] from third_party/escargot/src/Escargot.h:187, [ 181s] from third_party/escargot/src/runtime/EnumerateObject.cpp:20: [ 181s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h: In function 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter >]': [ 181s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:1939:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 181s] 1939 | __introsort_loop(_RandomAccessIterator __first, [ 181s] | ^~~~~~~~~~~~~~~~ [ 181s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:1939:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 181s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:1953:25: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 181s] 1953 | std::__introsort_loop(__cut, __last, __depth_limit, __comp); [ 181s] | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 181s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h: In function 'void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter >]': [ 181s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:1879:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 181s] 1879 | __final_insertion_sort(_RandomAccessIterator __first, [ 181s] | ^~~~~~~~~~~~~~~~~~~~~~ [ 181s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:1879:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 181s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:1884:25: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 181s] 1884 | std::__insertion_sort(__first, __first + int(_S_threshold), __comp); [ 181s] | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 181s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:1889:23: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 181s] 1889 | std::__insertion_sort(__first, __last, __comp); [ 181s] | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ [ 181s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h: In function 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter >]': [ 181s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:1839:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 181s] 1839 | __insertion_sort(_RandomAccessIterator __first, [ 181s] | ^~~~~~~~~~~~~~~~ [ 181s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:1839:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 181s] In file included from /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:61, [ 181s] from /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/algorithm:62, [ 181s] from third_party/escargot/src/Escargot.h:187, [ 181s] from third_party/escargot/src/runtime/EnumerateObject.cpp:20: [ 181s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_heap.h: In function 'void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Distance = int; _Tp = long long unsigned int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter >]': [ 181s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_heap.h:214:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 181s] 214 | __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex, [ 181s] | ^~~~~~~~~~~~~ [ 181s] [103/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ArrayObject.cpp.o [ 181s] [104/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ArgumentsObject.cpp.o [ 181s] [105/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ExecutionState.cpp.o [ 181s] [106/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/DateObject.cpp.o [ 182s] [107/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/CodeBlock.cpp.o [ 182s] [108/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinBoolean.cpp.o [ 182s] [109/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/FunctionObject.cpp.o [ 182s] [110/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GeneratorObject.cpp.o [ 182s] [111/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/ScriptParser.cpp.o [ 182s] [112/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinAsyncIterator.cpp.o [ 182s] [113/1126] Building CXX object CMakeFiles/clipper.dir/third_party/clipper/cpp/clipper.cpp.o [ 182s] In file included from /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/vector:72, [ 182s] from third_party/clipper/cpp/clipper.hpp:52, [ 182s] from third_party/clipper/cpp/clipper.cpp:41: [ 182s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {const ClipperLib::IntPoint&}; _Tp = ClipperLib::IntPoint; _Alloc = std::allocator]': [ 182s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/vector.tcc:426:7: note: parameter passing for argument of type 'std::vector::iterator' {aka '__gnu_cxx::__normal_iterator >'} changed in GCC 7.1 [ 182s] 426 | vector<_Tp, _Alloc>:: [ 182s] | ^~~~~~~~~~~~~~~~~~~ [ 182s] In file included from /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/vector:67, [ 182s] from third_party/clipper/cpp/clipper.hpp:52, [ 182s] from third_party/clipper/cpp/clipper.cpp:41: [ 182s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_vector.h: In member function 'void ClipperLib::ClipperOffset::AddPath(const Path&, ClipperLib::JoinType, ClipperLib::EndType)': [ 182s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_vector.h:1195:4: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 182s] 1195 | _M_realloc_insert(end(), __x); [ 182s] | ^~~~~~~~~~~~~~~~~ [ 182s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_vector.h:1195:4: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 182s] 1195 | _M_realloc_insert(end(), __x); [ 182s] | ^~~~~~~~~~~~~~~~~ [ 182s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_vector.h: In member function 'void ClipperLib::Clipper::BuildResult(ClipperLib::Paths&)': [ 182s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_vector.h:1195:4: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 182s] 1195 | _M_realloc_insert(end(), __x); [ 182s] | ^~~~~~~~~~~~~~~~~ [ 182s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_vector.h: In member function 'void ClipperLib::Clipper::BuildResult2(ClipperLib::PolyTree&)': [ 182s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_vector.h:1195:4: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 182s] 1195 | _M_realloc_insert(end(), __x); [ 182s] | ^~~~~~~~~~~~~~~~~ [ 182s] In file included from /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/vector:72, [ 182s] from third_party/clipper/cpp/clipper.hpp:52, [ 182s] from third_party/clipper/cpp/clipper.cpp:41: [ 182s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {const long long int&}; _Tp = long long int; _Alloc = std::allocator]': [ 182s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/vector.tcc:426:7: note: parameter passing for argument of type 'std::vector >::iterator' {aka '__gnu_cxx::__normal_iterator > >'} changed in GCC 7.1 [ 182s] 426 | vector<_Tp, _Alloc>:: [ 182s] | ^~~~~~~~~~~~~~~~~~~ [ 182s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/vector.tcc:426:7: note: parameter passing for argument of type 'std::vector >::iterator' {aka '__gnu_cxx::__normal_iterator > >'} changed in GCC 7.1 [ 182s] In file included from /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/vector:67, [ 182s] from third_party/clipper/cpp/clipper.hpp:52, [ 182s] from third_party/clipper/cpp/clipper.cpp:41: [ 182s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_vector.h: In member function 'void ClipperLib::Clipper::InsertScanbeam(ClipperLib::cInt)': [ 182s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_vector.h:1195:4: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator > >' changed in GCC 7.1 [ 182s] 1195 | _M_realloc_insert(end(), __x); [ 182s] | ^~~~~~~~~~~~~~~~~ [ 182s] In file included from /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/vector:72, [ 182s] from third_party/clipper/cpp/clipper.hpp:52, [ 182s] from third_party/clipper/cpp/clipper.cpp:41: [ 182s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {ClipperLib::IntPoint}; _Tp = ClipperLib::IntPoint; _Alloc = std::allocator]': [ 182s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/vector.tcc:426:7: note: parameter passing for argument of type 'std::vector::iterator' {aka '__gnu_cxx::__normal_iterator >'} changed in GCC 7.1 [ 182s] 426 | vector<_Tp, _Alloc>:: [ 182s] | ^~~~~~~~~~~~~~~~~~~ [ 182s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/vector.tcc:426:7: note: parameter passing for argument of type 'std::vector::iterator' {aka '__gnu_cxx::__normal_iterator >'} changed in GCC 7.1 [ 182s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {ClipperLib::IntPoint}; _Tp = ClipperLib::IntPoint; _Alloc = std::allocator]': [ 182s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/vector.tcc:121:4: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 182s] 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); [ 182s] | ^~~~~~~~~~~~~~~~~ [ 182s] In file included from /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/vector:67, [ 182s] from third_party/clipper/cpp/clipper.hpp:52, [ 182s] from third_party/clipper/cpp/clipper.cpp:41: [ 182s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_vector.h: In member function 'void ClipperLib::ClipperOffset::OffsetPoint(int, int&, ClipperLib::JoinType)': [ 182s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_vector.h:1195:4: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 182s] 1195 | _M_realloc_insert(end(), __x); [ 182s] | ^~~~~~~~~~~~~~~~~ [ 182s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_vector.h: In function 'void ClipperLib::Minkowski(const Path&, const Path&, ClipperLib::Paths&, bool, bool)': [ 182s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_vector.h:1195:4: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 182s] 1195 | _M_realloc_insert(end(), __x); [ 182s] | ^~~~~~~~~~~~~~~~~ [ 182s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_vector.h:1195:4: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 182s] 1195 | _M_realloc_insert(end(), __x); [ 182s] | ^~~~~~~~~~~~~~~~~ [ 182s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_vector.h:1195:4: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 182s] 1195 | _M_realloc_insert(end(), __x); [ 182s] | ^~~~~~~~~~~~~~~~~ [ 182s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_vector.h:1195:4: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 182s] 1195 | _M_realloc_insert(end(), __x); [ 182s] | ^~~~~~~~~~~~~~~~~ [ 182s] In file included from /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/vector:72, [ 182s] from third_party/clipper/cpp/clipper.hpp:52, [ 182s] from third_party/clipper/cpp/clipper.cpp:41: [ 182s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {ClipperLib::DoublePoint}; _Tp = ClipperLib::DoublePoint; _Alloc = std::allocator]': [ 182s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/vector.tcc:426:7: note: parameter passing for argument of type 'std::vector::iterator' {aka '__gnu_cxx::__normal_iterator >'} changed in GCC 7.1 [ 182s] 426 | vector<_Tp, _Alloc>:: [ 182s] | ^~~~~~~~~~~~~~~~~~~ [ 182s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {ClipperLib::DoublePoint}; _Tp = ClipperLib::DoublePoint; _Alloc = std::allocator]': [ 182s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/vector.tcc:121:4: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 182s] 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); [ 182s] | ^~~~~~~~~~~~~~~~~ [ 182s] In file included from /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/vector:67, [ 182s] from third_party/clipper/cpp/clipper.hpp:52, [ 182s] from third_party/clipper/cpp/clipper.cpp:41: [ 182s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_vector.h: In member function 'void ClipperLib::ClipperOffset::DoOffset(double)': [ 182s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_vector.h:1195:4: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 182s] 1195 | _M_realloc_insert(end(), __x); [ 182s] | ^~~~~~~~~~~~~~~~~ [ 182s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_vector.h:1195:4: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 182s] 1195 | _M_realloc_insert(end(), __x); [ 182s] | ^~~~~~~~~~~~~~~~~ [ 182s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_vector.h:1195:4: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 182s] 1195 | _M_realloc_insert(end(), __x); [ 182s] | ^~~~~~~~~~~~~~~~~ [ 182s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_vector.h:1195:4: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 182s] 1195 | _M_realloc_insert(end(), __x); [ 182s] | ^~~~~~~~~~~~~~~~~ [ 182s] In file included from /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/queue:62, [ 182s] from third_party/clipper/cpp/clipper.hpp:59, [ 182s] from third_party/clipper/cpp/clipper.cpp:41: [ 182s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_heap.h: In function 'void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator > >; _Distance = int; _Tp = long long int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter >]': [ 182s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_heap.h:214:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator > >' changed in GCC 7.1 [ 182s] 214 | __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex, [ 182s] | ^~~~~~~~~~~~~ [ 183s] [114/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinAsyncFromSyncIterator.cpp.o [ 183s] [115/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinIterator.cpp.o [ 183s] [116/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/Script.cpp.o [ 183s] [117/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/bignum.cc.o [ 183s] [118/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinAsyncGeneratorFunction.cpp.o [ 183s] [119/1126] Linking CXX shared library out_tizen/unified_tv/release/lib/libclipper.so [ 183s] [120/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinAsyncFunction.cpp.o [ 183s] [121/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/EnvironmentRecord.cpp.o [ 183s] [122/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/Lexer.cpp.o [ 183s] [123/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinNumber.cpp.o [ 183s] [124/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinFunction.cpp.o [ 183s] [125/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinError.cpp.o [ 183s] [126/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinMap.cpp.o [ 184s] [127/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinProxy.cpp.o [ 184s] [128/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObject.cpp.o [ 184s] [129/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinReflect.cpp.o [ 184s] [130/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinSet.cpp.o [ 184s] [131/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/interpreter/ByteCode.cpp.o [ 184s] [132/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinSymbol.cpp.o [ 184s] [133/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinPromise.cpp.o [ 184s] [134/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ObjectStructurePropertyDescriptor.cpp.o [ 185s] [135/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinDate.cpp.o [ 185s] [136/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinWeakMap.cpp.o [ 185s] [137/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectProxyObject.cpp.o [ 185s] [138/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinMath.cpp.o [ 185s] [139/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinWeakSet.cpp.o [ 185s] [140/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinDataView.cpp.o [ 185s] [141/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/IEEE754.cpp.o [ 185s] third_party/escargot/src/runtime/IEEE754.cpp: In function 'double Escargot::ieee754::ceil(double)': [ 185s] third_party/escargot/src/runtime/IEEE754.cpp:86:18: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] [ 185s] 86 | #define __LO(x) *(int *)&x [ 185s] | ^~~~~~~~~ [ 185s] 87 | #define __HIp(x) *(1 + (int *)x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 88 | #define __LOp(x) *(int *)x [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 89 | [ 185s] | [ 185s] 90 | #else [ 185s] | ~~~~~ [ 185s] 91 | [ 185s] | [ 185s] 92 | typedef union { [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 93 | double value; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 94 | struct { [ 185s] | ~~~~~~~~ [ 185s] 95 | uint32_t msw; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 96 | uint32_t lsw; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 97 | } parts; [ 185s] | ~~~~~~~~ [ 185s] 98 | struct { [ 185s] | ~~~~~~~~ [ 185s] 99 | uint64_t w; [ 185s] | ~~~~~~~~~~~ [ 185s] 100 | } xparts; [ 185s] | ~~~~~~~~~ [ 185s] 101 | } ieee_double_shape_type; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 102 | [ 185s] | [ 185s] 103 | #define __HI(x) *(int *)&x [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 104 | #define __LO(x) *(1 + (int *)&x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 105 | #define __HIp(x) *(int *)x [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 106 | #define __LOp(x) *(1 + (int *)x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 107 | [ 185s] | [ 185s] 108 | #endif [ 185s] | ~~~~~~ [ 185s] 109 | [ 185s] | [ 185s] 110 | /* Get two 32 bit ints from a double. */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 111 | [ 185s] | [ 185s] 112 | #define EXTRACT_WORDS(ix0, ix1, d) \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 113 | do { \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 114 | ieee_double_shape_type ew_u; \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 115 | ew_u.value = (d); \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 116 | (ix0) = ew_u.parts.msw; \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 117 | (ix1) = ew_u.parts.lsw; \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 118 | } while (0) [ 185s] | ~~~~~~~~~~~ [ 185s] 119 | [ 185s] | [ 185s] 120 | /* Get a 64-bit int from a double. */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 121 | #define EXTRACT_WORD64(ix, d) \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 122 | do { \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 123 | ieee_double_shape_type ew_u; \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 124 | ew_u.value = (d); \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 125 | (ix) = ew_u.xparts.w; \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 126 | } while (0) [ 185s] | ~~~~~~~~~~~ [ 185s] 127 | [ 185s] | [ 185s] 128 | /* Get the more significant 32 bit int from a double. */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 129 | [ 185s] | [ 185s] 130 | #define GET_HIGH_WORD(i, d) \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 131 | do { \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 132 | ieee_double_shape_type gh_u; \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 133 | gh_u.value = (d); \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 134 | (i) = gh_u.parts.msw; \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 135 | } while (0) [ 185s] | ~~~~~~~~~~~ [ 185s] 136 | [ 185s] | [ 185s] 137 | /* Get the less significant 32 bit int from a double. */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 138 | [ 185s] | [ 185s] 139 | #define GET_LOW_WORD(i, d) \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 140 | do { \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 141 | ieee_double_shape_type gl_u; \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 142 | gl_u.value = (d); \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 143 | (i) = gl_u.parts.lsw; \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 144 | } while (0) [ 185s] | ~~~~~~~~~~~ [ 185s] 145 | [ 185s] | [ 185s] 146 | /* Set a double from two 32 bit ints. */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 147 | [ 185s] | [ 185s] 148 | #define INSERT_WORDS(d, ix0, ix1) \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 149 | do { \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 150 | ieee_double_shape_type iw_u; \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 151 | iw_u.parts.msw = (ix0); \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 152 | iw_u.parts.lsw = (ix1); \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 153 | (d) = iw_u.value; \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 154 | } while (0) [ 185s] | ~~~~~~~~~~~ [ 185s] 155 | [ 185s] | [ 185s] 156 | /* Set a double from a 64-bit int. */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 157 | #define INSERT_WORD64(d, ix) \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 158 | do { \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 159 | ieee_double_shape_type iw_u; \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 160 | iw_u.xparts.w = (ix); \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 161 | (d) = iw_u.value; \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 162 | } while (0) [ 185s] | ~~~~~~~~~~~ [ 185s] 163 | [ 185s] | [ 185s] 164 | /* Set the more significant 32 bits of a double from an int. */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 165 | [ 185s] | [ 185s] 166 | #define SET_HIGH_WORD(d, v) \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 167 | do { \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 168 | ieee_double_shape_type sh_u; \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 169 | sh_u.value = (d); \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 170 | sh_u.parts.msw = (v); \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 171 | (d) = sh_u.value; \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 172 | } while (0) [ 185s] | ~~~~~~~~~~~ [ 185s] 173 | [ 185s] | [ 185s] 174 | /* Set the less significant 32 bits of a double from an int. */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 175 | [ 185s] | [ 185s] 176 | #define SET_LOW_WORD(d, v) \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 177 | do { \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 178 | ieee_double_shape_type sl_u; \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 179 | sl_u.value = (d); \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 180 | sl_u.parts.lsw = (v); \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 181 | (d) = sl_u.value; \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 182 | } while (0) [ 185s] | ~~~~~~~~~~~ [ 185s] 183 | [ 185s] | [ 185s] 184 | /* Support macro. */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 185 | [ 185s] | [ 185s] 186 | #define STRICT_ASSIGN(type, lval, rval) ((lval) = (rval)) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 187 | [ 185s] | [ 185s] 188 | int32_t __ieee754_rem_pio2(double x, double *y) WARN_UNUSED_RETURN; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 189 | double __kernel_cos(double x, double y) WARN_UNUSED_RETURN; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 190 | int __kernel_rem_pio2(double *x, double *y, int e0, int nx, int prec, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 191 | const int32_t *ipio2) WARN_UNUSED_RETURN; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 192 | double __kernel_sin(double x, double y, int iy) WARN_UNUSED_RETURN; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 193 | [ 185s] | [ 185s] 194 | /* __ieee754_rem_pio2(x,y) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 195 | * [ 185s] | ~ [ 185s] 196 | * return the remainder of x rem pi/2 in y[0]+y[1] [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 197 | * use __kernel_rem_pio2() [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 198 | */ [ 185s] | ~~ [ 185s] 199 | int32_t __ieee754_rem_pio2(double x, double *y) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 200 | { [ 185s] | ~ [ 185s] 201 | /* [ 185s] | ~~ [ 185s] 202 | * Table of constants for 2/pi, 396 Hex digits (476 decimal) of 2/pi [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 203 | */ [ 185s] | ~~ [ 185s] 204 | constexpr int32_t two_over_pi[] = { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 205 | 0xA2F983, 0x6E4E44, 0x1529FC, 0x2757D1, 0xF534DD, 0xC0DB62, 0x95993C, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 206 | 0x439041, 0xFE5163, 0xABDEBB, 0xC561B7, 0x246E3A, 0x424DD2, 0xE00649, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 207 | 0x2EEA09, 0xD1921C, 0xFE1DEB, 0x1CB129, 0xA73EE8, 0x8235F5, 0x2EBB44, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 208 | 0x84E99C, 0x7026B4, 0x5F7E41, 0x3991D6, 0x398353, 0x39F49C, 0x845F8B, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 209 | 0xBDF928, 0x3B1FF8, 0x97FFDE, 0x05980F, 0xEF2F11, 0x8B5A0A, 0x6D1F6D, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 210 | 0x367ECF, 0x27CB09, 0xB74F46, 0x3F669E, 0x5FEA2D, 0x7527BA, 0xC7EBE5, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 211 | 0xF17B3D, 0x0739F7, 0x8A5292, 0xEA6BFB, 0x5FB11F, 0x8D5D08, 0x560330, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 212 | 0x46FC7B, 0x6BABF0, 0xCFBC20, 0x9AF436, 0x1DA9E3, 0x91615E, 0xE61B08, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 213 | 0x659985, 0x5F14A0, 0x68408D, 0xFFD880, 0x4D7327, 0x310606, 0x1556CA, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 214 | 0x73A8C9, 0x60E27B, 0xC08C6B, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 215 | }; [ 185s] | ~~ [ 185s] 216 | [ 185s] | [ 185s] 217 | constexpr int32_t npio2_hw[] = { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 218 | 0x3FF921FB, 0x400921FB, 0x4012D97C, 0x401921FB, 0x401F6A7A, 0x4022D97C, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 219 | 0x4025FDBB, 0x402921FB, 0x402C463A, 0x402F6A7A, 0x4031475C, 0x4032D97C, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 220 | 0x40346B9C, 0x4035FDBB, 0x40378FDB, 0x403921FB, 0x403AB41B, 0x403C463A, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 221 | 0x403DD85A, 0x403F6A7A, 0x40407E4C, 0x4041475C, 0x4042106C, 0x4042D97C, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 222 | 0x4043A28C, 0x40446B9C, 0x404534AC, 0x4045FDBB, 0x4046C6CB, 0x40478FDB, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 223 | 0x404858EB, 0x404921FB, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 224 | }; [ 185s] | ~~ [ 185s] 225 | [ 185s] | [ 185s] 226 | /* [ 185s] | ~~ [ 185s] 227 | * invpio2: 53 bits of 2/pi [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 228 | * pio2_1: first 33 bit of pi/2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 229 | * pio2_1t: pi/2 - pio2_1 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 230 | * pio2_2: second 33 bit of pi/2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 231 | * pio2_2t: pi/2 - (pio2_1+pio2_2) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 232 | * pio2_3: third 33 bit of pi/2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 233 | * pio2_3t: pi/2 - (pio2_1+pio2_2+pio2_3) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 234 | */ [ 185s] | ~~ [ 185s] 235 | [ 185s] | [ 185s] 236 | constexpr double [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 237 | zero [ 185s] | ~~~~ [ 185s] 238 | = 0.00000000000000000000e+00, /* 0x00000000, 0x00000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 239 | half = 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 240 | two24 = 1.67772160000000000000e+07, /* 0x41700000, 0x00000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 241 | invpio2 = 6.36619772367581382433e-01, /* 0x3FE45F30, 0x6DC9C883 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 242 | pio2_1 = 1.57079632673412561417e+00, /* 0x3FF921FB, 0x54400000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 243 | pio2_1t = 6.07710050650619224932e-11, /* 0x3DD0B461, 0x1A626331 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 244 | pio2_2 = 6.07710050630396597660e-11, /* 0x3DD0B461, 0x1A600000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 245 | pio2_2t = 2.02226624879595063154e-21, /* 0x3BA3198A, 0x2E037073 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 246 | pio2_3 = 2.02226624871116645580e-21, /* 0x3BA3198A, 0x2E000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 247 | pio2_3t = 8.47842766036889956997e-32; /* 0x397B839A, 0x252049C1 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 248 | [ 185s] | [ 185s] 249 | double z, w, t, r, fn; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 250 | double tx[3]; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 251 | int32_t e0, i, j, nx, n, ix, hx; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 252 | uint32_t low; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 253 | [ 185s] | [ 185s] 254 | z = 0; [ 185s] | ~~~~~~ [ 185s] 255 | GET_HIGH_WORD(hx, x); /* high word of x */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 256 | ix = hx & 0x7FFFFFFF; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 257 | if (ix <= 0x3FE921FB) { /* |x| ~<= pi/4 , no need for reduction */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 258 | y[0] = x; [ 185s] | ~~~~~~~~~ [ 185s] 259 | y[1] = 0; [ 185s] | ~~~~~~~~~ [ 185s] 260 | return 0; [ 185s] | ~~~~~~~~~ [ 185s] 261 | } [ 185s] | ~ [ 185s] 262 | if (ix < 0x4002D97C) { /* |x| < 3pi/4, special case with n=+-1 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 263 | if (hx > 0) { [ 185s] | ~~~~~~~~~~~~~ [ 185s] 264 | z = x - pio2_1; [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 265 | if (ix != 0x3FF921FB) { /* 33+53 bit pi is good enough */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 266 | y[0] = z - pio2_1t; [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 267 | y[1] = (z - y[0]) - pio2_1t; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 268 | } else { /* near pi/2, use 33+33+53 bit pi */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 269 | z -= pio2_2; [ 185s] | ~~~~~~~~~~~~ [ 185s] 270 | y[0] = z - pio2_2t; [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 271 | y[1] = (z - y[0]) - pio2_2t; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 272 | } [ 185s] | ~ [ 185s] 273 | return 1; [ 185s] | ~~~~~~~~~ [ 185s] 274 | } else { /* negative x */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 275 | z = x + pio2_1; [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 276 | if (ix != 0x3FF921FB) { /* 33+53 bit pi is good enough */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 277 | y[0] = z + pio2_1t; [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 278 | y[1] = (z - y[0]) + pio2_1t; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 279 | } else { /* near pi/2, use 33+33+53 bit pi */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 280 | z += pio2_2; [ 185s] | ~~~~~~~~~~~~ [ 185s] 281 | y[0] = z + pio2_2t; [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 282 | y[1] = (z - y[0]) + pio2_2t; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 283 | } [ 185s] | ~ [ 185s] 284 | return -1; [ 185s] | ~~~~~~~~~~ [ 185s] 285 | } [ 185s] | ~ [ 185s] 286 | } [ 185s] | ~ [ 185s] 287 | if (ix <= 0x413921FB) { /* |x| ~<= 2^19*(pi/2), medium size */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 288 | t = fabs(x); [ 185s] | ~~~~~~~~~~~~ [ 185s] 289 | n = static_cast(t * invpio2 + half); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 290 | fn = static_cast(n); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 291 | r = t - fn * pio2_1; [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 292 | w = fn * pio2_1t; /* 1st round good to 85 bit */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 293 | if (n < 32 && ix != npio2_hw[n - 1]) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 294 | y[0] = r - w; /* quick check no cancellation */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 295 | } else { [ 185s] | ~~~~~~~~ [ 185s] 296 | uint32_t high; [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 297 | j = ix >> 20; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 298 | y[0] = r - w; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 299 | GET_HIGH_WORD(high, y[0]); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 300 | i = j - ((high >> 20) & 0x7FF); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 301 | if (i > 16) { /* 2nd iteration needed, good to 118 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 302 | t = r; [ 185s] | ~~~~~~ [ 185s] 303 | w = fn * pio2_2; [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 304 | r = t - w; [ 185s] | ~~~~~~~~~~ [ 185s] 305 | w = fn * pio2_2t - ((t - r) - w); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 306 | y[0] = r - w; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 307 | GET_HIGH_WORD(high, y[0]); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 308 | i = j - ((high >> 20) & 0x7FF); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 309 | if (i > 49) { /* 3rd iteration need, 151 bits acc */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 310 | t = r; /* will cover all possible cases */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 311 | w = fn * pio2_3; [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 312 | r = t - w; [ 185s] | ~~~~~~~~~~ [ 185s] 313 | w = fn * pio2_3t - ((t - r) - w); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 314 | y[0] = r - w; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 315 | } [ 185s] | ~ [ 185s] 316 | } [ 185s] | ~ [ 185s] 317 | } [ 185s] | ~ [ 185s] 318 | y[1] = (r - y[0]) - w; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 319 | if (hx < 0) { [ 185s] | ~~~~~~~~~~~~~ [ 185s] 320 | y[0] = -y[0]; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 321 | y[1] = -y[1]; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 322 | return -n; [ 185s] | ~~~~~~~~~~ [ 185s] 323 | } else { [ 185s] | ~~~~~~~~ [ 185s] 324 | return n; [ 185s] | ~~~~~~~~~ [ 185s] 325 | } [ 185s] | ~ [ 185s] 326 | } [ 185s] | ~ [ 185s] 327 | /* [ 185s] | ~~ [ 185s] 328 | * all other (large) arguments [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 329 | */ [ 185s] | ~~ [ 185s] 330 | if (ix >= 0x7FF00000) { /* x is inf or NaN */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 331 | y[0] = y[1] = x - x; [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 332 | return 0; [ 185s] | ~~~~~~~~~ [ 185s] 333 | } [ 185s] | ~ [ 185s] 334 | /* set z = scalbn(|x|,ilogb(x)-23) */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 335 | GET_LOW_WORD(low, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 336 | SET_LOW_WORD(z, low); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 337 | e0 = (ix >> 20) - 1046; /* e0 = ilogb(z)-23; */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 338 | SET_HIGH_WORD(z, ix - static_cast(e0 << 20)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 339 | for (i = 0; i < 2; i++) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 340 | tx[i] = static_cast(static_cast(z)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 341 | z = (z - tx[i]) * two24; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 342 | } [ 185s] | ~ [ 185s] 343 | tx[2] = z; [ 185s] | ~~~~~~~~~~ [ 185s] 344 | nx = 3; [ 185s] | ~~~~~~~ [ 185s] 345 | while (tx[nx - 1] == zero) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 346 | nx--; /* skip zero term */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 347 | n = __kernel_rem_pio2(tx, y, e0, nx, 2, two_over_pi); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 348 | if (hx < 0) { [ 185s] | ~~~~~~~~~~~~~ [ 185s] 349 | y[0] = -y[0]; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 350 | y[1] = -y[1]; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 351 | return -n; [ 185s] | ~~~~~~~~~~ [ 185s] 352 | } [ 185s] | ~ [ 185s] 353 | return n; [ 185s] | ~~~~~~~~~ [ 185s] 354 | } [ 185s] | ~ [ 185s] 355 | [ 185s] | [ 185s] 356 | /* __kernel_cos( x, y ) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 357 | * kernel cos function on [-pi/4, pi/4], pi/4 ~ 0.785398164 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 358 | * Input x is assumed to be bounded by ~pi/4 in magnitude. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 359 | * Input y is the tail of x. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 360 | * [ 185s] | ~ [ 185s] 361 | * Algorithm [ 185s] | ~~~~~~~~~~~ [ 185s] 362 | * 1. Since cos(-x) = cos(x), we need only to consider positive x. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 363 | * 2. if x < 2^-27 (hx<0x3E400000 0), return 1 with inexact if x!=0. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 364 | * 3. cos(x) is approximated by a polynomial of degree 14 on [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 365 | * [0,pi/4] [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 366 | * 4 14 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 367 | * cos(x) ~ 1 - x*x/2 + C1*x + ... + C6*x [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 368 | * where the remez error is [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 369 | * [ 185s] | ~ [ 185s] 370 | * | 2 4 6 8 10 12 14 | -58 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 371 | * |cos(x)-(1-.5*x +C1*x +C2*x +C3*x +C4*x +C5*x +C6*x )| <= 2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 372 | * | | [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 373 | * [ 185s] | ~ [ 185s] 374 | * 4 6 8 10 12 14 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 375 | * 4. let r = C1*x +C2*x +C3*x +C4*x +C5*x +C6*x , then [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 376 | * cos(x) = 1 - x*x/2 + r [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 377 | * since cos(x+y) ~ cos(x) - sin(x)*y [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 378 | * ~ cos(x) - x*y, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 379 | * a correction term is necessary in cos(x) and hence [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 380 | * cos(x+y) = 1 - (x*x/2 - (r - x*y)) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 381 | * For better accuracy when x > 0.3, let qx = |x|/4 with [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 382 | * the last 32 bits mask off, and if x > 0.78125, let qx = 0.28125. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 383 | * Then [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 384 | * cos(x+y) = (1-qx) - ((x*x/2-qx) - (r-x*y)). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 385 | * Note that 1-qx and (x*x/2-qx) is EXACT here, and the [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 386 | * magnitude of the latter is at least a quarter of x*x/2, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 387 | * thus, reducing the rounding error in the subtraction. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 388 | */ [ 185s] | ~~ [ 185s] 389 | ALWAYS_INLINE double __kernel_cos(double x, double y) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 390 | { [ 185s] | ~ [ 185s] 391 | constexpr double [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 392 | one [ 185s] | ~~~ [ 185s] 393 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 394 | C1 = 4.16666666666666019037e-02, /* 0x3FA55555, 0x5555554C */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 395 | C2 = -1.38888888888741095749e-03, /* 0xBF56C16C, 0x16C15177 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 396 | C3 = 2.48015872894767294178e-05, /* 0x3EFA01A0, 0x19CB1590 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 397 | C4 = -2.75573143513906633035e-07, /* 0xBE927E4F, 0x809C52AD */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 398 | C5 = 2.08757232129817482790e-09, /* 0x3E21EE9E, 0xBDB4B1C4 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 399 | C6 = -1.13596475577881948265e-11; /* 0xBDA8FAE9, 0xBE8838D4 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 400 | [ 185s] | [ 185s] 401 | double a, iz, z, r, qx; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 402 | int32_t ix; [ 185s] | ~~~~~~~~~~~ [ 185s] 403 | GET_HIGH_WORD(ix, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 404 | ix &= 0x7FFFFFFF; /* ix = |x|'s high word*/ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 405 | if (ix < 0x3E400000 && static_cast(x) == 0) { /* if x < 2**27 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 406 | return one; /* generate inexact */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 407 | } [ 185s] | ~ [ 185s] 408 | z = x * x; [ 185s] | ~~~~~~~~~~ [ 185s] 409 | r = z * (C1 + z * (C2 + z * (C3 + z * (C4 + z * (C5 + z * C6))))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 410 | if (ix < 0x3FD33333) { /* if |x| < 0.3 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 411 | return one - (0.5 * z - (z * r - x * y)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 412 | } else { [ 185s] | ~~~~~~~~ [ 185s] 413 | if (ix > 0x3FE90000) { /* x > 0.78125 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 414 | qx = 0.28125; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 415 | } else { [ 185s] | ~~~~~~~~ [ 185s] 416 | INSERT_WORDS(qx, ix - 0x00200000, 0); /* x/4 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 417 | } [ 185s] | ~ [ 185s] 418 | iz = 0.5 * z - qx; [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 419 | a = one - qx; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 420 | return a - (iz - (z * r - x * y)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 421 | } [ 185s] | ~ [ 185s] 422 | } [ 185s] | ~ [ 185s] 423 | [ 185s] | [ 185s] 424 | /* __kernel_rem_pio2(x,y,e0,nx,prec,ipio2) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 425 | * double x[],y[]; int e0,nx,prec; int ipio2[]; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 426 | * [ 185s] | ~ [ 185s] 427 | * __kernel_rem_pio2 return the last three digits of N with [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 428 | * y = x - N*pi/2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 429 | * so that |y| < pi/2. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 430 | * [ 185s] | ~ [ 185s] 431 | * The method is to compute the integer (mod 8) and fraction parts of [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 432 | * (2/pi)*x without doing the full multiplication. In general we [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 433 | * skip the part of the product that are known to be a huge integer ( [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 434 | * more accurately, = 0 mod 8 ). Thus the number of operations are [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 435 | * independent of the exponent of the input. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 436 | * [ 185s] | ~ [ 185s] 437 | * (2/pi) is represented by an array of 24-bit integers in ipio2[]. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 438 | * [ 185s] | ~ [ 185s] 439 | * Input parameters: [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 440 | * x[] The input value (must be positive) is broken into nx [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 441 | * pieces of 24-bit integers in double precision format. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 442 | * x[i] will be the i-th 24 bit of x. The scaled exponent [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 443 | * of x[0] is given in input parameter e0 (i.e., x[0]*2^e0 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 444 | * match x's up to 24 bits. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 445 | * [ 185s] | ~ [ 185s] 446 | * Example of breaking a double positive z into x[0]+x[1]+x[2]: [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 447 | * e0 = ilogb(z)-23 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 448 | * z = scalbn(z,-e0) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 449 | * for i = 0,1,2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 450 | * x[i] = floor(z) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 451 | * z = (z-x[i])*2**24 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 452 | * [ 185s] | ~ [ 185s] 453 | * [ 185s] | ~ [ 185s] 454 | * y[] output result in an array of double precision numbers. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 455 | * The dimension of y[] is: [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 456 | * 24-bit precision 1 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 457 | * 53-bit precision 2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 458 | * 64-bit precision 2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 459 | * 113-bit precision 3 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 460 | * The actual value is the sum of them. Thus for 113-bit [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 461 | * precison, one may have to do something like: [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 462 | * [ 185s] | ~ [ 185s] 463 | * long double t,w,r_head, r_tail; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 464 | * t = (long double)y[2] + (long double)y[1]; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 465 | * w = (long double)y[0]; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 466 | * r_head = t+w; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 467 | * r_tail = w - (r_head - t); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 468 | * [ 185s] | ~ [ 185s] 469 | * e0 The exponent of x[0] [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 470 | * [ 185s] | ~ [ 185s] 471 | * nx dimension of x[] [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 472 | * [ 185s] | ~ [ 185s] 473 | * prec an integer indicating the precision: [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 474 | * 0 24 bits (single) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 475 | * 1 53 bits (double) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 476 | * 2 64 bits (extended) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 477 | * 3 113 bits (quad) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 478 | * [ 185s] | ~ [ 185s] 479 | * ipio2[] [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 480 | * integer array, contains the (24*i)-th to (24*i+23)-th [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 481 | * bit of 2/pi after binary point. The corresponding [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 482 | * floating value is [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 483 | * [ 185s] | ~ [ 185s] 484 | * ipio2[i] * 2^(-24(i+1)). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 485 | * [ 185s] | ~ [ 185s] 486 | * External function: [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 487 | * double scalbn(), floor(); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 488 | * [ 185s] | ~ [ 185s] 489 | * [ 185s] | ~ [ 185s] 490 | * Here is the description of some local variables: [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 491 | * [ 185s] | ~ [ 185s] 492 | * jk jk+1 is the initial number of terms of ipio2[] needed [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 493 | * in the computation. The recommended value is 2,3,4, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 494 | * 6 for single, double, extended,and quad. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 495 | * [ 185s] | ~ [ 185s] 496 | * jz local integer variable indicating the number of [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 497 | * terms of ipio2[] used. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 498 | * [ 185s] | ~ [ 185s] 499 | * jx nx - 1 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 500 | * [ 185s] | ~ [ 185s] 501 | * jv index for pointing to the suitable ipio2[] for the [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 502 | * computation. In general, we want [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 503 | * ( 2^e0*x[0] * ipio2[jv-1]*2^(-24jv) )/8 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 504 | * is an integer. Thus [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 505 | * e0-3-24*jv >= 0 or (e0-3)/24 >= jv [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 506 | * Hence jv = max(0,(e0-3)/24). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 507 | * [ 185s] | ~ [ 185s] 508 | * jp jp+1 is the number of terms in PIo2[] needed, jp = jk. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 509 | * [ 185s] | ~ [ 185s] 510 | * q[] double array with integral value, representing the [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 511 | * 24-bits chunk of the product of x and 2/pi. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 512 | * [ 185s] | ~ [ 185s] 513 | * q0 the corresponding exponent of q[0]. Note that the [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 514 | * exponent for q[i] would be q0-24*i. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 515 | * [ 185s] | ~ [ 185s] 516 | * PIo2[] double precision array, obtained by cutting pi/2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 517 | * into 24 bits chunks. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 518 | * [ 185s] | ~ [ 185s] 519 | * f[] ipio2[] in floating point [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 520 | * [ 185s] | ~ [ 185s] 521 | * iq[] integer array by breaking up q[] in 24-bits chunk. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 522 | * [ 185s] | ~ [ 185s] 523 | * fq[] final product of x*(2/pi) in fq[0],..,fq[jk] [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 524 | * [ 185s] | ~ [ 185s] 525 | * ih integer. If >0 it indicates q[] is >= 0.5, hence [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 526 | * it also indicates the *sign* of the result. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 527 | * [ 185s] | ~ [ 185s] 528 | */ [ 185s] | ~~ [ 185s] 529 | int __kernel_rem_pio2(double *x, double *y, int e0, int nx, int prec, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 530 | const int32_t *ipio2) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 531 | { [ 185s] | ~ [ 185s] 532 | /* Constants: [ 185s] | ~~~~~~~~~~~~~ [ 185s] 533 | * The hexadecimal values are the intended ones for the following [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 534 | * constants. The decimal values may be used, provided that the [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 535 | * compiler will convert from decimal to binary accurately enough [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 536 | * to produce the hexadecimal values shown. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 537 | */ [ 185s] | ~~ [ 185s] 538 | constexpr int init_jk[] = { 2, 3, 4, 6 }; /* initial value for jk */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 539 | [ 185s] | [ 185s] 540 | constexpr double PIo2[] = { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 541 | 1.57079625129699707031e+00, /* 0x3FF921FB, 0x40000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 542 | 7.54978941586159635335e-08, /* 0x3E74442D, 0x00000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 543 | 5.39030252995776476554e-15, /* 0x3CF84698, 0x80000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 544 | 3.28200341580791294123e-22, /* 0x3B78CC51, 0x60000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 545 | 1.27065575308067607349e-29, /* 0x39F01B83, 0x80000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 546 | 1.22933308981111328932e-36, /* 0x387A2520, 0x40000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 547 | 2.73370053816464559624e-44, /* 0x36E38222, 0x80000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 548 | 2.16741683877804819444e-51, /* 0x3569F31D, 0x00000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 549 | }; [ 185s] | ~~ [ 185s] 550 | [ 185s] | [ 185s] 551 | constexpr double [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 552 | zero [ 185s] | ~~~~ [ 185s] 553 | = 0.0, [ 185s] | ~~~~~~ [ 185s] 554 | one = 1.0, [ 185s] | ~~~~~~~~~~ [ 185s] 555 | two24 = 1.67772160000000000000e+07, /* 0x41700000, 0x00000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 556 | twon24 = 5.96046447753906250000e-08; /* 0x3E700000, 0x00000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 557 | [ 185s] | [ 185s] 558 | int32_t jz, jx, jv, jp, jk, carry, n, iq[20], i, j, k, m, q0, ih; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 559 | double z, fw, f[20], fq[20], q[20]; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 560 | [ 185s] | [ 185s] 561 | /* initialize jk*/ [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 562 | jk = init_jk[prec]; [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 563 | jp = jk; [ 185s] | ~~~~~~~~ [ 185s] 564 | [ 185s] | [ 185s] 565 | /* determine jx,jv,q0, note that 3>q0 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 566 | jx = nx - 1; [ 185s] | ~~~~~~~~~~~~ [ 185s] 567 | jv = (e0 - 3) / 24; [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 568 | if (jv < 0) [ 185s] | ~~~~~~~~~~~ [ 185s] 569 | jv = 0; [ 185s] | ~~~~~~~ [ 185s] 570 | q0 = e0 - 24 * (jv + 1); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 571 | [ 185s] | [ 185s] 572 | /* set up f[0] to f[jx+jk] where f[jx+jk] = ipio2[jv+jk] */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 573 | j = jv - jx; [ 185s] | ~~~~~~~~~~~~ [ 185s] 574 | m = jx + jk; [ 185s] | ~~~~~~~~~~~~ [ 185s] 575 | for (i = 0; i <= m; i++, j++) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 576 | f[i] = (j < 0) ? zero : static_cast(ipio2[j]); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 577 | } [ 185s] | ~ [ 185s] 578 | [ 185s] | [ 185s] 579 | /* compute q[0],q[1],...q[jk] */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 580 | for (i = 0; i <= jk; i++) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 581 | for (j = 0, fw = 0.0; j <= jx; j++) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 582 | fw += x[j] * f[jx + i - j]; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 583 | q[i] = fw; [ 185s] | ~~~~~~~~~~ [ 185s] 584 | } [ 185s] | ~ [ 185s] 585 | [ 185s] | [ 185s] 586 | jz = jk; [ 185s] | ~~~~~~~~ [ 185s] 587 | recompute: [ 185s] | ~~~~~~~~~~ [ 185s] 588 | /* distill q[] into iq[] reversingly */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 589 | for (i = 0, j = jz, z = q[jz]; j > 0; i++, j--) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 590 | fw = static_cast(static_cast(twon24 * z)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 591 | iq[i] = static_cast(z - two24 * fw); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 592 | z = q[j - 1] + fw; [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 593 | } [ 185s] | ~ [ 185s] 594 | [ 185s] | [ 185s] 595 | /* compute n */ [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 596 | z = scalbn(z, q0); /* actual value of z */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 597 | z -= 8.0 * floor(z * 0.125); /* trim off integer >= 8 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 598 | n = static_cast(z); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 599 | z -= static_cast(n); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 600 | ih = 0; [ 185s] | ~~~~~~~ [ 185s] 601 | if (q0 > 0) { /* need iq[jz-1] to determine n */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 602 | i = (iq[jz - 1] >> (24 - q0)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 603 | n += i; [ 185s] | ~~~~~~~ [ 185s] 604 | iq[jz - 1] -= i << (24 - q0); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 605 | ih = iq[jz - 1] >> (23 - q0); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 606 | } else if (q0 == 0) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 607 | ih = iq[jz - 1] >> 23; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 608 | } else if (z >= 0.5) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 609 | ih = 2; [ 185s] | ~~~~~~~ [ 185s] 610 | } [ 185s] | ~ [ 185s] 611 | [ 185s] | [ 185s] 612 | if (ih > 0) { /* q > 0.5 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 613 | n += 1; [ 185s] | ~~~~~~~ [ 185s] 614 | carry = 0; [ 185s] | ~~~~~~~~~~ [ 185s] 615 | for (i = 0; i < jz; i++) { /* compute 1-q */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 616 | j = iq[i]; [ 185s] | ~~~~~~~~~~ [ 185s] 617 | if (carry == 0) { [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 618 | if (j != 0) { [ 185s] | ~~~~~~~~~~~~~ [ 185s] 619 | carry = 1; [ 185s] | ~~~~~~~~~~ [ 185s] 620 | iq[i] = 0x1000000 - j; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 621 | } [ 185s] | ~ [ 185s] 622 | } else { [ 185s] | ~~~~~~~~ [ 185s] 623 | iq[i] = 0xFFFFFF - j; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 624 | } [ 185s] | ~ [ 185s] 625 | } [ 185s] | ~ [ 185s] 626 | if (q0 > 0) { /* rare case: chance is 1 in 12 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 627 | switch (q0) { [ 185s] | ~~~~~~~~~~~~~ [ 185s] 628 | case 1: [ 185s] | ~~~~~~~ [ 185s] 629 | iq[jz - 1] &= 0x7FFFFF; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 630 | break; [ 185s] | ~~~~~~ [ 185s] 631 | case 2: [ 185s] | ~~~~~~~ [ 185s] 632 | iq[jz - 1] &= 0x3FFFFF; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 633 | break; [ 185s] | ~~~~~~ [ 185s] 634 | } [ 185s] | ~ [ 185s] 635 | } [ 185s] | ~ [ 185s] 636 | if (ih == 2) { [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 637 | z = one - z; [ 185s] | ~~~~~~~~~~~~ [ 185s] 638 | if (carry != 0) [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 639 | z -= scalbn(one, q0); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 640 | } [ 185s] | ~ [ 185s] 641 | } [ 185s] | ~ [ 185s] 642 | [ 185s] | [ 185s] 643 | /* check if recomputation is needed */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 644 | if (z == zero) { [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 645 | j = 0; [ 185s] | ~~~~~~ [ 185s] 646 | for (i = jz - 1; i >= jk; i--) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 647 | j |= iq[i]; [ 185s] | ~~~~~~~~~~~ [ 185s] 648 | if (j == 0) { /* need recomputation */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 649 | for (k = 1; jk >= k && iq[jk - k] == 0; k++) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 650 | /* k = no. of terms needed */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 651 | } [ 185s] | ~ [ 185s] 652 | [ 185s] | [ 185s] 653 | for (i = jz + 1; i <= jz + k; i++) { /* add q[jz+1] to q[jz+k] */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 654 | f[jx + i] = ipio2[jv + i]; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 655 | for (j = 0, fw = 0.0; j <= jx; j++) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 656 | fw += x[j] * f[jx + i - j]; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 657 | q[i] = fw; [ 185s] | ~~~~~~~~~~ [ 185s] 658 | } [ 185s] | ~ [ 185s] 659 | jz += k; [ 185s] | ~~~~~~~~ [ 185s] 660 | goto recompute; [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 661 | } [ 185s] | ~ [ 185s] 662 | } [ 185s] | ~ [ 185s] 663 | [ 185s] | [ 185s] 664 | /* chop off zero terms */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 665 | if (z == 0.0) { [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 666 | jz -= 1; [ 185s] | ~~~~~~~~ [ 185s] 667 | q0 -= 24; [ 185s] | ~~~~~~~~~ [ 185s] 668 | while (iq[jz] == 0) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 669 | jz--; [ 185s] | ~~~~~ [ 185s] 670 | q0 -= 24; [ 185s] | ~~~~~~~~~ [ 185s] 671 | } [ 185s] | ~ [ 185s] 672 | } else { /* break z into 24-bit if necessary */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 673 | z = scalbn(z, -q0); [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 674 | if (z >= two24) { [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 675 | fw = static_cast(static_cast(twon24 * z)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 676 | iq[jz] = z - two24 * fw; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 677 | jz += 1; [ 185s] | ~~~~~~~~ [ 185s] 678 | q0 += 24; [ 185s] | ~~~~~~~~~ [ 185s] 679 | iq[jz] = fw; [ 185s] | ~~~~~~~~~~~~ [ 185s] 680 | } else { [ 185s] | ~~~~~~~~ [ 185s] 681 | iq[jz] = z; [ 185s] | ~~~~~~~~~~~ [ 185s] 682 | } [ 185s] | ~ [ 185s] 683 | } [ 185s] | ~ [ 185s] 684 | [ 185s] | [ 185s] 685 | /* convert integer "bit" chunk to floating-point value */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 686 | fw = scalbn(one, q0); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 687 | for (i = jz; i >= 0; i--) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 688 | q[i] = fw * iq[i]; [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 689 | fw *= twon24; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 690 | } [ 185s] | ~ [ 185s] 691 | [ 185s] | [ 185s] 692 | /* compute PIo2[0,...,jp]*q[jz,...,0] */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 693 | for (i = jz; i >= 0; i--) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 694 | for (fw = 0.0, k = 0; k <= jp && k <= jz - i; k++) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 695 | fw += PIo2[k] * q[i + k]; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 696 | fq[jz - i] = fw; [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 697 | } [ 185s] | ~ [ 185s] 698 | [ 185s] | [ 185s] 699 | /* compress fq[] into y[] */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 700 | switch (prec) { [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 701 | case 0: [ 185s] | ~~~~~~~ [ 185s] 702 | fw = 0.0; [ 185s] | ~~~~~~~~~ [ 185s] 703 | for (i = jz; i >= 0; i--) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 704 | fw += fq[i]; [ 185s] | ~~~~~~~~~~~~ [ 185s] 705 | y[0] = (ih == 0) ? fw : -fw; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 706 | break; [ 185s] | ~~~~~~ [ 185s] 707 | case 1: [ 185s] | ~~~~~~~ [ 185s] 708 | case 2: [ 185s] | ~~~~~~~ [ 185s] 709 | fw = 0.0; [ 185s] | ~~~~~~~~~ [ 185s] 710 | for (i = jz; i >= 0; i--) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 711 | fw += fq[i]; [ 185s] | ~~~~~~~~~~~~ [ 185s] 712 | y[0] = (ih == 0) ? fw : -fw; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 713 | fw = fq[0] - fw; [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 714 | for (i = 1; i <= jz; i++) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 715 | fw += fq[i]; [ 185s] | ~~~~~~~~~~~~ [ 185s] 716 | y[1] = (ih == 0) ? fw : -fw; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 717 | break; [ 185s] | ~~~~~~ [ 185s] 718 | case 3: /* painful */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 719 | for (i = jz; i > 0; i--) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 720 | fw = fq[i - 1] + fq[i]; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 721 | fq[i] += fq[i - 1] - fw; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 722 | fq[i - 1] = fw; [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 723 | } [ 185s] | ~ [ 185s] 724 | for (i = jz; i > 1; i--) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 725 | fw = fq[i - 1] + fq[i]; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 726 | fq[i] += fq[i - 1] - fw; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 727 | fq[i - 1] = fw; [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 728 | } [ 185s] | ~ [ 185s] 729 | for (fw = 0.0, i = jz; i >= 2; i--) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 730 | fw += fq[i]; [ 185s] | ~~~~~~~~~~~~ [ 185s] 731 | if (ih == 0) { [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 732 | y[0] = fq[0]; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 733 | y[1] = fq[1]; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 734 | y[2] = fw; [ 185s] | ~~~~~~~~~~ [ 185s] 735 | } else { [ 185s] | ~~~~~~~~ [ 185s] 736 | y[0] = -fq[0]; [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 737 | y[1] = -fq[1]; [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 738 | y[2] = -fw; [ 185s] | ~~~~~~~~~~~ [ 185s] 739 | } [ 185s] | ~ [ 185s] 740 | } [ 185s] | ~ [ 185s] 741 | return n & 7; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 742 | } [ 185s] | ~ [ 185s] 743 | [ 185s] | [ 185s] 744 | /* __kernel_sin( x, y, iy) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 745 | * kernel sin function on [-pi/4, pi/4], pi/4 ~ 0.7854 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 746 | * Input x is assumed to be bounded by ~pi/4 in magnitude. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 747 | * Input y is the tail of x. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 748 | * Input iy indicates whether y is 0. (if iy=0, y assume to be 0). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 749 | * [ 185s] | ~ [ 185s] 750 | * Algorithm [ 185s] | ~~~~~~~~~~~ [ 185s] 751 | * 1. Since sin(-x) = -sin(x), we need only to consider positive x. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 752 | * 2. if x < 2^-27 (hx<0x3E400000 0), return x with inexact if x!=0. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 753 | * 3. sin(x) is approximated by a polynomial of degree 13 on [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 754 | * [0,pi/4] [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 755 | * 3 13 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 756 | * sin(x) ~ x + S1*x + ... + S6*x [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 757 | * where [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 758 | * [ 185s] | ~ [ 185s] 759 | * |sin(x) 2 4 6 8 10 12 | -58 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 760 | * |----- - (1+S1*x +S2*x +S3*x +S4*x +S5*x +S6*x )| <= 2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 761 | * | x | [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 762 | * [ 185s] | ~ [ 185s] 763 | * 4. sin(x+y) = sin(x) + sin'(x')*y [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 764 | * ~ sin(x) + (1-x*x/2)*y [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 765 | * For better accuracy, let [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 766 | * 3 2 2 2 2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 767 | * r = x *(S2+x *(S3+x *(S4+x *(S5+x *S6)))) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 768 | * then 3 2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 769 | * sin(x) = x + (S1*x + (x *(r-y/2)+y)) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 770 | */ [ 185s] | ~~ [ 185s] 771 | ALWAYS_INLINE double __kernel_sin(double x, double y, int iy) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 772 | { [ 185s] | ~ [ 185s] 773 | constexpr double [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 774 | half [ 185s] | ~~~~ [ 185s] 775 | = 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 776 | S1 = -1.66666666666666324348e-01, /* 0xBFC55555, 0x55555549 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 777 | S2 = 8.33333333332248946124e-03, /* 0x3F811111, 0x1110F8A6 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 778 | S3 = -1.98412698298579493134e-04, /* 0xBF2A01A0, 0x19C161D5 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 779 | S4 = 2.75573137070700676789e-06, /* 0x3EC71DE3, 0x57B1FE7D */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 780 | S5 = -2.50507602534068634195e-08, /* 0xBE5AE5E6, 0x8A2B9CEB */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 781 | S6 = 1.58969099521155010221e-10; /* 0x3DE5D93A, 0x5ACFD57C */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 782 | [ 185s] | [ 185s] 783 | double z, r, v; [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 784 | int32_t ix; [ 185s] | ~~~~~~~~~~~ [ 185s] 785 | GET_HIGH_WORD(ix, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 786 | ix &= 0x7FFFFFFF; /* high word of x */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 787 | if (ix < 0x3E400000 && static_cast(x) == 0) { /* |x| < 2**-27 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 788 | return x; [ 185s] | ~~~~~~~~~ [ 185s] 789 | } /* generate inexact */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 790 | z = x * x; [ 185s] | ~~~~~~~~~~ [ 185s] 791 | v = z * x; [ 185s] | ~~~~~~~~~~ [ 185s] 792 | r = S2 + z * (S3 + z * (S4 + z * (S5 + z * S6))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 793 | if (iy == 0) { [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 794 | return x + v * (S1 + z * r); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 795 | } else { [ 185s] | ~~~~~~~~ [ 185s] 796 | return x - ((z * (half * y - v * r) - y) - v * S1); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 797 | } [ 185s] | ~ [ 185s] 798 | } [ 185s] | ~ [ 185s] 799 | [ 185s] | [ 185s] 800 | /* __kernel_tan( x, y, k ) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 801 | * kernel tan function on [-pi/4, pi/4], pi/4 ~ 0.7854 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 802 | * Input x is assumed to be bounded by ~pi/4 in magnitude. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 803 | * Input y is the tail of x. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 804 | * Input k indicates whether tan (if k=1) or [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 805 | * -1/tan (if k= -1) is returned. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 806 | * [ 185s] | ~ [ 185s] 807 | * Algorithm [ 185s] | ~~~~~~~~~~~ [ 185s] 808 | * 1. Since tan(-x) = -tan(x), we need only to consider positive x. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 809 | * 2. if x < 2^-28 (hx<0x3E300000 0), return x with inexact if x!=0. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 810 | * 3. tan(x) is approximated by a odd polynomial of degree 27 on [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 811 | * [0,0.67434] [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 812 | * 3 27 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 813 | * tan(x) ~ x + T1*x + ... + T13*x [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 814 | * where [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 815 | * [ 185s] | ~ [ 185s] 816 | * |tan(x) 2 4 26 | -59.2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 817 | * |----- - (1+T1*x +T2*x +.... +T13*x )| <= 2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 818 | * | x | [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 819 | * [ 185s] | ~ [ 185s] 820 | * Note: tan(x+y) = tan(x) + tan'(x)*y [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 821 | * ~ tan(x) + (1+x*x)*y [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 822 | * Therefore, for better accuracy in computing tan(x+y), let [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 823 | * 3 2 2 2 2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 824 | * r = x *(T2+x *(T3+x *(...+x *(T12+x *T13)))) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 825 | * then [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 826 | * 3 2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 827 | * tan(x+y) = x + (T1*x + (x *(r+y)+y)) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 828 | * [ 185s] | ~ [ 185s] 829 | * 4. For x in [0.67434,pi/4], let y = pi/4 - x, then [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 830 | * tan(x) = tan(pi/4-y) = (1-tan(y))/(1+tan(y)) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 831 | * = 1 - 2*(tan(y) - (tan(y)^2)/(1+tan(y))) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 832 | */ [ 185s] | ~~ [ 185s] 833 | double __kernel_tan(double x, double y, int iy) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 834 | { [ 185s] | ~ [ 185s] 835 | constexpr double xxx[] = { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 836 | 3.33333333333334091986e-01, /* 3FD55555, 55555563 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 837 | 1.33333333333201242699e-01, /* 3FC11111, 1110FE7A */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 838 | 5.39682539762260521377e-02, /* 3FABA1BA, 1BB341FE */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 839 | 2.18694882948595424599e-02, /* 3F9664F4, 8406D637 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 840 | 8.86323982359930005737e-03, /* 3F8226E3, E96E8493 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 841 | 3.59207910759131235356e-03, /* 3F6D6D22, C9560328 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 842 | 1.45620945432529025516e-03, /* 3F57DBC8, FEE08315 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 843 | 5.88041240820264096874e-04, /* 3F4344D8, F2F26501 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 844 | 2.46463134818469906812e-04, /* 3F3026F7, 1A8D1068 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 845 | 7.81794442939557092300e-05, /* 3F147E88, A03792A6 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 846 | 7.14072491382608190305e-05, /* 3F12B80F, 32F0A7E9 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 847 | -1.85586374855275456654e-05, /* BEF375CB, DB605373 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 848 | 2.59073051863633712884e-05, /* 3EFB2A70, 74BF7AD4 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 849 | /* one */ 1.00000000000000000000e+00, /* 3FF00000, 00000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 850 | /* pio4 */ 7.85398163397448278999e-01, /* 3FE921FB, 54442D18 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 851 | /* pio4lo */ 3.06161699786838301793e-17 /* 3C81A626, 33145C07 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 852 | }; [ 185s] | ~~ [ 185s] 853 | #define one xxx[13] [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 854 | #define pio4 xxx[14] [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 855 | #define pio4lo xxx[15] [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 856 | #define T xxx [ 185s] | ~~~~~~~~~~~~~ [ 185s] 857 | [ 185s] | [ 185s] 858 | double z, r, v, w, s; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 859 | int32_t ix, hx; [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 860 | [ 185s] | [ 185s] 861 | GET_HIGH_WORD(hx, x); /* high word of x */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 862 | ix = hx & 0x7FFFFFFF; /* high word of |x| */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 863 | if (ix < 0x3E300000 && static_cast(x) == 0) { /* x < 2**-28 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 864 | /* generate inexact */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 865 | uint32_t low; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 866 | GET_LOW_WORD(low, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 867 | if (((ix | low) | (iy + 1)) == 0) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 868 | return one / fabs(x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 869 | } else { [ 185s] | ~~~~~~~~ [ 185s] 870 | if (iy == 1) { [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 871 | return x; [ 185s] | ~~~~~~~~~ [ 185s] 872 | } else { /* compute -1 / (x+y) carefully */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 873 | double a, t; [ 185s] | ~~~~~~~~~~~~ [ 185s] 874 | [ 185s] | [ 185s] 875 | z = w = x + y; [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 876 | SET_LOW_WORD(z, 0); [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 877 | v = y - (z - x); [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 878 | t = a = -one / w; [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 879 | SET_LOW_WORD(t, 0); [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 880 | s = one + t * z; [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 881 | return t + a * (s + t * v); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 882 | } [ 185s] | ~ [ 185s] 883 | } [ 185s] | ~ [ 185s] 884 | } [ 185s] | ~ [ 185s] 885 | if (ix >= 0x3FE59428) { /* |x| >= 0.6744 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 886 | if (hx < 0) { [ 185s] | ~~~~~~~~~~~~~ [ 185s] 887 | x = -x; [ 185s] | ~~~~~~~ [ 185s] 888 | y = -y; [ 185s] | ~~~~~~~ [ 185s] 889 | } [ 185s] | ~ [ 185s] 890 | z = pio4 - x; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 891 | w = pio4lo - y; [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 892 | x = z + w; [ 185s] | ~~~~~~~~~~ [ 185s] 893 | y = 0.0; [ 185s] | ~~~~~~~~ [ 185s] 894 | } [ 185s] | ~ [ 185s] 895 | z = x * x; [ 185s] | ~~~~~~~~~~ [ 185s] 896 | w = z * z; [ 185s] | ~~~~~~~~~~ [ 185s] 897 | /* [ 185s] | ~~ [ 185s] 898 | * Break x^5*(T[1]+x^2*T[2]+...) into [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 899 | * x^5(T[1]+x^4*T[3]+...+x^20*T[11]) + [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 900 | * x^5(x^2*(T[2]+x^4*T[4]+...+x^22*[T12])) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 901 | */ [ 185s] | ~~ [ 185s] 902 | r = T[1] + w * (T[3] + w * (T[5] + w * (T[7] + w * (T[9] + w * T[11])))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 903 | v = z * (T[2] + w * (T[4] + w * (T[6] + w * (T[8] + w * (T[10] + w * T[12]))))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 904 | s = z * x; [ 185s] | ~~~~~~~~~~ [ 185s] 905 | r = y + z * (s * (r + v) + y); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 906 | r += T[0] * s; [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 907 | w = x + r; [ 185s] | ~~~~~~~~~~ [ 185s] 908 | if (ix >= 0x3FE59428) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 909 | v = iy; [ 185s] | ~~~~~~~ [ 185s] 910 | return (1 - ((hx >> 30) & 2)) * (v - 2.0 * (x - (w * w / (w + v) - r))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 911 | } [ 185s] | ~ [ 185s] 912 | if (iy == 1) { [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 913 | return w; [ 185s] | ~~~~~~~~~ [ 185s] 914 | } else { [ 185s] | ~~~~~~~~ [ 185s] 915 | /* [ 185s] | ~~ [ 185s] 916 | * if allow error up to 2 ulp, simply return [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 917 | * -1.0 / (x+r) here [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 918 | */ [ 185s] | ~~ [ 185s] 919 | /* compute -1.0 / (x+r) accurately */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 920 | double a, t; [ 185s] | ~~~~~~~~~~~~ [ 185s] 921 | z = w; [ 185s] | ~~~~~~ [ 185s] 922 | SET_LOW_WORD(z, 0); [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 923 | v = r - (z - x); /* z+v = r+x */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 924 | t = a = -1.0 / w; /* a = -1.0/w */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 925 | SET_LOW_WORD(t, 0); [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 926 | s = 1.0 + t * z; [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 927 | return t + a * (s + t * v); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 928 | } [ 185s] | ~ [ 185s] 929 | [ 185s] | [ 185s] 930 | #undef one [ 185s] | ~~~~~~~~~~ [ 185s] 931 | #undef pio4 [ 185s] | ~~~~~~~~~~~ [ 185s] 932 | #undef pio4lo [ 185s] | ~~~~~~~~~~~~~ [ 185s] 933 | #undef T [ 185s] | ~~~~~~~~ [ 185s] 934 | } [ 185s] | ~ [ 185s] 935 | [ 185s] | [ 185s] 936 | } // namespace [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 937 | [ 185s] | [ 185s] 938 | /* acos(x) [ 185s] | ~~~~~~~~~~ [ 185s] 939 | * Method : [ 185s] | ~~~~~~~~~~ [ 185s] 940 | * acos(x) = pi/2 - asin(x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 941 | * acos(-x) = pi/2 + asin(x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 942 | * For |x|<=0.5 [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 943 | * acos(x) = pi/2 - (x + x*x^2*R(x^2)) (see asin.c) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 944 | * For x>0.5 [ 185s] | ~~~~~~~~~~~ [ 185s] 945 | * acos(x) = pi/2 - (pi/2 - 2asin(sqrt((1-x)/2))) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 946 | * = 2asin(sqrt((1-x)/2)) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 947 | * = 2s + 2s*z*R(z) ...z=(1-x)/2, s=sqrt(z) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 948 | * = 2f + (2c + 2s*z*R(z)) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 949 | * where f=hi part of s, and c = (z-f*f)/(s+f) is the correction term [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 950 | * for f so that f+c ~ sqrt(z). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 951 | * For x<-0.5 [ 185s] | ~~~~~~~~~~~~ [ 185s] 952 | * acos(x) = pi - 2asin(sqrt((1-|x|)/2)) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 953 | * = pi - 0.5*(s+s*z*R(z)), where z=(1-|x|)/2,s=sqrt(z) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 954 | * [ 185s] | ~ [ 185s] 955 | * Special cases: [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 956 | * if x is NaN, return x itself; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 957 | * if |x|>1, return NaN with invalid signal. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 958 | * [ 185s] | ~ [ 185s] 959 | * Function needed: sqrt [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 960 | */ [ 185s] | ~~ [ 185s] 961 | double acos(double x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 962 | { [ 185s] | ~ [ 185s] 963 | constexpr double [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 964 | one [ 185s] | ~~~ [ 185s] 965 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 966 | pi = 3.14159265358979311600e+00, /* 0x400921FB, 0x54442D18 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 967 | pio2_hi = 1.57079632679489655800e+00, /* 0x3FF921FB, 0x54442D18 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 968 | pio2_lo = 6.12323399573676603587e-17, /* 0x3C91A626, 0x33145C07 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 969 | pS0 = 1.66666666666666657415e-01, /* 0x3FC55555, 0x55555555 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 970 | pS1 = -3.25565818622400915405e-01, /* 0xBFD4D612, 0x03EB6F7D */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 971 | pS2 = 2.01212532134862925881e-01, /* 0x3FC9C155, 0x0E884455 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 972 | pS3 = -4.00555345006794114027e-02, /* 0xBFA48228, 0xB5688F3B */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 973 | pS4 = 7.91534994289814532176e-04, /* 0x3F49EFE0, 0x7501B288 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 974 | pS5 = 3.47933107596021167570e-05, /* 0x3F023DE1, 0x0DFDF709 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 975 | qS1 = -2.40339491173441421878e+00, /* 0xC0033A27, 0x1C8A2D4B */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 976 | qS2 = 2.02094576023350569471e+00, /* 0x40002AE5, 0x9C598AC8 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 977 | qS3 = -6.88283971605453293030e-01, /* 0xBFE6066C, 0x1B8D0159 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 978 | qS4 = 7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 979 | [ 185s] | [ 185s] 980 | double z, p, q, r, w, s, c, df; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 981 | int32_t hx, ix; [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 982 | GET_HIGH_WORD(hx, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 983 | ix = hx & 0x7FFFFFFF; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 984 | if (ix >= 0x3FF00000) { /* |x| >= 1 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 985 | uint32_t lx; [ 185s] | ~~~~~~~~~~~~ [ 185s] 986 | GET_LOW_WORD(lx, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 987 | if (((ix - 0x3FF00000) | lx) == 0) { /* |x|==1 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 988 | if (hx > 0) [ 185s] | ~~~~~~~~~~~ [ 185s] 989 | return 0.0; /* acos(1) = 0 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 990 | else [ 185s] | ~~~~ [ 185s] 991 | return pi + 2.0 * pio2_lo; /* acos(-1)= pi */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 992 | } [ 185s] | ~ [ 185s] 993 | return (x - x) / (x - x); /* acos(|x|>1) is NaN */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 994 | } [ 185s] | ~ [ 185s] 995 | if (ix < 0x3FE00000) { /* |x| < 0.5 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 996 | if (ix <= 0x3C600000) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 997 | return pio2_hi + pio2_lo; /*if|x|<2**-57*/ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 998 | z = x * x; [ 185s] | ~~~~~~~~~~ [ 185s] 999 | p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5))))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1000 | q = one + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1001 | r = p / q; [ 185s] | ~~~~~~~~~~ [ 185s] 1002 | return pio2_hi - (x - (pio2_lo - x * r)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1003 | } else if (hx < 0) { /* x < -0.5 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1004 | z = (one + x) * 0.5; [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 1005 | p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5))))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1006 | q = one + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1007 | s = sqrt(z); [ 185s] | ~~~~~~~~~~~~ [ 185s] 1008 | r = p / q; [ 185s] | ~~~~~~~~~~ [ 185s] 1009 | w = r * s - pio2_lo; [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 1010 | return pi - 2.0 * (s + w); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1011 | } else { /* x > 0.5 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1012 | z = (one - x) * 0.5; [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 1013 | s = sqrt(z); [ 185s] | ~~~~~~~~~~~~ [ 185s] 1014 | df = s; [ 185s] | ~~~~~~~ [ 185s] 1015 | SET_LOW_WORD(df, 0); [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 1016 | c = (z - df * df) / (s + df); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1017 | p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5))))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1018 | q = one + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1019 | r = p / q; [ 185s] | ~~~~~~~~~~ [ 185s] 1020 | w = r * s + c; [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 1021 | return 2.0 * (df + w); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1022 | } [ 185s] | ~ [ 185s] 1023 | } [ 185s] | ~ [ 185s] 1024 | [ 185s] | [ 185s] 1025 | /* acosh(x) [ 185s] | ~~~~~~~~~~~ [ 185s] 1026 | * Method : [ 185s] | ~~~~~~~~~~ [ 185s] 1027 | * Based on [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 1028 | * acosh(x) = log [ x + sqrt(x*x-1) ] [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1029 | * we have [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 1030 | * acosh(x) := log(x)+ln2, if x is large; else [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1031 | * acosh(x) := log(2x-1/(sqrt(x*x-1)+x)) if x>2; else [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1032 | * acosh(x) := log1p(t+sqrt(2.0*t+t*t)); where t=x-1. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1033 | * [ 185s] | ~ [ 185s] 1034 | * Special cases: [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1035 | * acosh(x) is NaN with signal if x<1. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1036 | * acosh(NaN) is NaN without signal. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1037 | */ [ 185s] | ~~ [ 185s] 1038 | double acosh(double x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1039 | { [ 185s] | ~ [ 185s] 1040 | constexpr double [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1041 | one [ 185s] | ~~~ [ 185s] 1042 | = 1.0, [ 185s] | ~~~~~~ [ 185s] 1043 | ln2 = 6.93147180559945286227e-01; /* 0x3FE62E42, 0xFEFA39EF */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1044 | double t; [ 185s] | ~~~~~~~~~ [ 185s] 1045 | int32_t hx; [ 185s] | ~~~~~~~~~~~ [ 185s] 1046 | uint32_t lx; [ 185s] | ~~~~~~~~~~~~ [ 185s] 1047 | EXTRACT_WORDS(hx, lx, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1048 | if (hx < 0x3FF00000) { /* x < 1 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1049 | return (x - x) / (x - x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1050 | } else if (hx >= 0x41B00000) { /* x > 2**28 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1051 | if (hx >= 0x7FF00000) { /* x is inf of NaN */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1052 | return x + x; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 1053 | } else { [ 185s] | ~~~~~~~~ [ 185s] 1054 | return log(x) + ln2; /* acosh(huge)=log(2x) */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1055 | } [ 185s] | ~ [ 185s] 1056 | } else if (((hx - 0x3FF00000) | lx) == 0) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1057 | return 0.0; /* acosh(1) = 0 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1058 | } else if (hx > 0x40000000) { /* 2**28 > x > 2 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1059 | t = x * x; [ 185s] | ~~~~~~~~~~ [ 185s] 1060 | return log(2.0 * x - one / (x + sqrt(t - one))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1061 | } else { /* 10.98 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1081 | * asin(x) = pi/2 - 2*(s+s*z*R(z)) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1082 | * = pio2_hi - (2*(s+s*z*R(z)) - pio2_lo) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1083 | * For x<=0.98, let pio4_hi = pio2_hi/2, then [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1084 | * f = hi part of s; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1085 | * c = sqrt(z) - f = (z-f*f)/(s+f) ...f+c=sqrt(z) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1086 | * and [ 185s] | ~~~~~~~~~~ [ 185s] 1087 | * asin(x) = pi/2 - 2*(s+s*z*R(z)) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1088 | * = pio4_hi+(pio4-2s)-(2s*z*R(z)-pio2_lo) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1089 | * = pio4_hi+(pio4-2f)-(2s*z*R(z)-(pio2_lo+2c)) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1090 | * [ 185s] | ~ [ 185s] 1091 | * Special cases: [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1092 | * if x is NaN, return x itself; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1093 | * if |x|>1, return NaN with invalid signal. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1094 | */ [ 185s] | ~~ [ 185s] 1095 | double asin(double x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1096 | { [ 185s] | ~ [ 185s] 1097 | constexpr double [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1098 | one [ 185s] | ~~~ [ 185s] 1099 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1100 | huge = 1.000e+300, [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 1101 | pio2_hi = 1.57079632679489655800e+00, /* 0x3FF921FB, 0x54442D18 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1102 | pio2_lo = 6.12323399573676603587e-17, /* 0x3C91A626, 0x33145C07 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1103 | pio4_hi = 7.85398163397448278999e-01, /* 0x3FE921FB, 0x54442D18 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1104 | /* coefficient for R(x^2) */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1105 | pS0 = 1.66666666666666657415e-01, /* 0x3FC55555, 0x55555555 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1106 | pS1 = -3.25565818622400915405e-01, /* 0xBFD4D612, 0x03EB6F7D */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1107 | pS2 = 2.01212532134862925881e-01, /* 0x3FC9C155, 0x0E884455 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1108 | pS3 = -4.00555345006794114027e-02, /* 0xBFA48228, 0xB5688F3B */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1109 | pS4 = 7.91534994289814532176e-04, /* 0x3F49EFE0, 0x7501B288 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1110 | pS5 = 3.47933107596021167570e-05, /* 0x3F023DE1, 0x0DFDF709 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1111 | qS1 = -2.40339491173441421878e+00, /* 0xC0033A27, 0x1C8A2D4B */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1112 | qS2 = 2.02094576023350569471e+00, /* 0x40002AE5, 0x9C598AC8 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1113 | qS3 = -6.88283971605453293030e-01, /* 0xBFE6066C, 0x1B8D0159 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1114 | qS4 = 7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1115 | [ 185s] | [ 185s] 1116 | double t, w, p, q, c, r, s; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1117 | int32_t hx, ix; [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 1118 | [ 185s] | [ 185s] 1119 | t = 0; [ 185s] | ~~~~~~ [ 185s] 1120 | GET_HIGH_WORD(hx, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1121 | ix = hx & 0x7FFFFFFF; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1122 | if (ix >= 0x3FF00000) { /* |x|>= 1 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1123 | uint32_t lx; [ 185s] | ~~~~~~~~~~~~ [ 185s] 1124 | GET_LOW_WORD(lx, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 1125 | if (((ix - 0x3FF00000) | lx) == 0) /* asin(1)=+-pi/2 with inexact */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1126 | return x * pio2_hi + x * pio2_lo; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1127 | return (x - x) / (x - x); /* asin(|x|>1) is NaN */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1128 | } else if (ix < 0x3FE00000) { /* |x|<0.5 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1129 | if (ix < 0x3E400000 && huge + x > one) { /* if |x| < 2**-27 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1130 | return x; /* return x with inexact if x!=0*/ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1131 | } else { [ 185s] | ~~~~~~~~ [ 185s] 1132 | t = x * x; [ 185s] | ~~~~~~~~~~ [ 185s] 1133 | } [ 185s] | ~ [ 185s] 1134 | p = t * (pS0 + t * (pS1 + t * (pS2 + t * (pS3 + t * (pS4 + t * pS5))))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1135 | q = one + t * (qS1 + t * (qS2 + t * (qS3 + t * qS4))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1136 | w = p / q; [ 185s] | ~~~~~~~~~~ [ 185s] 1137 | return x + x * w; [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 1138 | } [ 185s] | ~ [ 185s] 1139 | /* 1> |x|>= 0.5 */ [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 1140 | w = one - fabs(x); [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 1141 | t = w * 0.5; [ 185s] | ~~~~~~~~~~~~ [ 185s] 1142 | p = t * (pS0 + t * (pS1 + t * (pS2 + t * (pS3 + t * (pS4 + t * pS5))))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1143 | q = one + t * (qS1 + t * (qS2 + t * (qS3 + t * qS4))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1144 | s = sqrt(t); [ 185s] | ~~~~~~~~~~~~ [ 185s] 1145 | if (ix >= 0x3FEF3333) { /* if |x| > 0.975 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1146 | w = p / q; [ 185s] | ~~~~~~~~~~ [ 185s] 1147 | t = pio2_hi - (2.0 * (s + s * w) - pio2_lo); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1148 | } else { [ 185s] | ~~~~~~~~ [ 185s] 1149 | w = s; [ 185s] | ~~~~~~ [ 185s] 1150 | SET_LOW_WORD(w, 0); [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 1151 | c = (t - w * w) / (s + w); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1152 | r = p / q; [ 185s] | ~~~~~~~~~~ [ 185s] 1153 | p = 2.0 * s * r - (pio2_lo - 2.0 * c); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1154 | q = pio4_hi - 2.0 * w; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1155 | t = pio4_hi - (p - q); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1156 | } [ 185s] | ~ [ 185s] 1157 | if (hx > 0) [ 185s] | ~~~~~~~~~~~ [ 185s] 1158 | return t; [ 185s] | ~~~~~~~~~ [ 185s] 1159 | else [ 185s] | ~~~~ [ 185s] 1160 | return -t; [ 185s] | ~~~~~~~~~~ [ 185s] 1161 | } [ 185s] | ~ [ 185s] 1162 | /* asinh(x) [ 185s] | ~~~~~~~~~~~ [ 185s] 1163 | * Method : [ 185s] | ~~~~~~~~~~ [ 185s] 1164 | * Based on [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 1165 | * asinh(x) = sign(x) * log [ |x| + sqrt(x*x+1) ] [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1166 | * we have [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 1167 | * asinh(x) := x if 1+x*x=1, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1168 | * := sign(x)*(log(x)+ln2)) for large |x|, else [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1169 | * := sign(x)*log(2|x|+1/(|x|+sqrt(x*x+1))) if|x|>2, else [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1170 | * := sign(x)*log1p(|x| + x^2/(1 + sqrt(1+x^2))) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1171 | */ [ 185s] | ~~ [ 185s] 1172 | double asinh(double x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1173 | { [ 185s] | ~ [ 185s] 1174 | constexpr double [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1175 | one [ 185s] | ~~~ [ 185s] 1176 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1177 | ln2 = 6.93147180559945286227e-01, /* 0x3FE62E42, 0xFEFA39EF */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1178 | huge = 1.00000000000000000000e+300; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1179 | [ 185s] | [ 185s] 1180 | double t, w; [ 185s] | ~~~~~~~~~~~~ [ 185s] 1181 | int32_t hx, ix; [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 1182 | GET_HIGH_WORD(hx, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1183 | ix = hx & 0x7FFFFFFF; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1184 | if (ix >= 0x7FF00000) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1185 | return x + x; /* x is inf or NaN */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1186 | if (ix < 0x3E300000 && huge + x > one) { /* |x|<2**-28 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1187 | return x; /* return x inexact except 0 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1188 | } [ 185s] | ~ [ 185s] 1189 | if (ix > 0x41B00000) { /* |x| > 2**28 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1190 | w = log(fabs(x)) + ln2; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1191 | } else if (ix > 0x40000000) { /* 2**28 > |x| > 2.0 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1192 | t = fabs(x); [ 185s] | ~~~~~~~~~~~~ [ 185s] 1193 | w = log(2.0 * t + one / (sqrt(x * x + one) + t)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1194 | } else { /* 2.0 > |x| > 2**-28 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1195 | t = x * x; [ 185s] | ~~~~~~~~~~ [ 185s] 1196 | w = log1p(fabs(x) + t / (one + sqrt(one + t))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1197 | } [ 185s] | ~ [ 185s] 1198 | if (hx > 0) { [ 185s] | ~~~~~~~~~~~~~ [ 185s] 1199 | return w; [ 185s] | ~~~~~~~~~ [ 185s] 1200 | } else { [ 185s] | ~~~~~~~~ [ 185s] 1201 | return -w; [ 185s] | ~~~~~~~~~~ [ 185s] 1202 | } [ 185s] | ~ [ 185s] 1203 | } [ 185s] | ~ [ 185s] 1204 | [ 185s] | [ 185s] 1205 | /* atan(x) [ 185s] | ~~~~~~~~~~ [ 185s] 1206 | * Method [ 185s] | ~~~~~~~~ [ 185s] 1207 | * 1. Reduce x to positive by atan(x) = -atan(-x). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1208 | * 2. According to the integer k=4t+0.25 chopped, t=x, the argument [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1209 | * is further reduced to one of the following intervals and the [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1210 | * arctangent of t is evaluated by the corresponding formula: [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1211 | * [ 185s] | ~ [ 185s] 1212 | * [0,7/16] atan(x) = t-t^3*(a1+t^2*(a2+...(a10+t^2*a11)...) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1213 | * [7/16,11/16] atan(x) = atan(1/2) + atan( (t-0.5)/(1+t/2) ) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1214 | * [11/16.19/16] atan(x) = atan( 1 ) + atan( (t-1)/(1+t) ) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1215 | * [19/16,39/16] atan(x) = atan(3/2) + atan( (t-1.5)/(1+1.5t) ) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1216 | * [39/16,INF] atan(x) = atan(INF) + atan( -1/t ) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1217 | * [ 185s] | ~ [ 185s] 1218 | * Constants: [ 185s] | ~~~~~~~~~~~~ [ 185s] 1219 | * The hexadecimal values are the intended ones for the following [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1220 | * constants. The decimal values may be used, provided that the [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1221 | * compiler will convert from decimal to binary accurately enough [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1222 | * to produce the hexadecimal values shown. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1223 | */ [ 185s] | ~~ [ 185s] 1224 | double atan(double x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1225 | { [ 185s] | ~ [ 185s] 1226 | constexpr double atanhi[] = { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1227 | 4.63647609000806093515e-01, /* atan(0.5)hi 0x3FDDAC67, 0x0561BB4F */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1228 | 7.85398163397448278999e-01, /* atan(1.0)hi 0x3FE921FB, 0x54442D18 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1229 | 9.82793723247329054082e-01, /* atan(1.5)hi 0x3FEF730B, 0xD281F69B */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1230 | 1.57079632679489655800e+00, /* atan(inf)hi 0x3FF921FB, 0x54442D18 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1231 | }; [ 185s] | ~~ [ 185s] 1232 | [ 185s] | [ 185s] 1233 | constexpr double atanlo[] = { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1234 | 2.26987774529616870924e-17, /* atan(0.5)lo 0x3C7A2B7F, 0x222F65E2 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1235 | 3.06161699786838301793e-17, /* atan(1.0)lo 0x3C81A626, 0x33145C07 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1236 | 1.39033110312309984516e-17, /* atan(1.5)lo 0x3C700788, 0x7AF0CBBD */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1237 | 6.12323399573676603587e-17, /* atan(inf)lo 0x3C91A626, 0x33145C07 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1238 | }; [ 185s] | ~~ [ 185s] 1239 | [ 185s] | [ 185s] 1240 | constexpr double aT[] = { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1241 | 3.33333333333329318027e-01, /* 0x3FD55555, 0x5555550D */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1242 | -1.99999999998764832476e-01, /* 0xBFC99999, 0x9998EBC4 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1243 | 1.42857142725034663711e-01, /* 0x3FC24924, 0x920083FF */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1244 | -1.11111104054623557880e-01, /* 0xBFBC71C6, 0xFE231671 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1245 | 9.09088713343650656196e-02, /* 0x3FB745CD, 0xC54C206E */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1246 | -7.69187620504482999495e-02, /* 0xBFB3B0F2, 0xAF749A6D */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1247 | 6.66107313738753120669e-02, /* 0x3FB10D66, 0xA0D03D51 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1248 | -5.83357013379057348645e-02, /* 0xBFADDE2D, 0x52DEFD9A */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1249 | 4.97687799461593236017e-02, /* 0x3FA97B4B, 0x24760DEB */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1250 | -3.65315727442169155270e-02, /* 0xBFA2B444, 0x2C6A6C2F */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1251 | 1.62858201153657823623e-02, /* 0x3F90AD3A, 0xE322DA11 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1252 | }; [ 185s] | ~~ [ 185s] 1253 | [ 185s] | [ 185s] 1254 | constexpr double one = 1.0, huge = 1.0e300; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1255 | [ 185s] | [ 185s] 1256 | double w, s1, s2, z; [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 1257 | int32_t ix, hx, id; [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 1258 | [ 185s] | [ 185s] 1259 | GET_HIGH_WORD(hx, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1260 | ix = hx & 0x7FFFFFFF; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1261 | if (ix >= 0x44100000) { /* if |x| >= 2^66 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1262 | uint32_t low; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 1263 | GET_LOW_WORD(low, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1264 | if (ix > 0x7FF00000 || (ix == 0x7FF00000 && (low != 0))) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1265 | return x + x; /* NaN */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1266 | if (hx > 0) [ 185s] | ~~~~~~~~~~~ [ 185s] 1267 | return atanhi[3] + *(volatile double *)&atanlo[3]; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1268 | else [ 185s] | ~~~~ [ 185s] 1269 | return -atanhi[3] - *(volatile double *)&atanlo[3]; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1270 | } [ 185s] | ~ [ 185s] 1271 | if (ix < 0x3FDC0000) { /* |x| < 0.4375 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1272 | if (ix < 0x3E400000 && huge + x > one) { /* |x| < 2^-27 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1273 | return x; /* raise inexact */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1274 | } [ 185s] | ~ [ 185s] 1275 | id = -1; [ 185s] | ~~~~~~~~ [ 185s] 1276 | } else { [ 185s] | ~~~~~~~~ [ 185s] 1277 | x = fabs(x); [ 185s] | ~~~~~~~~~~~~ [ 185s] 1278 | if (ix < 0x3FF30000) { /* |x| < 1.1875 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1279 | if (ix < 0x3FE60000) { /* 7/16 <=|x|<11/16 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1280 | id = 0; [ 185s] | ~~~~~~~ [ 185s] 1281 | x = (2.0 * x - one) / (2.0 + x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1282 | } else { /* 11/16<=|x|< 19/16 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1283 | id = 1; [ 185s] | ~~~~~~~ [ 185s] 1284 | x = (x - one) / (x + one); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1285 | } [ 185s] | ~ [ 185s] 1286 | } else { [ 185s] | ~~~~~~~~ [ 185s] 1287 | if (ix < 0x40038000) { /* |x| < 2.4375 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1288 | id = 2; [ 185s] | ~~~~~~~ [ 185s] 1289 | x = (x - 1.5) / (one + 1.5 * x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1290 | } else { /* 2.4375 <= |x| < 2^66 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1291 | id = 3; [ 185s] | ~~~~~~~ [ 185s] 1292 | x = -1.0 / x; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 1293 | } [ 185s] | ~ [ 185s] 1294 | } [ 185s] | ~ [ 185s] 1295 | } [ 185s] | ~ [ 185s] 1296 | /* end of argument reduction */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1297 | z = x * x; [ 185s] | ~~~~~~~~~~ [ 185s] 1298 | w = z * z; [ 185s] | ~~~~~~~~~~ [ 185s] 1299 | /* break sum from i=0 to 10 aT[i]z**(i+1) into odd and even poly */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1300 | s1 = z * (aT[0] + w * (aT[2] + w * (aT[4] + w * (aT[6] + w * (aT[8] + w * aT[10]))))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1301 | s2 = w * (aT[1] + w * (aT[3] + w * (aT[5] + w * (aT[7] + w * aT[9])))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1302 | if (id < 0) { [ 185s] | ~~~~~~~~~~~~~ [ 185s] 1303 | return x - x * (s1 + s2); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1304 | } else { [ 185s] | ~~~~~~~~ [ 185s] 1305 | z = atanhi[id] - ((x * (s1 + s2) - atanlo[id]) - x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1306 | return (hx < 0) ? -z : z; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1307 | } [ 185s] | ~ [ 185s] 1308 | } [ 185s] | ~ [ 185s] 1309 | [ 185s] | [ 185s] 1310 | /* atan2(y,x) [ 185s] | ~~~~~~~~~~~~~ [ 185s] 1311 | * Method : [ 185s] | ~~~~~~~~~~ [ 185s] 1312 | * 1. Reduce y to positive by atan2(y,x)=-atan2(-y,x). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1313 | * 2. Reduce x to positive by (if x and y are unexceptional): [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1314 | * ARG (x+iy) = arctan(y/x) ... if x > 0, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1315 | * ARG (x+iy) = pi - arctan[y/(-x)] ... if x < 0, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1316 | * [ 185s] | ~ [ 185s] 1317 | * Special cases: [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1318 | * [ 185s] | ~ [ 185s] 1319 | * ATAN2((anything), NaN ) is NaN; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1320 | * ATAN2(NAN , (anything) ) is NaN; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1321 | * ATAN2(+-0, +(anything but NaN)) is +-0 ; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1322 | * ATAN2(+-0, -(anything but NaN)) is +-pi ; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1323 | * ATAN2(+-(anything but 0 and NaN), 0) is +-pi/2; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1324 | * ATAN2(+-(anything but INF and NaN), +INF) is +-0 ; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1325 | * ATAN2(+-(anything but INF and NaN), -INF) is +-pi; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1326 | * ATAN2(+-INF,+INF ) is +-pi/4 ; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1327 | * ATAN2(+-INF,-INF ) is +-3pi/4; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1328 | * ATAN2(+-INF, (anything but,0,NaN, and INF)) is +-pi/2; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1329 | * [ 185s] | ~ [ 185s] 1330 | * Constants: [ 185s] | ~~~~~~~~~~~~ [ 185s] 1331 | * The hexadecimal values are the intended ones for the following [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1332 | * constants. The decimal values may be used, provided that the [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1333 | * compiler will convert from decimal to binary accurately enough [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1334 | * to produce the hexadecimal values shown. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1335 | */ [ 185s] | ~~ [ 185s] 1336 | double atan2(double y, double x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1337 | { [ 185s] | ~ [ 185s] 1338 | constexpr volatile double tiny = 1.0e-300; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1339 | constexpr double [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1340 | zero [ 185s] | ~~~~ [ 185s] 1341 | = 0.0, [ 185s] | ~~~~~~ [ 185s] 1342 | pi_o_4 = 7.8539816339744827900E-01, /* 0x3FE921FB, 0x54442D18 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1343 | pi_o_2 = 1.5707963267948965580E+00, /* 0x3FF921FB, 0x54442D18 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1344 | pi = 3.1415926535897931160E+00; /* 0x400921FB, 0x54442D18 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1345 | constexpr volatile double pi_lo = 1.2246467991473531772E-16; /* 0x3CA1A626, 0x33145C07 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1346 | [ 185s] | [ 185s] 1347 | double z; [ 185s] | ~~~~~~~~~ [ 185s] 1348 | int32_t k, m, hx, hy, ix, iy; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1349 | uint32_t lx, ly; [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1350 | [ 185s] | [ 185s] 1351 | EXTRACT_WORDS(hx, lx, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1352 | ix = hx & 0x7FFFFFFF; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1353 | EXTRACT_WORDS(hy, ly, y); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1354 | iy = hy & 0x7FFFFFFF; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1355 | if (((ix | ((lx | -static_cast(lx)) >> 31)) > 0x7FF00000) || ((iy | ((ly | -static_cast(ly)) >> 31)) > 0x7FF00000)) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1356 | return x + y; /* x or y is NaN */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1357 | } [ 185s] | ~ [ 185s] 1358 | if (((hx - 0x3FF00000) | lx) == 0) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1359 | return atan(y); /* x=1.0 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1360 | m = ((hy >> 31) & 1) | ((hx >> 30) & 2); /* 2*sign(x)+sign(y) */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1361 | [ 185s] | [ 185s] 1362 | /* when y = 0 */ [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1363 | if ((iy | ly) == 0) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1364 | switch (m) { [ 185s] | ~~~~~~~~~~~~ [ 185s] 1365 | case 0: [ 185s] | ~~~~~~~ [ 185s] 1366 | case 1: [ 185s] | ~~~~~~~ [ 185s] 1367 | return y; /* atan(+-0,+anything)=+-0 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1368 | case 2: [ 185s] | ~~~~~~~ [ 185s] 1369 | return pi + tiny; /* atan(+0,-anything) = pi */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1370 | case 3: [ 185s] | ~~~~~~~ [ 185s] 1371 | return -pi - tiny; /* atan(-0,-anything) =-pi */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1372 | } [ 185s] | ~ [ 185s] 1373 | } [ 185s] | ~ [ 185s] 1374 | /* when x = 0 */ [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1375 | if ((ix | lx) == 0) [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 1376 | return (hy < 0) ? -pi_o_2 - tiny : pi_o_2 + tiny; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1377 | [ 185s] | [ 185s] 1378 | /* when x is INF */ [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 1379 | if (ix == 0x7FF00000) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1380 | if (iy == 0x7FF00000) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1381 | switch (m) { [ 185s] | ~~~~~~~~~~~~ [ 185s] 1382 | case 0: [ 185s] | ~~~~~~~ [ 185s] 1383 | return pi_o_4 + tiny; /* atan(+INF,+INF) */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1384 | case 1: [ 185s] | ~~~~~~~ [ 185s] 1385 | return -pi_o_4 - tiny; /* atan(-INF,+INF) */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1386 | case 2: [ 185s] | ~~~~~~~ [ 185s] 1387 | return 3.0 * pi_o_4 + tiny; /*atan(+INF,-INF)*/ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1388 | case 3: [ 185s] | ~~~~~~~ [ 185s] 1389 | return -3.0 * pi_o_4 - tiny; /*atan(-INF,-INF)*/ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1390 | } [ 185s] | ~ [ 185s] 1391 | } else { [ 185s] | ~~~~~~~~ [ 185s] 1392 | switch (m) { [ 185s] | ~~~~~~~~~~~~ [ 185s] 1393 | case 0: [ 185s] | ~~~~~~~ [ 185s] 1394 | return zero; /* atan(+...,+INF) */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1395 | case 1: [ 185s] | ~~~~~~~ [ 185s] 1396 | return -zero; /* atan(-...,+INF) */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1397 | case 2: [ 185s] | ~~~~~~~ [ 185s] 1398 | return pi + tiny; /* atan(+...,-INF) */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1399 | case 3: [ 185s] | ~~~~~~~ [ 185s] 1400 | return -pi - tiny; /* atan(-...,-INF) */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1401 | } [ 185s] | ~ [ 185s] 1402 | } [ 185s] | ~ [ 185s] 1403 | } [ 185s] | ~ [ 185s] 1404 | /* when y is INF */ [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 1405 | if (iy == 0x7FF00000) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1406 | return (hy < 0) ? -pi_o_2 - tiny : pi_o_2 + tiny; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1407 | [ 185s] | [ 185s] 1408 | /* compute y/x */ [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 1409 | k = (iy - ix) >> 20; [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 1410 | if (k > 60) { /* |y/x| > 2**60 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1411 | z = pi_o_2 + 0.5 * pi_lo; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1412 | m &= 1; [ 185s] | ~~~~~~~ [ 185s] 1413 | } else if (hx < 0 && k < -60) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1414 | z = 0.0; /* 0 > |y|/x > -2**-60 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1415 | } else { [ 185s] | ~~~~~~~~ [ 185s] 1416 | z = atan(fabs(y / x)); /* safe to do y/x */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1417 | } [ 185s] | ~ [ 185s] 1418 | switch (m) { [ 185s] | ~~~~~~~~~~~~ [ 185s] 1419 | case 0: [ 185s] | ~~~~~~~ [ 185s] 1420 | return z; /* atan(+,+) */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1421 | case 1: [ 185s] | ~~~~~~~ [ 185s] 1422 | return -z; /* atan(-,+) */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1423 | case 2: [ 185s] | ~~~~~~~ [ 185s] 1424 | return pi - (z - pi_lo); /* atan(+,-) */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1425 | default: /* case 3 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1426 | return (z - pi_lo) - pi; /* atan(-,-) */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1427 | } [ 185s] | ~ [ 185s] 1428 | } [ 185s] | ~ [ 185s] 1429 | [ 185s] | [ 185s] 1430 | /* cos(x) [ 185s] | ~~~~~~~~~ [ 185s] 1431 | * Return cosine function of x. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1432 | * [ 185s] | ~ [ 185s] 1433 | * kernel function: [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 1434 | * __kernel_sin ... sine function on [-pi/4,pi/4] [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1435 | * __kernel_cos ... cosine function on [-pi/4,pi/4] [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1436 | * __ieee754_rem_pio2 ... argument reduction routine [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1437 | * [ 185s] | ~ [ 185s] 1438 | * Method. [ 185s] | ~~~~~~~~~ [ 185s] 1439 | * Let S,C and T denote the sin, cos and tan respectively on [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1440 | * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1441 | * in [-pi/4 , +pi/4], and let n = k mod 4. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1442 | * We have [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 1443 | * [ 185s] | ~ [ 185s] 1444 | * n sin(x) cos(x) tan(x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1445 | * ---------------------------------------------------------- [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1446 | * 0 S C T [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1447 | * 1 C -S -1/T [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1448 | * 2 -S -C T [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1449 | * 3 -C S -1/T [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1450 | * ---------------------------------------------------------- [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1451 | * [ 185s] | ~ [ 185s] 1452 | * Special cases: [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1453 | * Let trig be any of sin, cos, or tan. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1454 | * trig(+-INF) is NaN, with signals; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1455 | * trig(NaN) is that NaN; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1456 | * [ 185s] | ~ [ 185s] 1457 | * Accuracy: [ 185s] | ~~~~~~~~~~~ [ 185s] 1458 | * TRIG(x) returns trig(x) nearly rounded [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1459 | */ [ 185s] | ~~ [ 185s] 1460 | double cos(double x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 1461 | { [ 185s] | ~ [ 185s] 1462 | double y[2], z = 0.0; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1463 | int32_t n, ix; [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 1464 | [ 185s] | [ 185s] 1465 | /* High word of x. */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1466 | GET_HIGH_WORD(ix, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1467 | [ 185s] | [ 185s] 1468 | /* |x| ~< pi/4 */ [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 1469 | ix &= 0x7FFFFFFF; [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 1470 | if (ix <= 0x3FE921FB) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1471 | return __kernel_cos(x, z); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1472 | } else if (ix >= 0x7FF00000) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1473 | /* cos(Inf or NaN) is NaN */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1474 | return x - x; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 1475 | } else { [ 185s] | ~~~~~~~~ [ 185s] 1476 | /* argument reduction needed */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1477 | n = __ieee754_rem_pio2(x, y); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1478 | switch (n & 3) { [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1479 | case 0: [ 185s] | ~~~~~~~ [ 185s] 1480 | return __kernel_cos(y[0], y[1]); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1481 | case 1: [ 185s] | ~~~~~~~ [ 185s] 1482 | return -__kernel_sin(y[0], y[1], 1); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1483 | case 2: [ 185s] | ~~~~~~~ [ 185s] 1484 | return -__kernel_cos(y[0], y[1]); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1485 | default: [ 185s] | ~~~~~~~~ [ 185s] 1486 | return __kernel_sin(y[0], y[1], 1); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1487 | } [ 185s] | ~ [ 185s] 1488 | } [ 185s] | ~ [ 185s] 1489 | } [ 185s] | ~ [ 185s] 1490 | [ 185s] | [ 185s] 1491 | /* exp(x) [ 185s] | ~~~~~~~~~ [ 185s] 1492 | * Returns the exponential of x. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1493 | * [ 185s] | ~ [ 185s] 1494 | * Method [ 185s] | ~~~~~~~~ [ 185s] 1495 | * 1. Argument reduction: [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1496 | * Reduce x to an r so that |r| <= 0.5*ln2 ~ 0.34658. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1497 | * Given x, find r and integer k such that [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1498 | * [ 185s] | ~ [ 185s] 1499 | * x = k*ln2 + r, |r| <= 0.5*ln2. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1500 | * [ 185s] | ~ [ 185s] 1501 | * Here r will be represented as r = hi-lo for better [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1502 | * accuracy. [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1503 | * [ 185s] | ~ [ 185s] 1504 | * 2. Approximation of exp(r) by a special rational function on [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1505 | * the interval [0,0.34658]: [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1506 | * Write [ 185s] | ~~~~~~~~~~~~ [ 185s] 1507 | * R(r**2) = r*(exp(r)+1)/(exp(r)-1) = 2 + r*r/6 - r**4/360 + ... [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1508 | * We use a special Remes algorithm on [0,0.34658] to generate [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1509 | * a polynomial of degree 5 to approximate R. The maximum error [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1510 | * of this polynomial approximation is bounded by 2**-59. In [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1511 | * other words, [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 1512 | * R(z) ~ 2.0 + P1*z + P2*z**2 + P3*z**3 + P4*z**4 + P5*z**5 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1513 | * (where z=r*r, and the values of P1 to P5 are listed below) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1514 | * and [ 185s] | ~~~~~~~~~~ [ 185s] 1515 | * | 5 | -59 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1516 | * | 2.0+P1*z+...+P5*z - R(z) | <= 2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1517 | * | | [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1518 | * The computation of exp(r) thus becomes [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1519 | * 2*r [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1520 | * exp(r) = 1 + ------- [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1521 | * R - r [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1522 | * r*R1(r) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1523 | * = 1 + r + ----------- (for better accuracy) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1524 | * 2 - R1(r) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1525 | * where [ 185s] | ~~~~~~~~~~~~ [ 185s] 1526 | * 2 4 10 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1527 | * R1(r) = r - (P1*r + P2*r + ... + P5*r ). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1528 | * [ 185s] | ~ [ 185s] 1529 | * 3. Scale back to obtain exp(x): [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1530 | * From step 1, we have [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1531 | * exp(x) = 2^k * exp(r) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1532 | * [ 185s] | ~ [ 185s] 1533 | * Special cases: [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1534 | * exp(INF) is INF, exp(NaN) is NaN; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1535 | * exp(-INF) is 0, and [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1536 | * for finite argument, only exp(0)=1 is exact. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1537 | * [ 185s] | ~ [ 185s] 1538 | * Accuracy: [ 185s] | ~~~~~~~~~~~ [ 185s] 1539 | * according to an error analysis, the error is always less than [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1540 | * 1 ulp (unit in the last place). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1541 | * [ 185s] | ~ [ 185s] 1542 | * Misc. info. [ 185s] | ~~~~~~~~~~~~~ [ 185s] 1543 | * For IEEE double [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1544 | * if x > 7.09782712893383973096e+02 then exp(x) overflow [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1545 | * if x < -7.45133219101941108420e+02 then exp(x) underflow [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1546 | * [ 185s] | ~ [ 185s] 1547 | * Constants: [ 185s] | ~~~~~~~~~~~~ [ 185s] 1548 | * The hexadecimal values are the intended ones for the following [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1549 | * constants. The decimal values may be used, provided that the [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1550 | * compiler will convert from decimal to binary accurately enough [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1551 | * to produce the hexadecimal values shown. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1552 | */ [ 185s] | ~~ [ 185s] 1553 | double exp(double x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 1554 | { [ 185s] | ~ [ 185s] 1555 | constexpr double [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1556 | one [ 185s] | ~~~ [ 185s] 1557 | = 1.0, [ 185s] | ~~~~~~ [ 185s] 1558 | halF[2] = { 0.5, -0.5 }, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1559 | o_threshold = 7.09782712893383973096e+02, /* 0x40862E42, 0xFEFA39EF */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1560 | u_threshold = -7.45133219101941108420e+02, /* 0xC0874910, 0xD52D3051 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1561 | ln2HI[2] = { 6.93147180369123816490e-01, /* 0x3FE62E42, 0xFEE00000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1562 | -6.93147180369123816490e-01 }, /* 0xBFE62E42, 0xFEE00000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1563 | ln2LO[2] = { 1.90821492927058770002e-10, /* 0x3DEA39EF, 0x35793C76 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1564 | -1.90821492927058770002e-10 }, /* 0xBDEA39EF, 0x35793C76 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1565 | invln2 = 1.44269504088896338700e+00, /* 0x3FF71547, 0x652B82FE */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1566 | P1 = 1.66666666666666019037e-01, /* 0x3FC55555, 0x5555553E */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1567 | P2 = -2.77777777770155933842e-03, /* 0xBF66C16C, 0x16BEBD93 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1568 | P3 = 6.61375632143793436117e-05, /* 0x3F11566A, 0xAF25DE2C */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1569 | P4 = -1.65339022054652515390e-06, /* 0xBEBBBD41, 0xC5D26BF1 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1570 | P5 = 4.13813679705723846039e-08, /* 0x3E663769, 0x72BEA4D0 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1571 | E = 2.718281828459045; /* 0x4005BF0A, 0x8B145769 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1572 | [ 185s] | [ 185s] 1573 | constexpr volatile double [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1574 | huge [ 185s] | ~~~~ [ 185s] 1575 | = 1.0e+300, [ 185s] | ~~~~~~~~~~~ [ 185s] 1576 | twom1000 = 9.33263618503218878990e-302, /* 2**-1000=0x01700000,0*/ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1577 | two1023 = 8.988465674311579539e307; /* 0x1p1023 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1578 | [ 185s] | [ 185s] 1579 | double y, hi = 0.0, lo = 0.0, c, t, twopk; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1580 | int32_t k = 0, xsb; [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 1581 | uint32_t hx; [ 185s] | ~~~~~~~~~~~~ [ 185s] 1582 | [ 185s] | [ 185s] 1583 | GET_HIGH_WORD(hx, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1584 | xsb = (hx >> 31) & 1; /* sign bit of x */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1585 | hx &= 0x7FFFFFFF; /* high word of |x| */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1586 | [ 185s] | [ 185s] 1587 | /* filter out non-finite argument */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1588 | if (hx >= 0x40862E42) { /* if |x|>=709.78... */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1589 | if (hx >= 0x7FF00000) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1590 | uint32_t lx; [ 185s] | ~~~~~~~~~~~~ [ 185s] 1591 | GET_LOW_WORD(lx, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 1592 | if (((hx & 0xFFFFF) | lx) != 0) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1593 | return x + x; /* NaN */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1594 | else [ 185s] | ~~~~ [ 185s] 1595 | return (xsb == 0) ? x : 0.0; /* exp(+-inf)={inf,0} */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1596 | } [ 185s] | ~ [ 185s] 1597 | if (x > o_threshold) [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 1598 | return huge * huge; /* overflow */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1599 | if (x < u_threshold) [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 1600 | return twom1000 * twom1000; /* underflow */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1601 | } [ 185s] | ~ [ 185s] 1602 | [ 185s] | [ 185s] 1603 | /* argument reduction */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1604 | if (hx > 0x3FD62E42) { /* if |x| > 0.5 ln2 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1605 | if (hx < 0x3FF0A2B2) { /* and |x| < 1.5 ln2 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1606 | /* TODO(rtoy): We special case exp(1) here to return the correct [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1607 | * value of E, as the computation below would get the last bit [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1608 | * wrong. We should probably fix the algorithm instead. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1609 | */ [ 185s] | ~~ [ 185s] 1610 | if (x == 1.0) [ 185s] | ~~~~~~~~~~~~~ [ 185s] 1611 | return E; [ 185s] | ~~~~~~~~~ [ 185s] 1612 | hi = x - ln2HI[xsb]; [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 1613 | lo = ln2LO[xsb]; [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1614 | k = 1 - xsb - xsb; [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 1615 | } else { [ 185s] | ~~~~~~~~ [ 185s] 1616 | k = static_cast(invln2 * x + halF[xsb]); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1617 | t = k; [ 185s] | ~~~~~~ [ 185s] 1618 | hi = x - t * ln2HI[0]; /* t*ln2HI is exact here */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1619 | lo = t * ln2LO[0]; [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 1620 | } [ 185s] | ~ [ 185s] 1621 | STRICT_ASSIGN(double, x, hi - lo); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1622 | } else if (hx < 0x3E300000) { /* when |x|<2**-28 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1623 | if (huge + x > one) [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 1624 | return one + x; /* trigger inexact */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1625 | } else { [ 185s] | ~~~~~~~~ [ 185s] 1626 | k = 0; [ 185s] | ~~~~~~ [ 185s] 1627 | } [ 185s] | ~ [ 185s] 1628 | [ 185s] | [ 185s] 1629 | /* x is now in primary range */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1630 | t = x * x; [ 185s] | ~~~~~~~~~~ [ 185s] 1631 | if (k >= -1021) { [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 1632 | INSERT_WORDS(twopk, 0x3FF00000 + (k << 20), 0); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1633 | } else { [ 185s] | ~~~~~~~~ [ 185s] 1634 | INSERT_WORDS(twopk, 0x3FF00000 + ((k + 1000) << 20), 0); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1635 | } [ 185s] | ~ [ 185s] 1636 | c = x - t * (P1 + t * (P2 + t * (P3 + t * (P4 + t * P5)))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1637 | if (k == 0) { [ 185s] | ~~~~~~~~~~~~~ [ 185s] 1638 | return one - ((x * c) / (c - 2.0) - x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1639 | } else { [ 185s] | ~~~~~~~~ [ 185s] 1640 | y = one - ((lo - (x * c) / (2.0 - c)) - hi); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1641 | } [ 185s] | ~ [ 185s] 1642 | if (k >= -1021) { [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 1643 | if (k == 1024) [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 1644 | return y * 2.0 * two1023; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1645 | return y * twopk; [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 1646 | } else { [ 185s] | ~~~~~~~~ [ 185s] 1647 | return y * twopk * twom1000; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1648 | } [ 185s] | ~ [ 185s] 1649 | } [ 185s] | ~ [ 185s] 1650 | [ 185s] | [ 185s] 1651 | /* [ 185s] | ~~ [ 185s] 1652 | * Method : [ 185s] | ~~~~~~~~~~ [ 185s] 1653 | * 1.Reduced x to positive by atanh(-x) = -atanh(x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1654 | * 2.For x>=0.5 [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 1655 | * 1 2x x [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1656 | * atanh(x) = --- * log(1 + -------) = 0.5 * log1p(2 * --------) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1657 | * 2 1 - x 1 - x [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1658 | * [ 185s] | ~ [ 185s] 1659 | * For x<0.5 [ 185s] | ~~~~~~~~~~~~~ [ 185s] 1660 | * atanh(x) = 0.5*log1p(2x+2x*x/(1-x)) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1661 | * [ 185s] | ~ [ 185s] 1662 | * Special cases: [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1663 | * atanh(x) is NaN if |x| > 1 with signal; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1664 | * atanh(NaN) is that NaN with no signal; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1665 | * atanh(+-1) is +-INF with signal. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1666 | * [ 185s] | ~ [ 185s] 1667 | */ [ 185s] | ~~ [ 185s] 1668 | double atanh(double x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1669 | { [ 185s] | ~ [ 185s] 1670 | constexpr double one = 1.0, huge = 1e300; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1671 | constexpr double zero = 0.0; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1672 | [ 185s] | [ 185s] 1673 | double t; [ 185s] | ~~~~~~~~~ [ 185s] 1674 | int32_t hx, ix; [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 1675 | uint32_t lx; [ 185s] | ~~~~~~~~~~~~ [ 185s] 1676 | EXTRACT_WORDS(hx, lx, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1677 | ix = hx & 0x7FFFFFFF; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1678 | if ((ix | ((lx | -static_cast(lx)) >> 31)) > 0x3FF00000) /* |x|>1 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1679 | return (x - x) / (x - x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1680 | if (ix == 0x3FF00000) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1681 | return x / zero; [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1682 | if (ix < 0x3E300000 && (huge + x) > zero) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1683 | return x; /* x<2**-28 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1684 | SET_HIGH_WORD(x, ix); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1685 | if (ix < 0x3FE00000) { /* x < 0.5 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1686 | t = x + x; [ 185s] | ~~~~~~~~~~ [ 185s] 1687 | t = 0.5 * log1p(t + t * x / (one - x)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1688 | } else { [ 185s] | ~~~~~~~~ [ 185s] 1689 | t = 0.5 * log1p((x + x) / (one - x)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1690 | } [ 185s] | ~ [ 185s] 1691 | if (hx >= 0) [ 185s] | ~~~~~~~~~~~~ [ 185s] 1692 | return t; [ 185s] | ~~~~~~~~~ [ 185s] 1693 | else [ 185s] | ~~~~ [ 185s] 1694 | return -t; [ 185s] | ~~~~~~~~~~ [ 185s] 1695 | } [ 185s] | ~ [ 185s] 1696 | [ 185s] | [ 185s] 1697 | /* log(x) [ 185s] | ~~~~~~~~~ [ 185s] 1698 | * Return the logrithm of x [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1699 | * [ 185s] | ~ [ 185s] 1700 | * Method : [ 185s] | ~~~~~~~~~~ [ 185s] 1701 | * 1. Argument Reduction: find k and f such that [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1702 | * x = 2^k * (1+f), [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1703 | * where sqrt(2)/2 < 1+f < sqrt(2) . [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1704 | * [ 185s] | ~ [ 185s] 1705 | * 2. Approximation of log(1+f). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1706 | * Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1707 | * = 2s + 2/3 s**3 + 2/5 s**5 + ....., [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1708 | * = 2s + s*R [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 1709 | * We use a special Reme algorithm on [0,0.1716] to generate [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1710 | * a polynomial of degree 14 to approximate R The maximum error [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1711 | * of this polynomial approximation is bounded by 2**-58.45. In [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1712 | * other words, [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 1713 | * 2 4 6 8 10 12 14 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1714 | * R(z) ~ Lg1*s +Lg2*s +Lg3*s +Lg4*s +Lg5*s +Lg6*s +Lg7*s [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1715 | * (the values of Lg1 to Lg7 are listed in the program) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1716 | * and [ 185s] | ~~~~~~ [ 185s] 1717 | * | 2 14 | -58.45 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1718 | * | Lg1*s +...+Lg7*s - R(z) | <= 2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1719 | * | | [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1720 | * Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1721 | * In order to guarantee error in log below 1ulp, we compute log [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1722 | * by [ 185s] | ~~~~~ [ 185s] 1723 | * log(1+f) = f - s*(f - R) (if f is not too large) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1724 | * log(1+f) = f - (hfsq - s*(hfsq+R)). (better accuracy) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1725 | * [ 185s] | ~ [ 185s] 1726 | * 3. Finally, log(x) = k*ln2 + log(1+f). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1727 | * = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo))) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1728 | * Here ln2 is split into two floating point number: [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1729 | * ln2_hi + ln2_lo, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1730 | * where n*ln2_hi is always exact for |n| < 2000. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1731 | * [ 185s] | ~ [ 185s] 1732 | * Special cases: [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1733 | * log(x) is NaN with signal if x < 0 (including -INF) ; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1734 | * log(+INF) is +INF; log(0) is -INF with signal; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1735 | * log(NaN) is that NaN with no signal. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1736 | * [ 185s] | ~ [ 185s] 1737 | * Accuracy: [ 185s] | ~~~~~~~~~~~ [ 185s] 1738 | * according to an error analysis, the error is always less than [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1739 | * 1 ulp (unit in the last place). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1740 | * [ 185s] | ~ [ 185s] 1741 | * Constants: [ 185s] | ~~~~~~~~~~~~ [ 185s] 1742 | * The hexadecimal values are the intended ones for the following [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1743 | * constants. The decimal values may be used, provided that the [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1744 | * compiler will convert from decimal to binary accurately enough [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1745 | * to produce the hexadecimal values shown. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1746 | */ [ 185s] | ~~ [ 185s] 1747 | double log(double x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 1748 | { [ 185s] | ~ [ 185s] 1749 | constexpr double /* -- */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1750 | ln2_hi [ 185s] | ~~~~~~ [ 185s] 1751 | = 6.93147180369123816490e-01, /* 3fe62e42 fee00000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1752 | ln2_lo = 1.90821492927058770002e-10, /* 3dea39ef 35793c76 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1753 | two54 = 1.80143985094819840000e+16, /* 43500000 00000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1754 | Lg1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1755 | Lg2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1756 | Lg3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1757 | Lg4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1758 | Lg5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1759 | Lg6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1760 | Lg7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1761 | [ 185s] | [ 185s] 1762 | constexpr double zero = 0.0; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1763 | constexpr volatile double vzero = 0.0; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1764 | [ 185s] | [ 185s] 1765 | double hfsq, f, s, z, R, w, t1, t2, dk; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1766 | int32_t k, hx, i, j; [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 1767 | uint32_t lx; [ 185s] | ~~~~~~~~~~~~ [ 185s] 1768 | [ 185s] | [ 185s] 1769 | EXTRACT_WORDS(hx, lx, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1770 | [ 185s] | [ 185s] 1771 | k = 0; [ 185s] | ~~~~~~ [ 185s] 1772 | if (hx < 0x00100000) { /* x < 2**-1022 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1773 | if (((hx & 0x7FFFFFFF) | lx) == 0) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1774 | return -two54 / vzero; /* log(+-0)=-inf */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1775 | if (hx < 0) [ 185s] | ~~~~~~~~~~~ [ 185s] 1776 | return (x - x) / zero; /* log(-#) = NaN */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1777 | k -= 54; [ 185s] | ~~~~~~~~ [ 185s] 1778 | x *= two54; /* subnormal number, scale up x */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1779 | GET_HIGH_WORD(hx, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1780 | } [ 185s] | ~ [ 185s] 1781 | if (hx >= 0x7FF00000) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1782 | return x + x; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 1783 | k += (hx >> 20) - 1023; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1784 | hx &= 0x000FFFFF; [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 1785 | i = (hx + 0x95F64) & 0x100000; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1786 | SET_HIGH_WORD(x, hx | (i ^ 0x3FF00000)); /* normalize x or x/2 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1787 | k += (i >> 20); [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 1788 | f = x - 1.0; [ 185s] | ~~~~~~~~~~~~ [ 185s] 1789 | if ((0x000FFFFF & (2 + hx)) < 3) { /* -2**-20 <= f < 2**-20 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1790 | if (f == zero) { [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1791 | if (k == 0) { [ 185s] | ~~~~~~~~~~~~~ [ 185s] 1792 | return zero; [ 185s] | ~~~~~~~~~~~~ [ 185s] 1793 | } else { [ 185s] | ~~~~~~~~ [ 185s] 1794 | dk = static_cast(k); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1795 | return dk * ln2_hi + dk * ln2_lo; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1796 | } [ 185s] | ~ [ 185s] 1797 | } [ 185s] | ~ [ 185s] 1798 | R = f * f * (0.5 - 0.33333333333333333 * f); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1799 | if (k == 0) { [ 185s] | ~~~~~~~~~~~~~ [ 185s] 1800 | return f - R; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 1801 | } else { [ 185s] | ~~~~~~~~ [ 185s] 1802 | dk = static_cast(k); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1803 | return dk * ln2_hi - ((R - dk * ln2_lo) - f); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1804 | } [ 185s] | ~ [ 185s] 1805 | } [ 185s] | ~ [ 185s] 1806 | s = f / (2.0 + f); [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 1807 | dk = static_cast(k); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1808 | z = s * s; [ 185s] | ~~~~~~~~~~ [ 185s] 1809 | i = hx - 0x6147A; [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 1810 | w = z * z; [ 185s] | ~~~~~~~~~~ [ 185s] 1811 | j = 0x6B851 - hx; [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 1812 | t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1813 | t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1814 | i |= j; [ 185s] | ~~~~~~~ [ 185s] 1815 | R = t2 + t1; [ 185s] | ~~~~~~~~~~~~ [ 185s] 1816 | if (i > 0) { [ 185s] | ~~~~~~~~~~~~ [ 185s] 1817 | hfsq = 0.5 * f * f; [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 1818 | if (k == 0) [ 185s] | ~~~~~~~~~~~ [ 185s] 1819 | return f - (hfsq - s * (hfsq + R)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1820 | else [ 185s] | ~~~~ [ 185s] 1821 | return dk * ln2_hi - ((hfsq - (s * (hfsq + R) + dk * ln2_lo)) - f); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1822 | } else { [ 185s] | ~~~~~~~~ [ 185s] 1823 | if (k == 0) [ 185s] | ~~~~~~~~~~~ [ 185s] 1824 | return f - s * (f - R); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1825 | else [ 185s] | ~~~~ [ 185s] 1826 | return dk * ln2_hi - ((s * (f - R) - dk * ln2_lo) - f); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1827 | } [ 185s] | ~ [ 185s] 1828 | } [ 185s] | ~ [ 185s] 1829 | [ 185s] | [ 185s] 1830 | /* double log1p(double x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1831 | * [ 185s] | ~ [ 185s] 1832 | * Method : [ 185s] | ~~~~~~~~~~ [ 185s] 1833 | * 1. Argument Reduction: find k and f such that [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1834 | * 1+x = 2^k * (1+f), [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1835 | * where sqrt(2)/2 < 1+f < sqrt(2) . [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1836 | * [ 185s] | ~ [ 185s] 1837 | * Note. If k=0, then f=x is exact. However, if k!=0, then f [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1838 | * may not be representable exactly. In that case, a correction [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1839 | * term is need. Let u=1+x rounded. Let c = (1+x)-u, then [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1840 | * log(1+x) - log(u) ~ c/u. Thus, we proceed to compute log(u), [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1841 | * and add back the correction term c/u. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1842 | * (Note: when x > 2**53, one can simply return log(x)) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1843 | * [ 185s] | ~ [ 185s] 1844 | * 2. Approximation of log1p(f). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1845 | * Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1846 | * = 2s + 2/3 s**3 + 2/5 s**5 + ....., [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1847 | * = 2s + s*R [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 1848 | * We use a special Reme algorithm on [0,0.1716] to generate [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1849 | * a polynomial of degree 14 to approximate R The maximum error [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1850 | * of this polynomial approximation is bounded by 2**-58.45. In [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1851 | * other words, [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 1852 | * 2 4 6 8 10 12 14 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1853 | * R(z) ~ Lp1*s +Lp2*s +Lp3*s +Lp4*s +Lp5*s +Lp6*s +Lp7*s [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1854 | * (the values of Lp1 to Lp7 are listed in the program) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1855 | * and [ 185s] | ~~~~~~ [ 185s] 1856 | * | 2 14 | -58.45 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1857 | * | Lp1*s +...+Lp7*s - R(z) | <= 2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1858 | * | | [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1859 | * Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1860 | * In order to guarantee error in log below 1ulp, we compute log [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1861 | * by [ 185s] | ~~~~~ [ 185s] 1862 | * log1p(f) = f - (hfsq - s*(hfsq+R)). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1863 | * [ 185s] | ~ [ 185s] 1864 | * 3. Finally, log1p(x) = k*ln2 + log1p(f). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1865 | * = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo))) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1866 | * Here ln2 is split into two floating point number: [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1867 | * ln2_hi + ln2_lo, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1868 | * where n*ln2_hi is always exact for |n| < 2000. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1869 | * [ 185s] | ~ [ 185s] 1870 | * Special cases: [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1871 | * log1p(x) is NaN with signal if x < -1 (including -INF) ; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1872 | * log1p(+INF) is +INF; log1p(-1) is -INF with signal; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1873 | * log1p(NaN) is that NaN with no signal. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1874 | * [ 185s] | ~ [ 185s] 1875 | * Accuracy: [ 185s] | ~~~~~~~~~~~ [ 185s] 1876 | * according to an error analysis, the error is always less than [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1877 | * 1 ulp (unit in the last place). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1878 | * [ 185s] | ~ [ 185s] 1879 | * Constants: [ 185s] | ~~~~~~~~~~~~ [ 185s] 1880 | * The hexadecimal values are the intended ones for the following [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1881 | * constants. The decimal values may be used, provided that the [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1882 | * compiler will convert from decimal to binary accurately enough [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1883 | * to produce the hexadecimal values shown. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1884 | * [ 185s] | ~ [ 185s] 1885 | * Note: Assuming log() return accurate answer, the following [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1886 | * algorithm can be used to compute log1p(x) to within a few ULP: [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1887 | * [ 185s] | ~ [ 185s] 1888 | * u = 1+x; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 1889 | * if(u==1.0) return x ; else [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1890 | * return log(u)*(x/(u-1.0)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1891 | * [ 185s] | ~ [ 185s] 1892 | * See HP-15C Advanced Functions Handbook, p.193. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1893 | */ [ 185s] | ~~ [ 185s] 1894 | double log1p(double x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1895 | { [ 185s] | ~ [ 185s] 1896 | constexpr double /* -- */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1897 | ln2_hi [ 185s] | ~~~~~~ [ 185s] 1898 | = 6.93147180369123816490e-01, /* 3fe62e42 fee00000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1899 | ln2_lo = 1.90821492927058770002e-10, /* 3dea39ef 35793c76 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1900 | two54 = 1.80143985094819840000e+16, /* 43500000 00000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1901 | Lp1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1902 | Lp2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1903 | Lp3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1904 | Lp4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1905 | Lp5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1906 | Lp6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1907 | Lp7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1908 | [ 185s] | [ 185s] 1909 | constexpr double zero = 0.0; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1910 | constexpr volatile double vzero = 0.0; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1911 | [ 185s] | [ 185s] 1912 | double hfsq, f, c, s, z, R, u; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1913 | int32_t k, hx, hu, ax; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1914 | [ 185s] | [ 185s] 1915 | GET_HIGH_WORD(hx, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1916 | ax = hx & 0x7FFFFFFF; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1917 | [ 185s] | [ 185s] 1918 | c = 0; [ 185s] | ~~~~~~ [ 185s] 1919 | k = 1; [ 185s] | ~~~~~~ [ 185s] 1920 | if (hx < 0x3FDA827A) { /* 1+x < sqrt(2)+ */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1921 | if (ax >= 0x3FF00000) { /* x <= -1.0 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1922 | if (x == -1.0) [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 1923 | return -two54 / vzero; /* log1p(-1)=+inf */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1924 | else [ 185s] | ~~~~ [ 185s] 1925 | return (x - x) / (x - x); /* log1p(x<-1)=NaN */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1926 | } [ 185s] | ~ [ 185s] 1927 | if (ax < 0x3E200000) { /* |x| < 2**-29 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1928 | if (two54 + x > zero /* raise inexact */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1929 | && ax < 0x3C900000) /* |x| < 2**-54 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1930 | return x; [ 185s] | ~~~~~~~~~ [ 185s] 1931 | else [ 185s] | ~~~~ [ 185s] 1932 | return x - x * x * 0.5; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1933 | } [ 185s] | ~ [ 185s] 1934 | if (hx > 0 || hx <= static_cast(0xBFD2BEC4)) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1935 | k = 0; [ 185s] | ~~~~~~ [ 185s] 1936 | f = x; [ 185s] | ~~~~~~ [ 185s] 1937 | hu = 1; [ 185s] | ~~~~~~~ [ 185s] 1938 | } /* sqrt(2)/2- <= 1+x < sqrt(2)+ */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1939 | } [ 185s] | ~ [ 185s] 1940 | if (hx >= 0x7FF00000) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1941 | return x + x; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 1942 | if (k != 0) { [ 185s] | ~~~~~~~~~~~~~ [ 185s] 1943 | if (hx < 0x43400000) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1944 | STRICT_ASSIGN(double, u, 1.0 + x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1945 | GET_HIGH_WORD(hu, u); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1946 | k = (hu >> 20) - 1023; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1947 | c = (k > 0) ? 1.0 - (u - x) : x - (u - 1.0); /* correction term */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1948 | c /= u; [ 185s] | ~~~~~~~ [ 185s] 1949 | } else { [ 185s] | ~~~~~~~~ [ 185s] 1950 | u = x; [ 185s] | ~~~~~~ [ 185s] 1951 | GET_HIGH_WORD(hu, u); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1952 | k = (hu >> 20) - 1023; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1953 | c = 0; [ 185s] | ~~~~~~ [ 185s] 1954 | } [ 185s] | ~ [ 185s] 1955 | hu &= 0x000FFFFF; [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 1956 | /* [ 185s] | ~~ [ 185s] 1957 | * The approximation to sqrt(2) used in thresholds is not [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1958 | * critical. However, the ones used above must give less [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1959 | * strict bounds than the one here so that the k==0 case is [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1960 | * never reached from here, since here we have committed to [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1961 | * using the correction term but don't use it if k==0. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1962 | */ [ 185s] | ~~ [ 185s] 1963 | if (hu < 0x6A09E) { /* u ~< sqrt(2) */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1964 | SET_HIGH_WORD(u, hu | 0x3FF00000); /* normalize u */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1965 | } else { [ 185s] | ~~~~~~~~ [ 185s] 1966 | k += 1; [ 185s] | ~~~~~~~ [ 185s] 1967 | SET_HIGH_WORD(u, hu | 0x3FE00000); /* normalize u/2 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1968 | hu = (0x00100000 - hu) >> 2; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1969 | } [ 185s] | ~ [ 185s] 1970 | f = u - 1.0; [ 185s] | ~~~~~~~~~~~~ [ 185s] 1971 | } [ 185s] | ~ [ 185s] 1972 | hfsq = 0.5 * f * f; [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 1973 | if (hu == 0) { /* |f| < 2**-20 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1974 | if (f == zero) { [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1975 | if (k == 0) { [ 185s] | ~~~~~~~~~~~~~ [ 185s] 1976 | return zero; [ 185s] | ~~~~~~~~~~~~ [ 185s] 1977 | } else { [ 185s] | ~~~~~~~~ [ 185s] 1978 | c += k * ln2_lo; [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1979 | return k * ln2_hi + c; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1980 | } [ 185s] | ~ [ 185s] 1981 | } [ 185s] | ~ [ 185s] 1982 | R = hfsq * (1.0 - 0.66666666666666666 * f); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1983 | if (k == 0) [ 185s] | ~~~~~~~~~~~ [ 185s] 1984 | return f - R; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 1985 | else [ 185s] | ~~~~ [ 185s] 1986 | return k * ln2_hi - ((R - (k * ln2_lo + c)) - f); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1987 | } [ 185s] | ~ [ 185s] 1988 | s = f / (2.0 + f); [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 1989 | z = s * s; [ 185s] | ~~~~~~~~~~ [ 185s] 1990 | R = z * (Lp1 + z * (Lp2 + z * (Lp3 + z * (Lp4 + z * (Lp5 + z * (Lp6 + z * Lp7)))))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1991 | if (k == 0) [ 185s] | ~~~~~~~~~~~ [ 185s] 1992 | return f - (hfsq - s * (hfsq + R)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1993 | else [ 185s] | ~~~~ [ 185s] 1994 | return k * ln2_hi - ((hfsq - (s * (hfsq + R) + (k * ln2_lo + c))) - f); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1995 | } [ 185s] | ~ [ 185s] 1996 | [ 185s] | [ 185s] 1997 | /* [ 185s] | ~~ [ 185s] 1998 | * k_log1p(f): [ 185s] | ~~~~~~~~~~~~~ [ 185s] 1999 | * Return log(1+f) - f for 1+f in ~[sqrt(2)/2, sqrt(2)]. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2000 | * [ 185s] | ~ [ 185s] 2001 | * The following describes the overall strategy for computing [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2002 | * logarithms in base e. The argument reduction and adding the final [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2003 | * term of the polynomial are done by the caller for increased accuracy [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2004 | * when different bases are used. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2005 | * [ 185s] | ~ [ 185s] 2006 | * Method : [ 185s] | ~~~~~~~~~~ [ 185s] 2007 | * 1. Argument Reduction: find k and f such that [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2008 | * x = 2^k * (1+f), [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2009 | * where sqrt(2)/2 < 1+f < sqrt(2) . [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2010 | * [ 185s] | ~ [ 185s] 2011 | * 2. Approximation of log(1+f). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2012 | * Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2013 | * = 2s + 2/3 s**3 + 2/5 s**5 + ....., [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2014 | * = 2s + s*R [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2015 | * We use a special Reme algorithm on [0,0.1716] to generate [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2016 | * a polynomial of degree 14 to approximate R The maximum error [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2017 | * of this polynomial approximation is bounded by 2**-58.45. In [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2018 | * other words, [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 2019 | * 2 4 6 8 10 12 14 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2020 | * R(z) ~ Lg1*s +Lg2*s +Lg3*s +Lg4*s +Lg5*s +Lg6*s +Lg7*s [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2021 | * (the values of Lg1 to Lg7 are listed in the program) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2022 | * and [ 185s] | ~~~~~~~~~~ [ 185s] 2023 | * | 2 14 | -58.45 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2024 | * | Lg1*s +...+Lg7*s - R(z) | <= 2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2025 | * | | [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2026 | * Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2027 | * In order to guarantee error in log below 1ulp, we compute log [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2028 | * by [ 185s] | ~~~~~~~~~ [ 185s] 2029 | * log(1+f) = f - s*(f - R) (if f is not too large) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2030 | * log(1+f) = f - (hfsq - s*(hfsq+R)). (better accuracy) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2031 | * [ 185s] | ~ [ 185s] 2032 | * 3. Finally, log(x) = k*ln2 + log(1+f). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2033 | * = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo))) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2034 | * Here ln2 is split into two floating point number: [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2035 | * ln2_hi + ln2_lo, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2036 | * where n*ln2_hi is always exact for |n| < 2000. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2037 | * [ 185s] | ~ [ 185s] 2038 | * Special cases: [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 2039 | * log(x) is NaN with signal if x < 0 (including -INF) ; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2040 | * log(+INF) is +INF; log(0) is -INF with signal; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2041 | * log(NaN) is that NaN with no signal. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2042 | * [ 185s] | ~ [ 185s] 2043 | * Accuracy: [ 185s] | ~~~~~~~~~~~ [ 185s] 2044 | * according to an error analysis, the error is always less than [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2045 | * 1 ulp (unit in the last place). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2046 | * [ 185s] | ~ [ 185s] 2047 | * Constants: [ 185s] | ~~~~~~~~~~~~ [ 185s] 2048 | * The hexadecimal values are the intended ones for the following [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2049 | * constants. The decimal values may be used, provided that the [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2050 | * compiler will convert from decimal to binary accurately enough [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2051 | * to produce the hexadecimal values shown. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2052 | */ [ 185s] | ~~ [ 185s] 2053 | [ 185s] | [ 185s] 2054 | constexpr double Lg1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2055 | Lg2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2056 | Lg3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2057 | Lg4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2058 | Lg5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2059 | Lg6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2060 | Lg7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2061 | [ 185s] | [ 185s] 2062 | /* [ 185s] | ~~ [ 185s] 2063 | * We always inline k_log1p(), since doing so produces a [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2064 | * substantial performance improvement (~40% on amd64). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2065 | */ [ 185s] | ~~ [ 185s] 2066 | static inline double k_log1p(double f) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2067 | { [ 185s] | ~ [ 185s] 2068 | double hfsq, s, z, R, w, t1, t2; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2069 | [ 185s] | [ 185s] 2070 | s = f / (2.0 + f); [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 2071 | z = s * s; [ 185s] | ~~~~~~~~~~ [ 185s] 2072 | w = z * z; [ 185s] | ~~~~~~~~~~ [ 185s] 2073 | t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2074 | t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2075 | R = t2 + t1; [ 185s] | ~~~~~~~~~~~~ [ 185s] 2076 | hfsq = 0.5 * f * f; [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 2077 | return s * (hfsq + R); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2078 | } [ 185s] | ~ [ 185s] 2079 | [ 185s] | [ 185s] 2080 | /* [ 185s] | ~~ [ 185s] 2081 | * Return the base 2 logarithm of x. See e_log.c and k_log.h for most [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2082 | * comments. [ 185s] | ~~~~~~~~~~~ [ 185s] 2083 | * [ 185s] | ~ [ 185s] 2084 | * This reduces x to {k, 1+f} exactly as in e_log.c, then calls the kernel, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2085 | * then does the combining and scaling steps [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2086 | * log2(x) = (f - 0.5*f*f + k_log1p(f)) / ln2 + k [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2087 | * in not-quite-routine extra precision. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2088 | */ [ 185s] | ~~ [ 185s] 2089 | double log2(double x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2090 | { [ 185s] | ~ [ 185s] 2091 | constexpr double [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 2092 | two54 [ 185s] | ~~~~~ [ 185s] 2093 | = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2094 | ivln2hi = 1.44269504072144627571e+00, /* 0x3FF71547, 0x65200000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2095 | ivln2lo = 1.67517131648865118353e-10; /* 0x3DE705FC, 0x2EEFA200 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2096 | [ 185s] | [ 185s] 2097 | constexpr double zero = 0.0; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2098 | constexpr volatile double vzero = 0.0; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2099 | [ 185s] | [ 185s] 2100 | double f, hfsq, hi, lo, r, val_hi, val_lo, w, y; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2101 | int32_t i, k, hx; [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 2102 | uint32_t lx; [ 185s] | ~~~~~~~~~~~~ [ 185s] 2103 | [ 185s] | [ 185s] 2104 | EXTRACT_WORDS(hx, lx, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2105 | [ 185s] | [ 185s] 2106 | k = 0; [ 185s] | ~~~~~~ [ 185s] 2107 | if (hx < 0x00100000) { /* x < 2**-1022 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2108 | if (((hx & 0x7FFFFFFF) | lx) == 0) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2109 | return -two54 / vzero; /* log(+-0)=-inf */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2110 | if (hx < 0) [ 185s] | ~~~~~~~~~~~ [ 185s] 2111 | return (x - x) / zero; /* log(-#) = NaN */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2112 | k -= 54; [ 185s] | ~~~~~~~~ [ 185s] 2113 | x *= two54; /* subnormal number, scale up x */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2114 | GET_HIGH_WORD(hx, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2115 | } [ 185s] | ~ [ 185s] 2116 | if (hx >= 0x7FF00000) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2117 | return x + x; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 2118 | if (hx == 0x3FF00000 && lx == 0) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2119 | return zero; /* log(1) = +0 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2120 | k += (hx >> 20) - 1023; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2121 | hx &= 0x000FFFFF; [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 2122 | i = (hx + 0x95F64) & 0x100000; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2123 | SET_HIGH_WORD(x, hx | (i ^ 0x3FF00000)); /* normalize x or x/2 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2124 | k += (i >> 20); [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 2125 | y = static_cast(k); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2126 | f = x - 1.0; [ 185s] | ~~~~~~~~~~~~ [ 185s] 2127 | hfsq = 0.5 * f * f; [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 2128 | r = k_log1p(f); [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 2129 | [ 185s] | [ 185s] 2130 | /* [ 185s] | ~~ [ 185s] 2131 | * f-hfsq must (for args near 1) be evaluated in extra precision [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2132 | * to avoid a large cancellation when x is near sqrt(2) or 1/sqrt(2). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2133 | * This is fairly efficient since f-hfsq only depends on f, so can [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2134 | * be evaluated in parallel with R. Not combining hfsq with R also [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2135 | * keeps R small (though not as small as a true `lo' term would be), [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2136 | * so that extra precision is not needed for terms involving R. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2137 | * [ 185s] | ~ [ 185s] 2138 | * Compiler bugs involving extra precision used to break Dekker's [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2139 | * theorem for spitting f-hfsq as hi+lo, unless double_t was used [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2140 | * or the multi-precision calculations were avoided when double_t [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2141 | * has extra precision. These problems are now automatically [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2142 | * avoided as a side effect of the optimization of combining the [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2143 | * Dekker splitting step with the clear-low-bits step. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2144 | * [ 185s] | ~ [ 185s] 2145 | * y must (for args near sqrt(2) and 1/sqrt(2)) be added in extra [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2146 | * precision to avoid a very large cancellation when x is very near [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2147 | * these values. Unlike the above cancellations, this problem is [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2148 | * specific to base 2. It is strange that adding +-1 is so much [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2149 | * harder than adding +-ln2 or +-log10_2. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2150 | * [ 185s] | ~ [ 185s] 2151 | * This uses Dekker's theorem to normalize y+val_hi, so the [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2152 | * compiler bugs are back in some configurations, sigh. And I [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2153 | * don't want to used double_t to avoid them, since that gives a [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2154 | * pessimization and the support for avoiding the pessimization [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2155 | * is not yet available. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2156 | * [ 185s] | ~ [ 185s] 2157 | * The multi-precision calculations for the multiplications are [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2158 | * routine. [ 185s] | ~~~~~~~~~~ [ 185s] 2159 | */ [ 185s] | ~~ [ 185s] 2160 | hi = f - hfsq; [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 2161 | SET_LOW_WORD(hi, 0); [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 2162 | lo = (f - hi) - hfsq + r; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2163 | val_hi = hi * ivln2hi; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2164 | val_lo = (lo + hi) * ivln2lo + lo * ivln2hi; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2165 | [ 185s] | [ 185s] 2166 | /* spadd(val_hi, val_lo, y), except for not using double_t: */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2167 | w = y + val_hi; [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 2168 | val_lo += (y - w) + val_hi; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2169 | val_hi = w; [ 185s] | ~~~~~~~~~~~ [ 185s] 2170 | [ 185s] | [ 185s] 2171 | return val_lo + val_hi; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2172 | } [ 185s] | ~ [ 185s] 2173 | [ 185s] | [ 185s] 2174 | /* [ 185s] | ~~ [ 185s] 2175 | * Return the base 10 logarithm of x [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2176 | * [ 185s] | ~ [ 185s] 2177 | * Method : [ 185s] | ~~~~~~~~~~ [ 185s] 2178 | * Let log10_2hi = leading 40 bits of log10(2) and [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2179 | * log10_2lo = log10(2) - log10_2hi, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2180 | * ivln10 = 1/log(10) rounded. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2181 | * Then [ 185s] | ~~~~~~~~~~~ [ 185s] 2182 | * n = ilogb(x), [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2183 | * if(n<0) n = n+1; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2184 | * x = scalbn(x,-n); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2185 | * log10(x) := n*log10_2hi + (n*log10_2lo + ivln10*log(x)) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2186 | * [ 185s] | ~ [ 185s] 2187 | * Note 1: [ 185s] | ~~~~~~~~~~ [ 185s] 2188 | * To guarantee log10(10**n)=n, where 10**n is normal, the rounding [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2189 | * mode must set to Round-to-Nearest. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2190 | * Note 2: [ 185s] | ~~~~~~~~~~ [ 185s] 2191 | * [1/log(10)] rounded to 53 bits has error .198 ulps; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2192 | * log10 is monotonic at all binary break points. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2193 | * [ 185s] | ~ [ 185s] 2194 | * Special cases: [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 2195 | * log10(x) is NaN if x < 0; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2196 | * log10(+INF) is +INF; log10(0) is -INF; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2197 | * log10(NaN) is that NaN; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2198 | * log10(10**N) = N for N=0,1,...,22. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2199 | */ [ 185s] | ~~ [ 185s] 2200 | double log10(double x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2201 | { [ 185s] | ~ [ 185s] 2202 | constexpr double [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 2203 | two54 [ 185s] | ~~~~~ [ 185s] 2204 | = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2205 | ivln10 = 4.34294481903251816668e-01, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2206 | log10_2hi = 3.01029995663611771306e-01, /* 0x3FD34413, 0x509F6000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2207 | log10_2lo = 3.69423907715893078616e-13; /* 0x3D59FEF3, 0x11F12B36 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2208 | [ 185s] | [ 185s] 2209 | constexpr double zero = 0.0; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2210 | constexpr volatile double vzero = 0.0; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2211 | [ 185s] | [ 185s] 2212 | double y; [ 185s] | ~~~~~~~~~ [ 185s] 2213 | int32_t i, k, hx; [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 2214 | uint32_t lx; [ 185s] | ~~~~~~~~~~~~ [ 185s] 2215 | [ 185s] | [ 185s] 2216 | EXTRACT_WORDS(hx, lx, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2217 | [ 185s] | [ 185s] 2218 | k = 0; [ 185s] | ~~~~~~ [ 185s] 2219 | if (hx < 0x00100000) { /* x < 2**-1022 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2220 | if (((hx & 0x7FFFFFFF) | lx) == 0) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2221 | return -two54 / vzero; /* log(+-0)=-inf */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2222 | if (hx < 0) [ 185s] | ~~~~~~~~~~~ [ 185s] 2223 | return (x - x) / zero; /* log(-#) = NaN */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2224 | k -= 54; [ 185s] | ~~~~~~~~ [ 185s] 2225 | x *= two54; /* subnormal number, scale up x */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2226 | GET_HIGH_WORD(hx, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2227 | GET_LOW_WORD(lx, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 2228 | } [ 185s] | ~ [ 185s] 2229 | if (hx >= 0x7FF00000) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2230 | return x + x; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 2231 | if (hx == 0x3FF00000 && lx == 0) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2232 | return zero; /* log(1) = +0 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2233 | k += (hx >> 20) - 1023; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2234 | [ 185s] | [ 185s] 2235 | i = (k & 0x80000000) >> 31; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2236 | hx = (hx & 0x000FFFFF) | ((0x3FF - i) << 20); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2237 | y = k + i; [ 185s] | ~~~~~~~~~~ [ 185s] 2238 | SET_HIGH_WORD(x, hx); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2239 | SET_LOW_WORD(x, lx); [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 2240 | [ 185s] | [ 185s] 2241 | double z = y * log10_2lo + ivln10 * log(x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2242 | return z + y * log10_2hi; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2243 | } [ 185s] | ~ [ 185s] 2244 | [ 185s] | [ 185s] 2245 | /* expm1(x) [ 185s] | ~~~~~~~~~~~ [ 185s] 2246 | * Returns exp(x)-1, the exponential of x minus 1. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2247 | * [ 185s] | ~ [ 185s] 2248 | * Method [ 185s] | ~~~~~~~~ [ 185s] 2249 | * 1. Argument reduction: [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2250 | * Given x, find r and integer k such that [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2251 | * [ 185s] | ~ [ 185s] 2252 | * x = k*ln2 + r, |r| <= 0.5*ln2 ~ 0.34658 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2253 | * [ 185s] | ~ [ 185s] 2254 | * Here a correction term c will be computed to compensate [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2255 | * the error in r when rounded to a floating-point number. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2256 | * [ 185s] | ~ [ 185s] 2257 | * 2. Approximating expm1(r) by a special rational function on [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2258 | * the interval [0,0.34658]: [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2259 | * Since [ 185s] | ~~~~~~~~ [ 185s] 2260 | * r*(exp(r)+1)/(exp(r)-1) = 2+ r^2/6 - r^4/360 + ... [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2261 | * we define R1(r*r) by [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2262 | * r*(exp(r)+1)/(exp(r)-1) = 2+ r^2/6 * R1(r*r) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2263 | * That is, [ 185s] | ~~~~~~~~~~~ [ 185s] 2264 | * R1(r**2) = 6/r *((exp(r)+1)/(exp(r)-1) - 2/r) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2265 | * = 6/r * ( 1 + 2.0*(1/(exp(r)-1) - 1/r)) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2266 | * = 1 - r^2/60 + r^4/2520 - r^6/100800 + ... [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2267 | * We use a special Reme algorithm on [0,0.347] to generate [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2268 | * a polynomial of degree 5 in r*r to approximate R1. The [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2269 | * maximum error of this polynomial approximation is bounded [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2270 | * by 2**-61. In other words, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2271 | * R1(z) ~ 1.0 + Q1*z + Q2*z**2 + Q3*z**3 + Q4*z**4 + Q5*z**5 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2272 | * where Q1 = -1.6666666666666567384E-2, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2273 | * Q2 = 3.9682539681370365873E-4, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2274 | * Q3 = -9.9206344733435987357E-6, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2275 | * Q4 = 2.5051361420808517002E-7, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2276 | * Q5 = -6.2843505682382617102E-9; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2277 | * z = r*r, [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 2278 | * with error bounded by [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2279 | * | 5 | -61 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2280 | * | 1.0+Q1*z+...+Q5*z - R1(z) | <= 2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2281 | * | | [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2282 | * [ 185s] | ~ [ 185s] 2283 | * expm1(r) = exp(r)-1 is then computed by the following [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2284 | * specific way which minimize the accumulation rounding error: [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2285 | * 2 3 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2286 | * r r [ 3 - (R1 + R1*r/2) ] [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2287 | * expm1(r) = r + --- + --- * [--------------------] [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2288 | * 2 2 [ 6 - r*(3 - R1*r/2) ] [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2289 | * [ 185s] | ~ [ 185s] 2290 | * To compensate the error in the argument reduction, we use [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2291 | * expm1(r+c) = expm1(r) + c + expm1(r)*c [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2292 | * ~ expm1(r) + c + r*c [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2293 | * Thus c+r*c will be added in as the correction terms for [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2294 | * expm1(r+c). Now rearrange the term to avoid optimization [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2295 | * screw up: [ 185s] | ~~~~~~~~~~~~~ [ 185s] 2296 | * ( 2 2 ) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2297 | * ({ ( r [ R1 - (3 - R1*r/2) ] ) } r ) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2298 | * expm1(r+c)~r - ({r*(--- * [--------------------]-c)-c} - --- ) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2299 | * ({ ( 2 [ 6 - r*(3 - R1*r/2) ] ) } 2 ) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2300 | * ( ) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2301 | * [ 185s] | ~ [ 185s] 2302 | * = r - E [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 2303 | * 3. Scale back to obtain expm1(x): [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2304 | * From step 1, we have [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2305 | * expm1(x) = either 2^k*[expm1(r)+1] - 1 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2306 | * = or 2^k*[expm1(r) + (1-2^-k)] [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2307 | * 4. Implementation notes: [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2308 | * (A). To save one multiplication, we scale the coefficient Qi [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2309 | * to Qi*2^i, and replace z by (x^2)/2. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2310 | * (B). To achieve maximum accuracy, we compute expm1(x) by [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2311 | * (i) if x < -56*ln2, return -1.0, (raise inexact if x!=inf) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2312 | * (ii) if k=0, return r-E [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2313 | * (iii) if k=-1, return 0.5*(r-E)-0.5 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2314 | * (iv) if k=1 if r < -0.25, return 2*((r+0.5)- E) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2315 | * else return 1.0+2.0*(r-E); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2316 | * (v) if (k<-2||k>56) return 2^k(1-(E-r)) - 1 (or exp(x)-1) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2317 | * (vi) if k <= 20, return 2^k((1-2^-k)-(E-r)), else [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2318 | * (vii) return 2^k(1-((E+2^-k)-r)) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2319 | * [ 185s] | ~ [ 185s] 2320 | * Special cases: [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 2321 | * expm1(INF) is INF, expm1(NaN) is NaN; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2322 | * expm1(-INF) is -1, and [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2323 | * for finite argument, only expm1(0)=0 is exact. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2324 | * [ 185s] | ~ [ 185s] 2325 | * Accuracy: [ 185s] | ~~~~~~~~~~~ [ 185s] 2326 | * according to an error analysis, the error is always less than [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2327 | * 1 ulp (unit in the last place). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2328 | * [ 185s] | ~ [ 185s] 2329 | * Misc. info. [ 185s] | ~~~~~~~~~~~~~ [ 185s] 2330 | * For IEEE double [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 2331 | * if x > 7.09782712893383973096e+02 then expm1(x) overflow [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2332 | * [ 185s] | ~ [ 185s] 2333 | * Constants: [ 185s] | ~~~~~~~~~~~~ [ 185s] 2334 | * The hexadecimal values are the intended ones for the following [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2335 | * constants. The decimal values may be used, provided that the [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2336 | * compiler will convert from decimal to binary accurately enough [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2337 | * to produce the hexadecimal values shown. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2338 | */ [ 185s] | ~~ [ 185s] 2339 | double expm1(double x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2340 | { [ 185s] | ~ [ 185s] 2341 | constexpr double [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 2342 | one [ 185s] | ~~~ [ 185s] 2343 | = 1.0, [ 185s] | ~~~~~~ [ 185s] 2344 | tiny = 1.0e-300, [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 2345 | o_threshold = 7.09782712893383973096e+02, /* 0x40862E42, 0xFEFA39EF */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2346 | ln2_hi = 6.93147180369123816490e-01, /* 0x3FE62E42, 0xFEE00000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2347 | ln2_lo = 1.90821492927058770002e-10, /* 0x3DEA39EF, 0x35793C76 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2348 | invln2 = 1.44269504088896338700e+00, /* 0x3FF71547, 0x652B82FE */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2349 | /* Scaled Q's: Qn_here = 2**n * Qn_above, for R(2*z) where z = hxs = [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2350 | x*x/2: */ [ 185s] | ~~~~~~~~~ [ 185s] 2351 | Q1 = -3.33333333333331316428e-02, /* BFA11111 111110F4 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2352 | Q2 = 1.58730158725481460165e-03, /* 3F5A01A0 19FE5585 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2353 | Q3 = -7.93650757867487942473e-05, /* BF14CE19 9EAADBB7 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2354 | Q4 = 4.00821782732936239552e-06, /* 3ED0CFCA 86E65239 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2355 | Q5 = -2.01099218183624371326e-07; /* BE8AFDB7 6E09C32D */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2356 | [ 185s] | [ 185s] 2357 | constexpr volatile double huge = 1.0e+300; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2358 | [ 185s] | [ 185s] 2359 | double y, hi, lo, c, t, e, hxs, hfx, r1, twopk; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2360 | int32_t k, xsb; [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 2361 | uint32_t hx; [ 185s] | ~~~~~~~~~~~~ [ 185s] 2362 | [ 185s] | [ 185s] 2363 | GET_HIGH_WORD(hx, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2364 | xsb = hx & 0x80000000; /* sign bit of x */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2365 | hx &= 0x7FFFFFFF; /* high word of |x| */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2366 | [ 185s] | [ 185s] 2367 | /* filter out huge and non-finite argument */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2368 | if (hx >= 0x4043687A) { /* if |x|>=56*ln2 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2369 | if (hx >= 0x40862E42) { /* if |x|>=709.78... */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2370 | if (hx >= 0x7FF00000) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2371 | uint32_t low; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 2372 | GET_LOW_WORD(low, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2373 | if (((hx & 0xFFFFF) | low) != 0) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2374 | return x + x; /* NaN */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2375 | else [ 185s] | ~~~~ [ 185s] 2376 | return (xsb == 0) ? x : -1.0; /* exp(+-inf)={inf,-1} */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2377 | } [ 185s] | ~ [ 185s] 2378 | if (x > o_threshold) [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 2379 | return huge * huge; /* overflow */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2380 | } [ 185s] | ~ [ 185s] 2381 | if (xsb != 0 && x + tiny < 0.0) { /* x < -56*ln2, return -1.0 with inexact */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2382 | /* raise inexact */ [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 2383 | return tiny - one; /* return -1 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2384 | } [ 185s] | ~ [ 185s] 2385 | } [ 185s] | ~ [ 185s] 2386 | [ 185s] | [ 185s] 2387 | /* argument reduction */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2388 | if (hx > 0x3FD62E42) { /* if |x| > 0.5 ln2 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2389 | if (hx < 0x3FF0A2B2) { /* and |x| < 1.5 ln2 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2390 | if (xsb == 0) { [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 2391 | hi = x - ln2_hi; [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 2392 | lo = ln2_lo; [ 185s] | ~~~~~~~~~~~~ [ 185s] 2393 | k = 1; [ 185s] | ~~~~~~ [ 185s] 2394 | } else { [ 185s] | ~~~~~~~~ [ 185s] 2395 | hi = x + ln2_hi; [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 2396 | lo = -ln2_lo; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 2397 | k = -1; [ 185s] | ~~~~~~~ [ 185s] 2398 | } [ 185s] | ~ [ 185s] 2399 | } else { [ 185s] | ~~~~~~~~ [ 185s] 2400 | k = invln2 * x + ((xsb == 0) ? 0.5 : -0.5); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2401 | t = k; [ 185s] | ~~~~~~ [ 185s] 2402 | hi = x - t * ln2_hi; /* t*ln2_hi is exact here */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2403 | lo = t * ln2_lo; [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 2404 | } [ 185s] | ~ [ 185s] 2405 | STRICT_ASSIGN(double, x, hi - lo); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2406 | c = (hi - x) - lo; [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 2407 | } else if (hx < 0x3C900000) { /* when |x|<2**-54, return x */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2408 | t = huge + x; /* return x with inexact flags when x!=0 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2409 | return x - (t - (huge + x)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2410 | } else { [ 185s] | ~~~~~~~~ [ 185s] 2411 | k = 0; [ 185s] | ~~~~~~ [ 185s] 2412 | } [ 185s] | ~ [ 185s] 2413 | [ 185s] | [ 185s] 2414 | /* x is now in primary range */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2415 | hfx = 0.5 * x; [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 2416 | hxs = x * hfx; [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 2417 | r1 = one + hxs * (Q1 + hxs * (Q2 + hxs * (Q3 + hxs * (Q4 + hxs * Q5)))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2418 | t = 3.0 - r1 * hfx; [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 2419 | e = hxs * ((r1 - t) / (6.0 - x * t)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2420 | if (k == 0) { [ 185s] | ~~~~~~~~~~~~~ [ 185s] 2421 | return x - (x * e - hxs); /* c is 0 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2422 | } else { [ 185s] | ~~~~~~~~ [ 185s] 2423 | INSERT_WORDS(twopk, 0x3FF00000 + (k << 20), 0); /* 2^k */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2424 | e = (x * (e - c) - c); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2425 | e -= hxs; [ 185s] | ~~~~~~~~~ [ 185s] 2426 | if (k == -1) [ 185s] | ~~~~~~~~~~~~ [ 185s] 2427 | return 0.5 * (x - e) - 0.5; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2428 | if (k == 1) { [ 185s] | ~~~~~~~~~~~~~ [ 185s] 2429 | if (x < -0.25) [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 2430 | return -2.0 * (e - (x + 0.5)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2431 | else [ 185s] | ~~~~ [ 185s] 2432 | return one + 2.0 * (x - e); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2433 | } [ 185s] | ~ [ 185s] 2434 | if (k <= -2 || k > 56) { /* suffice to return exp(x)-1 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2435 | y = one - (e - x); [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 2436 | // TODO(mvstanton): is this replacement for the hex float [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2437 | // sufficient? [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 2438 | // if (k == 1024) y = y*2.0*0x1p1023; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2439 | if (k == 1024) [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 2440 | y = y * 2.0 * 8.98846567431158e+307; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2441 | else [ 185s] | ~~~~ [ 185s] 2442 | y = y * twopk; [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 2443 | return y - one; [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 2444 | } [ 185s] | ~ [ 185s] 2445 | t = one; [ 185s] | ~~~~~~~~ [ 185s] 2446 | if (k < 20) { [ 185s] | ~~~~~~~~~~~~~ [ 185s] 2447 | SET_HIGH_WORD(t, 0x3FF00000 - (0x200000 >> k)); /* t=1-2^-k */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2448 | y = t - (e - x); [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 2449 | y = y * twopk; [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 2450 | } else { [ 185s] | ~~~~~~~~ [ 185s] 2451 | SET_HIGH_WORD(t, ((0x3FF - k) << 20)); /* 2^-k */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2452 | y = x - (e + t); [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 2453 | y += one; [ 185s] | ~~~~~~~~~ [ 185s] 2454 | y = y * twopk; [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 2455 | } [ 185s] | ~ [ 185s] 2456 | } [ 185s] | ~ [ 185s] 2457 | return y; [ 185s] | ~~~~~~~~~ [ 185s] 2458 | } [ 185s] | ~ [ 185s] 2459 | [ 185s] | [ 185s] 2460 | double cbrt(double x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2461 | { [ 185s] | ~ [ 185s] 2462 | constexpr uint32_t [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 2463 | B1 [ 185s] | ~~ [ 185s] 2464 | = 715094163, /* B1 = (1023-1023/3-0.03306235651)*2**20 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2465 | B2 = 696219795; /* B2 = (1023-1023/3-54/3-0.03306235651)*2**20 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2466 | [ 185s] | [ 185s] 2467 | /* |1/cbrt(x) - p(x)| < 2**-23.5 (~[-7.93e-8, 7.929e-8]). */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2468 | constexpr double P0 = 1.87595182427177009643, /* 0x3FFE03E6, 0x0F61E692 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2469 | P1 = -1.88497979543377169875, /* 0xBFFE28E0, 0x92F02420 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2470 | P2 = 1.621429720105354466140, /* 0x3FF9F160, 0x4A49D6C2 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2471 | P3 = -0.758397934778766047437, /* 0xBFE844CB, 0xBEE751D9 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2472 | P4 = 0.145996192886612446982; /* 0x3FC2B000, 0xD4E4EDD7 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2473 | [ 185s] | [ 185s] 2474 | int32_t hx; [ 185s] | ~~~~~~~~~~~ [ 185s] 2475 | union { [ 185s] | ~~~~~~~ [ 185s] 2476 | double value; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 2477 | uint64_t bits; [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 2478 | } u; [ 185s] | ~~~~ [ 185s] 2479 | double r, s, t = 0.0, w; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2480 | uint32_t sign; [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 2481 | uint32_t high, low; [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 2482 | [ 185s] | [ 185s] 2483 | EXTRACT_WORDS(hx, low, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2484 | sign = hx & 0x80000000; /* sign= sign(x) */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2485 | hx ^= sign; [ 185s] | ~~~~~~~~~~~ [ 185s] 2486 | if (hx >= 0x7FF00000) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2487 | return (x + x); /* cbrt(NaN,INF) is itself */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2488 | [ 185s] | [ 185s] 2489 | /* [ 185s] | ~~ [ 185s] 2490 | * Rough cbrt to 5 bits: [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2491 | * cbrt(2**e*(1+m) ~= 2**(e/3)*(1+(e%3+m)/3) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2492 | * where e is integral and >= 0, m is real and in [0, 1), and "/" and [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2493 | * "%" are integer division and modulus with rounding towards minus [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2494 | * infinity. The RHS is always >= the LHS and has a maximum relative [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2495 | * error of about 1 in 16. Adding a bias of -0.03306235651 to the [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2496 | * (e%3+m)/3 term reduces the error to about 1 in 32. With the IEEE [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2497 | * floating point representation, for finite positive normal values, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2498 | * ordinary integer division of the value in bits magically gives [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2499 | * almost exactly the RHS of the above provided we first subtract the [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2500 | * exponent bias (1023 for doubles) and later add it back. We do the [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2501 | * subtraction virtually to keep e >= 0 so that ordinary integer [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2502 | * division rounds towards minus infinity; this is also efficient. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2503 | */ [ 185s] | ~~ [ 185s] 2504 | if (hx < 0x00100000) { /* zero or subnormal? */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2505 | if ((hx | low) == 0) [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 2506 | return (x); /* cbrt(0) is itself */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2507 | SET_HIGH_WORD(t, 0x43500000); /* set t= 2**54 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2508 | t *= x; [ 185s] | ~~~~~~~ [ 185s] 2509 | GET_HIGH_WORD(high, t); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2510 | INSERT_WORDS(t, sign | ((high & 0x7FFFFFFF) / 3 + B2), 0); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2511 | } else { [ 185s] | ~~~~~~~~ [ 185s] 2512 | INSERT_WORDS(t, sign | (hx / 3 + B1), 0); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2513 | } [ 185s] | ~ [ 185s] 2514 | [ 185s] | [ 185s] 2515 | /* [ 185s] | ~~ [ 185s] 2516 | * New cbrt to 23 bits: [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2517 | * cbrt(x) = t*cbrt(x/t**3) ~= t*P(t**3/x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2518 | * where P(r) is a polynomial of degree 4 that approximates 1/cbrt(r) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2519 | * to within 2**-23.5 when |r - 1| < 1/10. The rough approximation [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2520 | * has produced t such than |t/cbrt(x) - 1| ~< 1/32, and cubing this [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2521 | * gives us bounds for r = t**3/x. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2522 | * [ 185s] | ~ [ 185s] 2523 | * Try to optimize for parallel evaluation as in k_tanf.c. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2524 | */ [ 185s] | ~~ [ 185s] 2525 | r = (t * t) * (t / x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2526 | t = t * ((P0 + r * (P1 + r * P2)) + ((r * r) * r) * (P3 + r * P4)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2527 | [ 185s] | [ 185s] 2528 | /* [ 185s] | ~~ [ 185s] 2529 | * Round t away from zero to 23 bits (sloppily except for ensuring that [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2530 | * the result is larger in magnitude than cbrt(x) but not much more than [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2531 | * 2 23-bit ulps larger). With rounding towards zero, the error bound [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2532 | * would be ~5/6 instead of ~4/6. With a maximum error of 2 23-bit ulps [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2533 | * in the rounded t, the infinite-precision error in the Newton [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2534 | * approximation barely affects third digit in the final error [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2535 | * 0.667; the error in the rounded t can be up to about 3 23-bit ulps [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2536 | * before the final error is larger than 0.667 ulps. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2537 | */ [ 185s] | ~~ [ 185s] 2538 | u.value = t; [ 185s] | ~~~~~~~~~~~~ [ 185s] 2539 | u.bits = (u.bits + 0x80000000) & 0xFFFFFFFFC0000000ULL; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2540 | t = u.value; [ 185s] | ~~~~~~~~~~~~ [ 185s] 2541 | [ 185s] | [ 185s] 2542 | /* one step Newton iteration to 53 bits with error < 0.667 ulps */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2543 | s = t * t; /* t*t is exact */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2544 | r = x / s; /* error <= 0.5 ulps; |r| < |t| */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2545 | w = t + t; /* t+t is exact */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2546 | r = (r - t) / (w + r); /* r-t is exact; w+r ~= 3*t */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2547 | t = t + t * r; /* error <= 0.5 + 0.5/3 + epsilon */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2548 | [ 185s] | [ 185s] 2549 | return (t); [ 185s] | ~~~~~~~~~~~ [ 185s] 2550 | } [ 185s] | ~ [ 185s] 2551 | [ 185s] | [ 185s] 2552 | /* sin(x) [ 185s] | ~~~~~~~~~ [ 185s] 2553 | * Return sine function of x. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2554 | * [ 185s] | ~ [ 185s] 2555 | * kernel function: [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 2556 | * __kernel_sin ... sine function on [-pi/4,pi/4] [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2557 | * __kernel_cos ... cose function on [-pi/4,pi/4] [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2558 | * __ieee754_rem_pio2 ... argument reduction routine [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2559 | * [ 185s] | ~ [ 185s] 2560 | * Method. [ 185s] | ~~~~~~~~~ [ 185s] 2561 | * Let S,C and T denote the sin, cos and tan respectively on [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2562 | * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2563 | * in [-pi/4 , +pi/4], and let n = k mod 4. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2564 | * We have [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 2565 | * [ 185s] | ~ [ 185s] 2566 | * n sin(x) cos(x) tan(x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2567 | * ---------------------------------------------------------- [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2568 | * 0 S C T [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2569 | * 1 C -S -1/T [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2570 | * 2 -S -C T [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2571 | * 3 -C S -1/T [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2572 | * ---------------------------------------------------------- [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2573 | * [ 185s] | ~ [ 185s] 2574 | * Special cases: [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 2575 | * Let trig be any of sin, cos, or tan. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2576 | * trig(+-INF) is NaN, with signals; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2577 | * trig(NaN) is that NaN; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2578 | * [ 185s] | ~ [ 185s] 2579 | * Accuracy: [ 185s] | ~~~~~~~~~~~ [ 185s] 2580 | * TRIG(x) returns trig(x) nearly rounded [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2581 | */ [ 185s] | ~~ [ 185s] 2582 | double sin(double x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 2583 | { [ 185s] | ~ [ 185s] 2584 | double y[2], z = 0.0; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2585 | int32_t n, ix; [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 2586 | [ 185s] | [ 185s] 2587 | /* High word of x. */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2588 | GET_HIGH_WORD(ix, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2589 | [ 185s] | [ 185s] 2590 | /* |x| ~< pi/4 */ [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 2591 | ix &= 0x7FFFFFFF; [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 2592 | if (ix <= 0x3FE921FB) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2593 | return __kernel_sin(x, z, 0); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2594 | } else if (ix >= 0x7FF00000) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2595 | /* sin(Inf or NaN) is NaN */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2596 | return x - x; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 2597 | } else { [ 185s] | ~~~~~~~~ [ 185s] 2598 | /* argument reduction needed */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2599 | n = __ieee754_rem_pio2(x, y); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2600 | switch (n & 3) { [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 2601 | case 0: [ 185s] | ~~~~~~~ [ 185s] 2602 | return __kernel_sin(y[0], y[1], 1); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2603 | case 1: [ 185s] | ~~~~~~~ [ 185s] 2604 | return __kernel_cos(y[0], y[1]); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2605 | case 2: [ 185s] | ~~~~~~~ [ 185s] 2606 | return -__kernel_sin(y[0], y[1], 1); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2607 | default: [ 185s] | ~~~~~~~~ [ 185s] 2608 | return -__kernel_cos(y[0], y[1]); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2609 | } [ 185s] | ~ [ 185s] 2610 | } [ 185s] | ~ [ 185s] 2611 | } [ 185s] | ~ [ 185s] 2612 | [ 185s] | [ 185s] 2613 | /* tan(x) [ 185s] | ~~~~~~~~~ [ 185s] 2614 | * Return tangent function of x. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2615 | * [ 185s] | ~ [ 185s] 2616 | * kernel function: [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 2617 | * __kernel_tan ... tangent function on [-pi/4,pi/4] [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2618 | * __ieee754_rem_pio2 ... argument reduction routine [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2619 | * [ 185s] | ~ [ 185s] 2620 | * Method. [ 185s] | ~~~~~~~~~ [ 185s] 2621 | * Let S,C and T denote the sin, cos and tan respectively on [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2622 | * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2623 | * in [-pi/4 , +pi/4], and let n = k mod 4. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2624 | * We have [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 2625 | * [ 185s] | ~ [ 185s] 2626 | * n sin(x) cos(x) tan(x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2627 | * ---------------------------------------------------------- [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2628 | * 0 S C T [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2629 | * 1 C -S -1/T [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2630 | * 2 -S -C T [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2631 | * 3 -C S -1/T [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2632 | * ---------------------------------------------------------- [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2633 | * [ 185s] | ~ [ 185s] 2634 | * Special cases: [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 2635 | * Let trig be any of sin, cos, or tan. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2636 | * trig(+-INF) is NaN, with signals; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2637 | * trig(NaN) is that NaN; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2638 | * [ 185s] | ~ [ 185s] 2639 | * Accuracy: [ 185s] | ~~~~~~~~~~~ [ 185s] 2640 | * TRIG(x) returns trig(x) nearly rounded [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2641 | */ [ 185s] | ~~ [ 185s] 2642 | double tan(double x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 2643 | { [ 185s] | ~ [ 185s] 2644 | double y[2], z = 0.0; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2645 | int32_t n, ix; [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 2646 | [ 185s] | [ 185s] 2647 | /* High word of x. */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2648 | GET_HIGH_WORD(ix, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2649 | [ 185s] | [ 185s] 2650 | /* |x| ~< pi/4 */ [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 2651 | ix &= 0x7FFFFFFF; [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 2652 | if (ix <= 0x3FE921FB) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2653 | return __kernel_tan(x, z, 1); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2654 | } else if (ix >= 0x7FF00000) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2655 | /* tan(Inf or NaN) is NaN */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2656 | return x - x; /* NaN */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2657 | } else { [ 185s] | ~~~~~~~~ [ 185s] 2658 | /* argument reduction needed */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2659 | n = __ieee754_rem_pio2(x, y); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2660 | /* 1 -> n even, -1 -> n odd */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2661 | return __kernel_tan(y[0], y[1], 1 - ((n & 1) << 1)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2662 | } [ 185s] | ~ [ 185s] 2663 | } [ 185s] | ~ [ 185s] 2664 | [ 185s] | [ 185s] 2665 | /* [ 185s] | ~~ [ 185s] 2666 | * ES6 draft 09-27-13, section 20.2.2.12. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2667 | * Math.cosh [ 185s] | ~~~~~~~~~~~ [ 185s] 2668 | * Method : [ 185s] | ~~~~~~~~~~ [ 185s] 2669 | * mathematically cosh(x) if defined to be (exp(x)+exp(-x))/2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2670 | * 1. Replace x by |x| (cosh(x) = cosh(-x)). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2671 | * 2. [ 185s] | ~~~~~~~~~ [ 185s] 2672 | * [ exp(x) - 1 ]^2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2673 | * 0 <= x <= ln2/2 : cosh(x) := 1 + ------------------- [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2674 | * 2*exp(x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2675 | * [ 185s] | ~ [ 185s] 2676 | * exp(x) + 1/exp(x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2677 | * ln2/2 <= x <= 22 : cosh(x) := ------------------- [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2678 | * 2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2679 | * 22 <= x <= lnovft : cosh(x) := exp(x)/2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2680 | * lnovft <= x <= ln2ovft: cosh(x) := exp(x/2)/2 * exp(x/2) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2681 | * ln2ovft < x : cosh(x) := huge*huge (overflow) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2682 | * [ 185s] | ~ [ 185s] 2683 | * Special cases: [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 2684 | * cosh(x) is |x| if x is +INF, -INF, or NaN. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2685 | * only cosh(0)=1 is exact for finite x. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2686 | */ [ 185s] | ~~ [ 185s] 2687 | double cosh(double x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2688 | { [ 185s] | ~ [ 185s] 2689 | constexpr double KCOSH_OVERFLOW = 710.4758600739439; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2690 | constexpr double one = 1.0, half = 0.5; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2691 | constexpr volatile double huge = 1.0e+300; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2692 | [ 185s] | [ 185s] 2693 | int32_t ix; [ 185s] | ~~~~~~~~~~~ [ 185s] 2694 | [ 185s] | [ 185s] 2695 | /* High word of |x|. */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2696 | GET_HIGH_WORD(ix, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2697 | ix &= 0x7FFFFFFF; [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 2698 | [ 185s] | [ 185s] 2699 | // |x| in [0,0.5*log2], return 1+expm1(|x|)^2/(2*exp(|x|)) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2700 | if (ix < 0x3FD62E43) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2701 | double t = expm1(fabs(x)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2702 | double w = one + t; [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 2703 | // For |x| < 2^-55, cosh(x) = 1 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2704 | if (ix < 0x3C800000) [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 2705 | return w; [ 185s] | ~~~~~~~~~ [ 185s] 2706 | return one + (t * t) / (w + w); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2707 | } [ 185s] | ~ [ 185s] 2708 | [ 185s] | [ 185s] 2709 | // |x| in [0.5*log2, 22], return (exp(|x|)+1/exp(|x|)/2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2710 | if (ix < 0x40360000) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2711 | double t = exp(fabs(x)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2712 | return half * t + half / t; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2713 | } [ 185s] | ~ [ 185s] 2714 | [ 185s] | [ 185s] 2715 | // |x| in [22, log(maxdouble)], return half*exp(|x|) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2716 | if (ix < 0x40862E42) [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 2717 | return half * exp(fabs(x)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2718 | [ 185s] | [ 185s] 2719 | // |x| in [log(maxdouble), overflowthreshold] [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2720 | if (fabs(x) <= KCOSH_OVERFLOW) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2721 | double w = exp(half * fabs(x)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2722 | double t = half * w; [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 2723 | return t * w; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 2724 | } [ 185s] | ~ [ 185s] 2725 | [ 185s] | [ 185s] 2726 | /* x is INF or NaN */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2727 | if (ix >= 0x7FF00000) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2728 | return x * x; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 2729 | [ 185s] | [ 185s] 2730 | // |x| > overflowthreshold. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2731 | return huge * huge; [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 2732 | } [ 185s] | ~ [ 185s] 2733 | [ 185s] | [ 185s] 2734 | /* [ 185s] | ~~ [ 185s] 2735 | * ES6 draft 09-27-13, section 20.2.2.30. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2736 | * Math.sinh [ 185s] | ~~~~~~~~~~~ [ 185s] 2737 | * Method : [ 185s] | ~~~~~~~~~~ [ 185s] 2738 | * mathematically sinh(x) if defined to be (exp(x)-exp(-x))/2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2739 | * 1. Replace x by |x| (sinh(-x) = -sinh(x)). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2740 | * 2. [ 185s] | ~~~~~~~~~ [ 185s] 2741 | * E + E/(E+1) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2742 | * 0 <= x <= 22 : sinh(x) := --------------, E=expm1(x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2743 | * 2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2744 | * [ 185s] | ~ [ 185s] 2745 | * 22 <= x <= lnovft : sinh(x) := exp(x)/2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2746 | * lnovft <= x <= ln2ovft: sinh(x) := exp(x/2)/2 * exp(x/2) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2747 | * ln2ovft < x : sinh(x) := x*shuge (overflow) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2748 | * [ 185s] | ~ [ 185s] 2749 | * Special cases: [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 2750 | * sinh(x) is |x| if x is +Infinity, -Infinity, or NaN. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2751 | * only sinh(0)=0 is exact for finite x. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2752 | */ [ 185s] | ~~ [ 185s] 2753 | double sinh(double x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2754 | { [ 185s] | ~ [ 185s] 2755 | constexpr double KSINH_OVERFLOW = 710.4758600739439, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2756 | TWO_M28 = 3.725290298461914e-9, // 2^-28, empty lower half [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2757 | LOG_MAXD = 709.7822265625; // 0x40862E42 00000000, empty lower half [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2758 | constexpr double shuge = 1.0e307; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2759 | [ 185s] | [ 185s] 2760 | double h = (x < 0) ? -0.5 : 0.5; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2761 | // |x| in [0, 22]. return sign(x)*0.5*(E+E/(E+1)) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2762 | double ax = fabs(x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 2763 | if (ax < 22) { [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 2764 | // For |x| < 2^-28, sinh(x) = x [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2765 | if (ax < TWO_M28) [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 2766 | return x; [ 185s] | ~~~~~~~~~ [ 185s] 2767 | double t = expm1(ax); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2768 | if (ax < 1) { [ 185s] | ~~~~~~~~~~~~~ [ 185s] 2769 | return h * (2 * t - t * t / (t + 1)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2770 | } [ 185s] | ~ [ 185s] 2771 | return h * (t + t / (t + 1)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2772 | } [ 185s] | ~ [ 185s] 2773 | // |x| in [22, log(maxdouble)], return 0.5 * exp(|x|) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2774 | if (ax < LOG_MAXD) [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 2775 | return h * exp(ax); [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 2776 | // |x| in [log(maxdouble), overflowthreshold] [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2777 | // overflowthreshold = 710.4758600739426 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2778 | if (ax <= KSINH_OVERFLOW) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2779 | double w = exp(0.5 * ax); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2780 | double t = h * w; [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 2781 | return t * w; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 2782 | } [ 185s] | ~ [ 185s] 2783 | // |x| > overflowthreshold or is NaN. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2784 | // Return Infinity of the appropriate sign or NaN. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2785 | return x * shuge; [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 2786 | } [ 185s] | ~ [ 185s] 2787 | [ 185s] | [ 185s] 2788 | /* Tanh(x) [ 185s] | ~~~~~~~~~~ [ 185s] 2789 | * Return the Hyperbolic Tangent of x [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2790 | * [ 185s] | ~ [ 185s] 2791 | * Method : [ 185s] | ~~~~~~~~~~ [ 185s] 2792 | * x -x [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2793 | * e - e [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2794 | * 0. tanh(x) is defined to be ----------- [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2795 | * x -x [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2796 | * e + e [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2797 | * 1. reduce x to non-negative by tanh(-x) = -tanh(x). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2798 | * 2. 0 <= x < 2**-28 : tanh(x) := x with inexact if x != 0 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2799 | * -t [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2800 | * 2**-28 <= x < 1 : tanh(x) := -----; t = expm1(-2x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2801 | * t + 2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2802 | * 2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2803 | * 1 <= x < 22 : tanh(x) := 1 - -----; t = expm1(2x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2804 | * t + 2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2805 | * 22 <= x <= INF : tanh(x) := 1. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2806 | * [ 185s] | ~ [ 185s] 2807 | * Special cases: [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 2808 | * tanh(NaN) is NaN; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2809 | * only tanh(0)=0 is exact for finite argument. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2810 | */ [ 185s] | ~~ [ 185s] 2811 | double tanh(double x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2812 | { [ 185s] | ~ [ 185s] 2813 | constexpr volatile double tiny = 1.0e-300; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2814 | constexpr double one = 1.0, two = 2.0, huge = 1.0e300; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2815 | double t, z; [ 185s] | ~~~~~~~~~~~~ [ 185s] 2816 | int32_t jx, ix; [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 2817 | [ 185s] | [ 185s] 2818 | GET_HIGH_WORD(jx, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2819 | ix = jx & 0x7FFFFFFF; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2820 | [ 185s] | [ 185s] 2821 | /* x is INF or NaN */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2822 | if (ix >= 0x7FF00000) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2823 | if (jx >= 0) [ 185s] | ~~~~~~~~~~~~ [ 185s] 2824 | return one / x + one; /* tanh(+-inf)=+-1 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2825 | else [ 185s] | ~~~~ [ 185s] 2826 | return one / x - one; /* tanh(NaN) = NaN */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2827 | } [ 185s] | ~ [ 185s] 2828 | [ 185s] | [ 185s] 2829 | /* |x| < 22 */ [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 2830 | if (ix < 0x40360000) { /* |x|<22 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2831 | if (ix < 0x3E300000 && huge + x > one) { /* |x|<2**-28 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2832 | return x; /* tanh(tiny) = tiny with inexact */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2833 | } [ 185s] | ~ [ 185s] 2834 | if (ix >= 0x3FF00000) { /* |x|>=1 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2835 | t = expm1(two * fabs(x)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2836 | z = one - two / (t + two); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2837 | } else { [ 185s] | ~~~~~~~~ [ 185s] 2838 | t = expm1(-two * fabs(x)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2839 | z = -t / (t + two); [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 2840 | } [ 185s] | ~ [ 185s] 2841 | /* |x| >= 22, return +-1 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2842 | } else { [ 185s] | ~~~~~~~~ [ 185s] 2843 | z = one - tiny; /* raise inexact flag */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2844 | } [ 185s] | ~ [ 185s] 2845 | return (jx >= 0) ? z : -z; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2846 | } [ 185s] | ~ [ 185s] 2847 | [ 185s] | [ 185s] 2848 | double ceil(double x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2849 | { [ 185s] | ~ [ 185s] 2850 | constexpr double huge = 1.0e300; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2851 | int i0, i1, j0; [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 2852 | unsigned i, j; [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 2853 | i0 = __HI(x); [ 185s] | ~~~~~~~~~~~~~ [ 185s] 2854 | i1 = __LO(x); [ 185s] | ~~~~~~~~~~~ [ 185s] third_party/escargot/src/runtime/IEEE754.cpp:2854:10: note: in expansion of macro '__LO' [ 185s] 2854 | i1 = __LO(x); [ 185s] | ^~~~ [ 185s] third_party/escargot/src/runtime/IEEE754.cpp:86:18: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] [ 185s] 86 | #define __LO(x) *(int *)&x [ 185s] | ^~~~~~~~~ [ 185s] 87 | #define __HIp(x) *(1 + (int *)x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 88 | #define __LOp(x) *(int *)x [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 89 | [ 185s] | [ 185s] 90 | #else [ 185s] | ~~~~~ [ 185s] 91 | [ 185s] | [ 185s] 92 | typedef union { [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 93 | double value; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 94 | struct { [ 185s] | ~~~~~~~~ [ 185s] 95 | uint32_t msw; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 96 | uint32_t lsw; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 97 | } parts; [ 185s] | ~~~~~~~~ [ 185s] 98 | struct { [ 185s] | ~~~~~~~~ [ 185s] 99 | uint64_t w; [ 185s] | ~~~~~~~~~~~ [ 185s] 100 | } xparts; [ 185s] | ~~~~~~~~~ [ 185s] 101 | } ieee_double_shape_type; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 102 | [ 185s] | [ 185s] 103 | #define __HI(x) *(int *)&x [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 104 | #define __LO(x) *(1 + (int *)&x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 105 | #define __HIp(x) *(int *)x [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 106 | #define __LOp(x) *(1 + (int *)x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 107 | [ 185s] | [ 185s] 108 | #endif [ 185s] | ~~~~~~ [ 185s] 109 | [ 185s] | [ 185s] 110 | /* Get two 32 bit ints from a double. */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 111 | [ 185s] | [ 185s] 112 | #define EXTRACT_WORDS(ix0, ix1, d) \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 113 | do { \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 114 | ieee_double_shape_type ew_u; \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 115 | ew_u.value = (d); \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 116 | (ix0) = ew_u.parts.msw; \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 117 | (ix1) = ew_u.parts.lsw; \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 118 | } while (0) [ 185s] | ~~~~~~~~~~~ [ 185s] 119 | [ 185s] | [ 185s] 120 | /* Get a 64-bit int from a double. */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 121 | #define EXTRACT_WORD64(ix, d) \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 122 | do { \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 123 | ieee_double_shape_type ew_u; \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 124 | ew_u.value = (d); \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 125 | (ix) = ew_u.xparts.w; \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 126 | } while (0) [ 185s] | ~~~~~~~~~~~ [ 185s] 127 | [ 185s] | [ 185s] 128 | /* Get the more significant 32 bit int from a double. */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 129 | [ 185s] | [ 185s] 130 | #define GET_HIGH_WORD(i, d) \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 131 | do { \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 132 | ieee_double_shape_type gh_u; \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 133 | gh_u.value = (d); \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 134 | (i) = gh_u.parts.msw; \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 135 | } while (0) [ 185s] | ~~~~~~~~~~~ [ 185s] 136 | [ 185s] | [ 185s] 137 | /* Get the less significant 32 bit int from a double. */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 138 | [ 185s] | [ 185s] 139 | #define GET_LOW_WORD(i, d) \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 140 | do { \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 141 | ieee_double_shape_type gl_u; \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 142 | gl_u.value = (d); \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 143 | (i) = gl_u.parts.lsw; \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 144 | } while (0) [ 185s] | ~~~~~~~~~~~ [ 185s] 145 | [ 185s] | [ 185s] 146 | /* Set a double from two 32 bit ints. */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 147 | [ 185s] | [ 185s] 148 | #define INSERT_WORDS(d, ix0, ix1) \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 149 | do { \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 150 | ieee_double_shape_type iw_u; \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 151 | iw_u.parts.msw = (ix0); \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 152 | iw_u.parts.lsw = (ix1); \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 153 | (d) = iw_u.value; \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 154 | } while (0) [ 185s] | ~~~~~~~~~~~ [ 185s] 155 | [ 185s] | [ 185s] 156 | /* Set a double from a 64-bit int. */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 157 | #define INSERT_WORD64(d, ix) \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 158 | do { \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 159 | ieee_double_shape_type iw_u; \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 160 | iw_u.xparts.w = (ix); \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 161 | (d) = iw_u.value; \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 162 | } while (0) [ 185s] | ~~~~~~~~~~~ [ 185s] 163 | [ 185s] | [ 185s] 164 | /* Set the more significant 32 bits of a double from an int. */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 165 | [ 185s] | [ 185s] 166 | #define SET_HIGH_WORD(d, v) \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 167 | do { \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 168 | ieee_double_shape_type sh_u; \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 169 | sh_u.value = (d); \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 170 | sh_u.parts.msw = (v); \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 171 | (d) = sh_u.value; \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 172 | } while (0) [ 185s] | ~~~~~~~~~~~ [ 185s] 173 | [ 185s] | [ 185s] 174 | /* Set the less significant 32 bits of a double from an int. */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 175 | [ 185s] | [ 185s] 176 | #define SET_LOW_WORD(d, v) \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 177 | do { \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 178 | ieee_double_shape_type sl_u; \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 179 | sl_u.value = (d); \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 180 | sl_u.parts.lsw = (v); \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 181 | (d) = sl_u.value; \ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 182 | } while (0) [ 185s] | ~~~~~~~~~~~ [ 185s] 183 | [ 185s] | [ 185s] 184 | /* Support macro. */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 185 | [ 185s] | [ 185s] 186 | #define STRICT_ASSIGN(type, lval, rval) ((lval) = (rval)) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 187 | [ 185s] | [ 185s] 188 | int32_t __ieee754_rem_pio2(double x, double *y) WARN_UNUSED_RETURN; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 189 | double __kernel_cos(double x, double y) WARN_UNUSED_RETURN; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 190 | int __kernel_rem_pio2(double *x, double *y, int e0, int nx, int prec, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 191 | const int32_t *ipio2) WARN_UNUSED_RETURN; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 192 | double __kernel_sin(double x, double y, int iy) WARN_UNUSED_RETURN; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 193 | [ 185s] | [ 185s] 194 | /* __ieee754_rem_pio2(x,y) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 195 | * [ 185s] | ~ [ 185s] 196 | * return the remainder of x rem pi/2 in y[0]+y[1] [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 197 | * use __kernel_rem_pio2() [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 198 | */ [ 185s] | ~~ [ 185s] 199 | int32_t __ieee754_rem_pio2(double x, double *y) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 200 | { [ 185s] | ~ [ 185s] 201 | /* [ 185s] | ~~ [ 185s] 202 | * Table of constants for 2/pi, 396 Hex digits (476 decimal) of 2/pi [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 203 | */ [ 185s] | ~~ [ 185s] 204 | constexpr int32_t two_over_pi[] = { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 205 | 0xA2F983, 0x6E4E44, 0x1529FC, 0x2757D1, 0xF534DD, 0xC0DB62, 0x95993C, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 206 | 0x439041, 0xFE5163, 0xABDEBB, 0xC561B7, 0x246E3A, 0x424DD2, 0xE00649, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 207 | 0x2EEA09, 0xD1921C, 0xFE1DEB, 0x1CB129, 0xA73EE8, 0x8235F5, 0x2EBB44, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 208 | 0x84E99C, 0x7026B4, 0x5F7E41, 0x3991D6, 0x398353, 0x39F49C, 0x845F8B, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 209 | 0xBDF928, 0x3B1FF8, 0x97FFDE, 0x05980F, 0xEF2F11, 0x8B5A0A, 0x6D1F6D, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 210 | 0x367ECF, 0x27CB09, 0xB74F46, 0x3F669E, 0x5FEA2D, 0x7527BA, 0xC7EBE5, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 211 | 0xF17B3D, 0x0739F7, 0x8A5292, 0xEA6BFB, 0x5FB11F, 0x8D5D08, 0x560330, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 212 | 0x46FC7B, 0x6BABF0, 0xCFBC20, 0x9AF436, 0x1DA9E3, 0x91615E, 0xE61B08, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 213 | 0x659985, 0x5F14A0, 0x68408D, 0xFFD880, 0x4D7327, 0x310606, 0x1556CA, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 214 | 0x73A8C9, 0x60E27B, 0xC08C6B, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 215 | }; [ 185s] | ~~ [ 185s] 216 | [ 185s] | [ 185s] 217 | constexpr int32_t npio2_hw[] = { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 218 | 0x3FF921FB, 0x400921FB, 0x4012D97C, 0x401921FB, 0x401F6A7A, 0x4022D97C, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 219 | 0x4025FDBB, 0x402921FB, 0x402C463A, 0x402F6A7A, 0x4031475C, 0x4032D97C, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 220 | 0x40346B9C, 0x4035FDBB, 0x40378FDB, 0x403921FB, 0x403AB41B, 0x403C463A, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 221 | 0x403DD85A, 0x403F6A7A, 0x40407E4C, 0x4041475C, 0x4042106C, 0x4042D97C, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 222 | 0x4043A28C, 0x40446B9C, 0x404534AC, 0x4045FDBB, 0x4046C6CB, 0x40478FDB, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 223 | 0x404858EB, 0x404921FB, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 224 | }; [ 185s] | ~~ [ 185s] 225 | [ 185s] | [ 185s] 226 | /* [ 185s] | ~~ [ 185s] 227 | * invpio2: 53 bits of 2/pi [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 228 | * pio2_1: first 33 bit of pi/2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 229 | * pio2_1t: pi/2 - pio2_1 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 230 | * pio2_2: second 33 bit of pi/2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 231 | * pio2_2t: pi/2 - (pio2_1+pio2_2) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 232 | * pio2_3: third 33 bit of pi/2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 233 | * pio2_3t: pi/2 - (pio2_1+pio2_2+pio2_3) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 234 | */ [ 185s] | ~~ [ 185s] 235 | [ 185s] | [ 185s] 236 | constexpr double [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 237 | zero [ 185s] | ~~~~ [ 185s] 238 | = 0.00000000000000000000e+00, /* 0x00000000, 0x00000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 239 | half = 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 240 | two24 = 1.67772160000000000000e+07, /* 0x41700000, 0x00000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 241 | invpio2 = 6.36619772367581382433e-01, /* 0x3FE45F30, 0x6DC9C883 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 242 | pio2_1 = 1.57079632673412561417e+00, /* 0x3FF921FB, 0x54400000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 243 | pio2_1t = 6.07710050650619224932e-11, /* 0x3DD0B461, 0x1A626331 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 244 | pio2_2 = 6.07710050630396597660e-11, /* 0x3DD0B461, 0x1A600000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 245 | pio2_2t = 2.02226624879595063154e-21, /* 0x3BA3198A, 0x2E037073 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 246 | pio2_3 = 2.02226624871116645580e-21, /* 0x3BA3198A, 0x2E000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 247 | pio2_3t = 8.47842766036889956997e-32; /* 0x397B839A, 0x252049C1 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 248 | [ 185s] | [ 185s] 249 | double z, w, t, r, fn; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 250 | double tx[3]; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 251 | int32_t e0, i, j, nx, n, ix, hx; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 252 | uint32_t low; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 253 | [ 185s] | [ 185s] 254 | z = 0; [ 185s] | ~~~~~~ [ 185s] 255 | GET_HIGH_WORD(hx, x); /* high word of x */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 256 | ix = hx & 0x7FFFFFFF; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 257 | if (ix <= 0x3FE921FB) { /* |x| ~<= pi/4 , no need for reduction */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 258 | y[0] = x; [ 185s] | ~~~~~~~~~ [ 185s] 259 | y[1] = 0; [ 185s] | ~~~~~~~~~ [ 185s] 260 | return 0; [ 185s] | ~~~~~~~~~ [ 185s] 261 | } [ 185s] | ~ [ 185s] 262 | if (ix < 0x4002D97C) { /* |x| < 3pi/4, special case with n=+-1 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 263 | if (hx > 0) { [ 185s] | ~~~~~~~~~~~~~ [ 185s] 264 | z = x - pio2_1; [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 265 | if (ix != 0x3FF921FB) { /* 33+53 bit pi is good enough */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 266 | y[0] = z - pio2_1t; [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 267 | y[1] = (z - y[0]) - pio2_1t; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 268 | } else { /* near pi/2, use 33+33+53 bit pi */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 269 | z -= pio2_2; [ 185s] | ~~~~~~~~~~~~ [ 185s] 270 | y[0] = z - pio2_2t; [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 271 | y[1] = (z - y[0]) - pio2_2t; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 272 | } [ 185s] | ~ [ 185s] 273 | return 1; [ 185s] | ~~~~~~~~~ [ 185s] 274 | } else { /* negative x */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 275 | z = x + pio2_1; [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 276 | if (ix != 0x3FF921FB) { /* 33+53 bit pi is good enough */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 277 | y[0] = z + pio2_1t; [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 278 | y[1] = (z - y[0]) + pio2_1t; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 279 | } else { /* near pi/2, use 33+33+53 bit pi */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 280 | z += pio2_2; [ 185s] | ~~~~~~~~~~~~ [ 185s] 281 | y[0] = z + pio2_2t; [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 282 | y[1] = (z - y[0]) + pio2_2t; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 283 | } [ 185s] | ~ [ 185s] 284 | return -1; [ 185s] | ~~~~~~~~~~ [ 185s] 285 | } [ 185s] | ~ [ 185s] 286 | } [ 185s] | ~ [ 185s] 287 | if (ix <= 0x413921FB) { /* |x| ~<= 2^19*(pi/2), medium size */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 288 | t = fabs(x); [ 185s] | ~~~~~~~~~~~~ [ 185s] 289 | n = static_cast(t * invpio2 + half); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 290 | fn = static_cast(n); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 291 | r = t - fn * pio2_1; [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 292 | w = fn * pio2_1t; /* 1st round good to 85 bit */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 293 | if (n < 32 && ix != npio2_hw[n - 1]) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 294 | y[0] = r - w; /* quick check no cancellation */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 295 | } else { [ 185s] | ~~~~~~~~ [ 185s] 296 | uint32_t high; [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 297 | j = ix >> 20; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 298 | y[0] = r - w; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 299 | GET_HIGH_WORD(high, y[0]); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 300 | i = j - ((high >> 20) & 0x7FF); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 301 | if (i > 16) { /* 2nd iteration needed, good to 118 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 302 | t = r; [ 185s] | ~~~~~~ [ 185s] 303 | w = fn * pio2_2; [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 304 | r = t - w; [ 185s] | ~~~~~~~~~~ [ 185s] 305 | w = fn * pio2_2t - ((t - r) - w); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 306 | y[0] = r - w; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 307 | GET_HIGH_WORD(high, y[0]); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 308 | i = j - ((high >> 20) & 0x7FF); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 309 | if (i > 49) { /* 3rd iteration need, 151 bits acc */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 310 | t = r; /* will cover all possible cases */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 311 | w = fn * pio2_3; [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 312 | r = t - w; [ 185s] | ~~~~~~~~~~ [ 185s] 313 | w = fn * pio2_3t - ((t - r) - w); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 314 | y[0] = r - w; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 315 | } [ 185s] | ~ [ 185s] 316 | } [ 185s] | ~ [ 185s] 317 | } [ 185s] | ~ [ 185s] 318 | y[1] = (r - y[0]) - w; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 319 | if (hx < 0) { [ 185s] | ~~~~~~~~~~~~~ [ 185s] 320 | y[0] = -y[0]; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 321 | y[1] = -y[1]; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 322 | return -n; [ 185s] | ~~~~~~~~~~ [ 185s] 323 | } else { [ 185s] | ~~~~~~~~ [ 185s] 324 | return n; [ 185s] | ~~~~~~~~~ [ 185s] 325 | } [ 185s] | ~ [ 185s] 326 | } [ 185s] | ~ [ 185s] 327 | /* [ 185s] | ~~ [ 185s] 328 | * all other (large) arguments [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 329 | */ [ 185s] | ~~ [ 185s] 330 | if (ix >= 0x7FF00000) { /* x is inf or NaN */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 331 | y[0] = y[1] = x - x; [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 332 | return 0; [ 185s] | ~~~~~~~~~ [ 185s] 333 | } [ 185s] | ~ [ 185s] 334 | /* set z = scalbn(|x|,ilogb(x)-23) */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 335 | GET_LOW_WORD(low, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 336 | SET_LOW_WORD(z, low); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 337 | e0 = (ix >> 20) - 1046; /* e0 = ilogb(z)-23; */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 338 | SET_HIGH_WORD(z, ix - static_cast(e0 << 20)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 339 | for (i = 0; i < 2; i++) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 340 | tx[i] = static_cast(static_cast(z)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 341 | z = (z - tx[i]) * two24; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 342 | } [ 185s] | ~ [ 185s] 343 | tx[2] = z; [ 185s] | ~~~~~~~~~~ [ 185s] 344 | nx = 3; [ 185s] | ~~~~~~~ [ 185s] 345 | while (tx[nx - 1] == zero) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 346 | nx--; /* skip zero term */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 347 | n = __kernel_rem_pio2(tx, y, e0, nx, 2, two_over_pi); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 348 | if (hx < 0) { [ 185s] | ~~~~~~~~~~~~~ [ 185s] 349 | y[0] = -y[0]; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 350 | y[1] = -y[1]; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 351 | return -n; [ 185s] | ~~~~~~~~~~ [ 185s] 352 | } [ 185s] | ~ [ 185s] 353 | return n; [ 185s] | ~~~~~~~~~ [ 185s] 354 | } [ 185s] | ~ [ 185s] 355 | [ 185s] | [ 185s] 356 | /* __kernel_cos( x, y ) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 357 | * kernel cos function on [-pi/4, pi/4], pi/4 ~ 0.785398164 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 358 | * Input x is assumed to be bounded by ~pi/4 in magnitude. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 359 | * Input y is the tail of x. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 360 | * [ 185s] | ~ [ 185s] 361 | * Algorithm [ 185s] | ~~~~~~~~~~~ [ 185s] 362 | * 1. Since cos(-x) = cos(x), we need only to consider positive x. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 363 | * 2. if x < 2^-27 (hx<0x3E400000 0), return 1 with inexact if x!=0. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 364 | * 3. cos(x) is approximated by a polynomial of degree 14 on [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 365 | * [0,pi/4] [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 366 | * 4 14 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 367 | * cos(x) ~ 1 - x*x/2 + C1*x + ... + C6*x [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 368 | * where the remez error is [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 369 | * [ 185s] | ~ [ 185s] 370 | * | 2 4 6 8 10 12 14 | -58 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 371 | * |cos(x)-(1-.5*x +C1*x +C2*x +C3*x +C4*x +C5*x +C6*x )| <= 2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 372 | * | | [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 373 | * [ 185s] | ~ [ 185s] 374 | * 4 6 8 10 12 14 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 375 | * 4. let r = C1*x +C2*x +C3*x +C4*x +C5*x +C6*x , then [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 376 | * cos(x) = 1 - x*x/2 + r [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 377 | * since cos(x+y) ~ cos(x) - sin(x)*y [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 378 | * ~ cos(x) - x*y, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 379 | * a correction term is necessary in cos(x) and hence [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 380 | * cos(x+y) = 1 - (x*x/2 - (r - x*y)) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 381 | * For better accuracy when x > 0.3, let qx = |x|/4 with [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 382 | * the last 32 bits mask off, and if x > 0.78125, let qx = 0.28125. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 383 | * Then [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 384 | * cos(x+y) = (1-qx) - ((x*x/2-qx) - (r-x*y)). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 385 | * Note that 1-qx and (x*x/2-qx) is EXACT here, and the [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 386 | * magnitude of the latter is at least a quarter of x*x/2, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 387 | * thus, reducing the rounding error in the subtraction. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 388 | */ [ 185s] | ~~ [ 185s] 389 | ALWAYS_INLINE double __kernel_cos(double x, double y) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 390 | { [ 185s] | ~ [ 185s] 391 | constexpr double [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 392 | one [ 185s] | ~~~ [ 185s] 393 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 394 | C1 = 4.16666666666666019037e-02, /* 0x3FA55555, 0x5555554C */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 395 | C2 = -1.38888888888741095749e-03, /* 0xBF56C16C, 0x16C15177 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 396 | C3 = 2.48015872894767294178e-05, /* 0x3EFA01A0, 0x19CB1590 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 397 | C4 = -2.75573143513906633035e-07, /* 0xBE927E4F, 0x809C52AD */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 398 | C5 = 2.08757232129817482790e-09, /* 0x3E21EE9E, 0xBDB4B1C4 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 399 | C6 = -1.13596475577881948265e-11; /* 0xBDA8FAE9, 0xBE8838D4 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 400 | [ 185s] | [ 185s] 401 | double a, iz, z, r, qx; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 402 | int32_t ix; [ 185s] | ~~~~~~~~~~~ [ 185s] 403 | GET_HIGH_WORD(ix, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 404 | ix &= 0x7FFFFFFF; /* ix = |x|'s high word*/ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 405 | if (ix < 0x3E400000 && static_cast(x) == 0) { /* if x < 2**27 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 406 | return one; /* generate inexact */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 407 | } [ 185s] | ~ [ 185s] 408 | z = x * x; [ 185s] | ~~~~~~~~~~ [ 185s] 409 | r = z * (C1 + z * (C2 + z * (C3 + z * (C4 + z * (C5 + z * C6))))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 410 | if (ix < 0x3FD33333) { /* if |x| < 0.3 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 411 | return one - (0.5 * z - (z * r - x * y)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 412 | } else { [ 185s] | ~~~~~~~~ [ 185s] 413 | if (ix > 0x3FE90000) { /* x > 0.78125 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 414 | qx = 0.28125; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 415 | } else { [ 185s] | ~~~~~~~~ [ 185s] 416 | INSERT_WORDS(qx, ix - 0x00200000, 0); /* x/4 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 417 | } [ 185s] | ~ [ 185s] 418 | iz = 0.5 * z - qx; [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 419 | a = one - qx; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 420 | return a - (iz - (z * r - x * y)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 421 | } [ 185s] | ~ [ 185s] 422 | } [ 185s] | ~ [ 185s] 423 | [ 185s] | [ 185s] 424 | /* __kernel_rem_pio2(x,y,e0,nx,prec,ipio2) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 425 | * double x[],y[]; int e0,nx,prec; int ipio2[]; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 426 | * [ 185s] | ~ [ 185s] 427 | * __kernel_rem_pio2 return the last three digits of N with [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 428 | * y = x - N*pi/2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 429 | * so that |y| < pi/2. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 430 | * [ 185s] | ~ [ 185s] 431 | * The method is to compute the integer (mod 8) and fraction parts of [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 432 | * (2/pi)*x without doing the full multiplication. In general we [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 433 | * skip the part of the product that are known to be a huge integer ( [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 434 | * more accurately, = 0 mod 8 ). Thus the number of operations are [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 435 | * independent of the exponent of the input. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 436 | * [ 185s] | ~ [ 185s] 437 | * (2/pi) is represented by an array of 24-bit integers in ipio2[]. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 438 | * [ 185s] | ~ [ 185s] 439 | * Input parameters: [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 440 | * x[] The input value (must be positive) is broken into nx [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 441 | * pieces of 24-bit integers in double precision format. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 442 | * x[i] will be the i-th 24 bit of x. The scaled exponent [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 443 | * of x[0] is given in input parameter e0 (i.e., x[0]*2^e0 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 444 | * match x's up to 24 bits. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 445 | * [ 185s] | ~ [ 185s] 446 | * Example of breaking a double positive z into x[0]+x[1]+x[2]: [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 447 | * e0 = ilogb(z)-23 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 448 | * z = scalbn(z,-e0) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 449 | * for i = 0,1,2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 450 | * x[i] = floor(z) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 451 | * z = (z-x[i])*2**24 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 452 | * [ 185s] | ~ [ 185s] 453 | * [ 185s] | ~ [ 185s] 454 | * y[] output result in an array of double precision numbers. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 455 | * The dimension of y[] is: [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 456 | * 24-bit precision 1 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 457 | * 53-bit precision 2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 458 | * 64-bit precision 2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 459 | * 113-bit precision 3 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 460 | * The actual value is the sum of them. Thus for 113-bit [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 461 | * precison, one may have to do something like: [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 462 | * [ 185s] | ~ [ 185s] 463 | * long double t,w,r_head, r_tail; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 464 | * t = (long double)y[2] + (long double)y[1]; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 465 | * w = (long double)y[0]; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 466 | * r_head = t+w; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 467 | * r_tail = w - (r_head - t); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 468 | * [ 185s] | ~ [ 185s] 469 | * e0 The exponent of x[0] [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 470 | * [ 185s] | ~ [ 185s] 471 | * nx dimension of x[] [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 472 | * [ 185s] | ~ [ 185s] 473 | * prec an integer indicating the precision: [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 474 | * 0 24 bits (single) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 475 | * 1 53 bits (double) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 476 | * 2 64 bits (extended) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 477 | * 3 113 bits (quad) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 478 | * [ 185s] | ~ [ 185s] 479 | * ipio2[] [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 480 | * integer array, contains the (24*i)-th to (24*i+23)-th [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 481 | * bit of 2/pi after binary point. The corresponding [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 482 | * floating value is [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 483 | * [ 185s] | ~ [ 185s] 484 | * ipio2[i] * 2^(-24(i+1)). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 485 | * [ 185s] | ~ [ 185s] 486 | * External function: [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 487 | * double scalbn(), floor(); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 488 | * [ 185s] | ~ [ 185s] 489 | * [ 185s] | ~ [ 185s] 490 | * Here is the description of some local variables: [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 491 | * [ 185s] | ~ [ 185s] 492 | * jk jk+1 is the initial number of terms of ipio2[] needed [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 493 | * in the computation. The recommended value is 2,3,4, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 494 | * 6 for single, double, extended,and quad. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 495 | * [ 185s] | ~ [ 185s] 496 | * jz local integer variable indicating the number of [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 497 | * terms of ipio2[] used. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 498 | * [ 185s] | ~ [ 185s] 499 | * jx nx - 1 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 500 | * [ 185s] | ~ [ 185s] 501 | * jv index for pointing to the suitable ipio2[] for the [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 502 | * computation. In general, we want [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 503 | * ( 2^e0*x[0] * ipio2[jv-1]*2^(-24jv) )/8 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 504 | * is an integer. Thus [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 505 | * e0-3-24*jv >= 0 or (e0-3)/24 >= jv [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 506 | * Hence jv = max(0,(e0-3)/24). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 507 | * [ 185s] | ~ [ 185s] 508 | * jp jp+1 is the number of terms in PIo2[] needed, jp = jk. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 509 | * [ 185s] | ~ [ 185s] 510 | * q[] double array with integral value, representing the [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 511 | * 24-bits chunk of the product of x and 2/pi. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 512 | * [ 185s] | ~ [ 185s] 513 | * q0 the corresponding exponent of q[0]. Note that the [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 514 | * exponent for q[i] would be q0-24*i. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 515 | * [ 185s] | ~ [ 185s] 516 | * PIo2[] double precision array, obtained by cutting pi/2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 517 | * into 24 bits chunks. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 518 | * [ 185s] | ~ [ 185s] 519 | * f[] ipio2[] in floating point [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 520 | * [ 185s] | ~ [ 185s] 521 | * iq[] integer array by breaking up q[] in 24-bits chunk. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 522 | * [ 185s] | ~ [ 185s] 523 | * fq[] final product of x*(2/pi) in fq[0],..,fq[jk] [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 524 | * [ 185s] | ~ [ 185s] 525 | * ih integer. If >0 it indicates q[] is >= 0.5, hence [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 526 | * it also indicates the *sign* of the result. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 527 | * [ 185s] | ~ [ 185s] 528 | */ [ 185s] | ~~ [ 185s] 529 | int __kernel_rem_pio2(double *x, double *y, int e0, int nx, int prec, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 530 | const int32_t *ipio2) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 531 | { [ 185s] | ~ [ 185s] 532 | /* Constants: [ 185s] | ~~~~~~~~~~~~~ [ 185s] 533 | * The hexadecimal values are the intended ones for the following [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 534 | * constants. The decimal values may be used, provided that the [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 535 | * compiler will convert from decimal to binary accurately enough [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 536 | * to produce the hexadecimal values shown. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 537 | */ [ 185s] | ~~ [ 185s] 538 | constexpr int init_jk[] = { 2, 3, 4, 6 }; /* initial value for jk */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 539 | [ 185s] | [ 185s] 540 | constexpr double PIo2[] = { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 541 | 1.57079625129699707031e+00, /* 0x3FF921FB, 0x40000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 542 | 7.54978941586159635335e-08, /* 0x3E74442D, 0x00000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 543 | 5.39030252995776476554e-15, /* 0x3CF84698, 0x80000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 544 | 3.28200341580791294123e-22, /* 0x3B78CC51, 0x60000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 545 | 1.27065575308067607349e-29, /* 0x39F01B83, 0x80000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 546 | 1.22933308981111328932e-36, /* 0x387A2520, 0x40000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 547 | 2.73370053816464559624e-44, /* 0x36E38222, 0x80000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 548 | 2.16741683877804819444e-51, /* 0x3569F31D, 0x00000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 549 | }; [ 185s] | ~~ [ 185s] 550 | [ 185s] | [ 185s] 551 | constexpr double [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 552 | zero [ 185s] | ~~~~ [ 185s] 553 | = 0.0, [ 185s] | ~~~~~~ [ 185s] 554 | one = 1.0, [ 185s] | ~~~~~~~~~~ [ 185s] 555 | two24 = 1.67772160000000000000e+07, /* 0x41700000, 0x00000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 556 | twon24 = 5.96046447753906250000e-08; /* 0x3E700000, 0x00000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 557 | [ 185s] | [ 185s] 558 | int32_t jz, jx, jv, jp, jk, carry, n, iq[20], i, j, k, m, q0, ih; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 559 | double z, fw, f[20], fq[20], q[20]; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 560 | [ 185s] | [ 185s] 561 | /* initialize jk*/ [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 562 | jk = init_jk[prec]; [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 563 | jp = jk; [ 185s] | ~~~~~~~~ [ 185s] 564 | [ 185s] | [ 185s] 565 | /* determine jx,jv,q0, note that 3>q0 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 566 | jx = nx - 1; [ 185s] | ~~~~~~~~~~~~ [ 185s] 567 | jv = (e0 - 3) / 24; [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 568 | if (jv < 0) [ 185s] | ~~~~~~~~~~~ [ 185s] 569 | jv = 0; [ 185s] | ~~~~~~~ [ 185s] 570 | q0 = e0 - 24 * (jv + 1); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 571 | [ 185s] | [ 185s] 572 | /* set up f[0] to f[jx+jk] where f[jx+jk] = ipio2[jv+jk] */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 573 | j = jv - jx; [ 185s] | ~~~~~~~~~~~~ [ 185s] 574 | m = jx + jk; [ 185s] | ~~~~~~~~~~~~ [ 185s] 575 | for (i = 0; i <= m; i++, j++) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 576 | f[i] = (j < 0) ? zero : static_cast(ipio2[j]); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 577 | } [ 185s] | ~ [ 185s] 578 | [ 185s] | [ 185s] 579 | /* compute q[0],q[1],...q[jk] */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 580 | for (i = 0; i <= jk; i++) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 581 | for (j = 0, fw = 0.0; j <= jx; j++) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 582 | fw += x[j] * f[jx + i - j]; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 583 | q[i] = fw; [ 185s] | ~~~~~~~~~~ [ 185s] 584 | } [ 185s] | ~ [ 185s] 585 | [ 185s] | [ 185s] 586 | jz = jk; [ 185s] | ~~~~~~~~ [ 185s] 587 | recompute: [ 185s] | ~~~~~~~~~~ [ 185s] 588 | /* distill q[] into iq[] reversingly */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 589 | for (i = 0, j = jz, z = q[jz]; j > 0; i++, j--) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 590 | fw = static_cast(static_cast(twon24 * z)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 591 | iq[i] = static_cast(z - two24 * fw); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 592 | z = q[j - 1] + fw; [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 593 | } [ 185s] | ~ [ 185s] 594 | [ 185s] | [ 185s] 595 | /* compute n */ [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 596 | z = scalbn(z, q0); /* actual value of z */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 597 | z -= 8.0 * floor(z * 0.125); /* trim off integer >= 8 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 598 | n = static_cast(z); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 599 | z -= static_cast(n); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 600 | ih = 0; [ 185s] | ~~~~~~~ [ 185s] 601 | if (q0 > 0) { /* need iq[jz-1] to determine n */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 602 | i = (iq[jz - 1] >> (24 - q0)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 603 | n += i; [ 185s] | ~~~~~~~ [ 185s] 604 | iq[jz - 1] -= i << (24 - q0); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 605 | ih = iq[jz - 1] >> (23 - q0); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 606 | } else if (q0 == 0) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 607 | ih = iq[jz - 1] >> 23; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 608 | } else if (z >= 0.5) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 609 | ih = 2; [ 185s] | ~~~~~~~ [ 185s] 610 | } [ 185s] | ~ [ 185s] 611 | [ 185s] | [ 185s] 612 | if (ih > 0) { /* q > 0.5 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 613 | n += 1; [ 185s] | ~~~~~~~ [ 185s] 614 | carry = 0; [ 185s] | ~~~~~~~~~~ [ 185s] 615 | for (i = 0; i < jz; i++) { /* compute 1-q */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 616 | j = iq[i]; [ 185s] | ~~~~~~~~~~ [ 185s] 617 | if (carry == 0) { [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 618 | if (j != 0) { [ 185s] | ~~~~~~~~~~~~~ [ 185s] 619 | carry = 1; [ 185s] | ~~~~~~~~~~ [ 185s] 620 | iq[i] = 0x1000000 - j; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 621 | } [ 185s] | ~ [ 185s] 622 | } else { [ 185s] | ~~~~~~~~ [ 185s] 623 | iq[i] = 0xFFFFFF - j; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 624 | } [ 185s] | ~ [ 185s] 625 | } [ 185s] | ~ [ 185s] 626 | if (q0 > 0) { /* rare case: chance is 1 in 12 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 627 | switch (q0) { [ 185s] | ~~~~~~~~~~~~~ [ 185s] 628 | case 1: [ 185s] | ~~~~~~~ [ 185s] 629 | iq[jz - 1] &= 0x7FFFFF; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 630 | break; [ 185s] | ~~~~~~ [ 185s] 631 | case 2: [ 185s] | ~~~~~~~ [ 185s] 632 | iq[jz - 1] &= 0x3FFFFF; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 633 | break; [ 185s] | ~~~~~~ [ 185s] 634 | } [ 185s] | ~ [ 185s] 635 | } [ 185s] | ~ [ 185s] 636 | if (ih == 2) { [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 637 | z = one - z; [ 185s] | ~~~~~~~~~~~~ [ 185s] 638 | if (carry != 0) [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 639 | z -= scalbn(one, q0); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 640 | } [ 185s] | ~ [ 185s] 641 | } [ 185s] | ~ [ 185s] 642 | [ 185s] | [ 185s] 643 | /* check if recomputation is needed */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 644 | if (z == zero) { [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 645 | j = 0; [ 185s] | ~~~~~~ [ 185s] 646 | for (i = jz - 1; i >= jk; i--) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 647 | j |= iq[i]; [ 185s] | ~~~~~~~~~~~ [ 185s] 648 | if (j == 0) { /* need recomputation */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 649 | for (k = 1; jk >= k && iq[jk - k] == 0; k++) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 650 | /* k = no. of terms needed */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 651 | } [ 185s] | ~ [ 185s] 652 | [ 185s] | [ 185s] 653 | for (i = jz + 1; i <= jz + k; i++) { /* add q[jz+1] to q[jz+k] */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 654 | f[jx + i] = ipio2[jv + i]; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 655 | for (j = 0, fw = 0.0; j <= jx; j++) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 656 | fw += x[j] * f[jx + i - j]; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 657 | q[i] = fw; [ 185s] | ~~~~~~~~~~ [ 185s] 658 | } [ 185s] | ~ [ 185s] 659 | jz += k; [ 185s] | ~~~~~~~~ [ 185s] 660 | goto recompute; [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 661 | } [ 185s] | ~ [ 185s] 662 | } [ 185s] | ~ [ 185s] 663 | [ 185s] | [ 185s] 664 | /* chop off zero terms */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 665 | if (z == 0.0) { [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 666 | jz -= 1; [ 185s] | ~~~~~~~~ [ 185s] 667 | q0 -= 24; [ 185s] | ~~~~~~~~~ [ 185s] 668 | while (iq[jz] == 0) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 669 | jz--; [ 185s] | ~~~~~ [ 185s] 670 | q0 -= 24; [ 185s] | ~~~~~~~~~ [ 185s] 671 | } [ 185s] | ~ [ 185s] 672 | } else { /* break z into 24-bit if necessary */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 673 | z = scalbn(z, -q0); [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 674 | if (z >= two24) { [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 675 | fw = static_cast(static_cast(twon24 * z)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 676 | iq[jz] = z - two24 * fw; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 677 | jz += 1; [ 185s] | ~~~~~~~~ [ 185s] 678 | q0 += 24; [ 185s] | ~~~~~~~~~ [ 185s] 679 | iq[jz] = fw; [ 185s] | ~~~~~~~~~~~~ [ 185s] 680 | } else { [ 185s] | ~~~~~~~~ [ 185s] 681 | iq[jz] = z; [ 185s] | ~~~~~~~~~~~ [ 185s] 682 | } [ 185s] | ~ [ 185s] 683 | } [ 185s] | ~ [ 185s] 684 | [ 185s] | [ 185s] 685 | /* convert integer "bit" chunk to floating-point value */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 686 | fw = scalbn(one, q0); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 687 | for (i = jz; i >= 0; i--) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 688 | q[i] = fw * iq[i]; [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 689 | fw *= twon24; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 690 | } [ 185s] | ~ [ 185s] 691 | [ 185s] | [ 185s] 692 | /* compute PIo2[0,...,jp]*q[jz,...,0] */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 693 | for (i = jz; i >= 0; i--) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 694 | for (fw = 0.0, k = 0; k <= jp && k <= jz - i; k++) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 695 | fw += PIo2[k] * q[i + k]; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 696 | fq[jz - i] = fw; [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 697 | } [ 185s] | ~ [ 185s] 698 | [ 185s] | [ 185s] 699 | /* compress fq[] into y[] */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 700 | switch (prec) { [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 701 | case 0: [ 185s] | ~~~~~~~ [ 185s] 702 | fw = 0.0; [ 185s] | ~~~~~~~~~ [ 185s] 703 | for (i = jz; i >= 0; i--) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 704 | fw += fq[i]; [ 185s] | ~~~~~~~~~~~~ [ 185s] 705 | y[0] = (ih == 0) ? fw : -fw; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 706 | break; [ 185s] | ~~~~~~ [ 185s] 707 | case 1: [ 185s] | ~~~~~~~ [ 185s] 708 | case 2: [ 185s] | ~~~~~~~ [ 185s] 709 | fw = 0.0; [ 185s] | ~~~~~~~~~ [ 185s] 710 | for (i = jz; i >= 0; i--) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 711 | fw += fq[i]; [ 185s] | ~~~~~~~~~~~~ [ 185s] 712 | y[0] = (ih == 0) ? fw : -fw; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 713 | fw = fq[0] - fw; [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 714 | for (i = 1; i <= jz; i++) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 715 | fw += fq[i]; [ 185s] | ~~~~~~~~~~~~ [ 185s] 716 | y[1] = (ih == 0) ? fw : -fw; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 717 | break; [ 185s] | ~~~~~~ [ 185s] 718 | case 3: /* painful */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 719 | for (i = jz; i > 0; i--) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 720 | fw = fq[i - 1] + fq[i]; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 721 | fq[i] += fq[i - 1] - fw; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 722 | fq[i - 1] = fw; [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 723 | } [ 185s] | ~ [ 185s] 724 | for (i = jz; i > 1; i--) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 725 | fw = fq[i - 1] + fq[i]; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 726 | fq[i] += fq[i - 1] - fw; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 727 | fq[i - 1] = fw; [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 728 | } [ 185s] | ~ [ 185s] 729 | for (fw = 0.0, i = jz; i >= 2; i--) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 730 | fw += fq[i]; [ 185s] | ~~~~~~~~~~~~ [ 185s] 731 | if (ih == 0) { [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 732 | y[0] = fq[0]; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 733 | y[1] = fq[1]; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 734 | y[2] = fw; [ 185s] | ~~~~~~~~~~ [ 185s] 735 | } else { [ 185s] | ~~~~~~~~ [ 185s] 736 | y[0] = -fq[0]; [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 737 | y[1] = -fq[1]; [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 738 | y[2] = -fw; [ 185s] | ~~~~~~~~~~~ [ 185s] 739 | } [ 185s] | ~ [ 185s] 740 | } [ 185s] | ~ [ 185s] 741 | return n & 7; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 742 | } [ 185s] | ~ [ 185s] 743 | [ 185s] | [ 185s] 744 | /* __kernel_sin( x, y, iy) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 745 | * kernel sin function on [-pi/4, pi/4], pi/4 ~ 0.7854 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 746 | * Input x is assumed to be bounded by ~pi/4 in magnitude. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 747 | * Input y is the tail of x. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 748 | * Input iy indicates whether y is 0. (if iy=0, y assume to be 0). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 749 | * [ 185s] | ~ [ 185s] 750 | * Algorithm [ 185s] | ~~~~~~~~~~~ [ 185s] 751 | * 1. Since sin(-x) = -sin(x), we need only to consider positive x. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 752 | * 2. if x < 2^-27 (hx<0x3E400000 0), return x with inexact if x!=0. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 753 | * 3. sin(x) is approximated by a polynomial of degree 13 on [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 754 | * [0,pi/4] [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 755 | * 3 13 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 756 | * sin(x) ~ x + S1*x + ... + S6*x [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 757 | * where [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 758 | * [ 185s] | ~ [ 185s] 759 | * |sin(x) 2 4 6 8 10 12 | -58 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 760 | * |----- - (1+S1*x +S2*x +S3*x +S4*x +S5*x +S6*x )| <= 2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 761 | * | x | [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 762 | * [ 185s] | ~ [ 185s] 763 | * 4. sin(x+y) = sin(x) + sin'(x')*y [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 764 | * ~ sin(x) + (1-x*x/2)*y [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 765 | * For better accuracy, let [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 766 | * 3 2 2 2 2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 767 | * r = x *(S2+x *(S3+x *(S4+x *(S5+x *S6)))) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 768 | * then 3 2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 769 | * sin(x) = x + (S1*x + (x *(r-y/2)+y)) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 770 | */ [ 185s] | ~~ [ 185s] 771 | ALWAYS_INLINE double __kernel_sin(double x, double y, int iy) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 772 | { [ 185s] | ~ [ 185s] 773 | constexpr double [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 774 | half [ 185s] | ~~~~ [ 185s] 775 | = 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 776 | S1 = -1.66666666666666324348e-01, /* 0xBFC55555, 0x55555549 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 777 | S2 = 8.33333333332248946124e-03, /* 0x3F811111, 0x1110F8A6 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 778 | S3 = -1.98412698298579493134e-04, /* 0xBF2A01A0, 0x19C161D5 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 779 | S4 = 2.75573137070700676789e-06, /* 0x3EC71DE3, 0x57B1FE7D */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 780 | S5 = -2.50507602534068634195e-08, /* 0xBE5AE5E6, 0x8A2B9CEB */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 781 | S6 = 1.58969099521155010221e-10; /* 0x3DE5D93A, 0x5ACFD57C */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 782 | [ 185s] | [ 185s] 783 | double z, r, v; [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 784 | int32_t ix; [ 185s] | ~~~~~~~~~~~ [ 185s] 785 | GET_HIGH_WORD(ix, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 786 | ix &= 0x7FFFFFFF; /* high word of x */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 787 | if (ix < 0x3E400000 && static_cast(x) == 0) { /* |x| < 2**-27 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 788 | return x; [ 185s] | ~~~~~~~~~ [ 185s] 789 | } /* generate inexact */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 790 | z = x * x; [ 185s] | ~~~~~~~~~~ [ 185s] 791 | v = z * x; [ 185s] | ~~~~~~~~~~ [ 185s] 792 | r = S2 + z * (S3 + z * (S4 + z * (S5 + z * S6))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 793 | if (iy == 0) { [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 794 | return x + v * (S1 + z * r); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 795 | } else { [ 185s] | ~~~~~~~~ [ 185s] 796 | return x - ((z * (half * y - v * r) - y) - v * S1); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 797 | } [ 185s] | ~ [ 185s] 798 | } [ 185s] | ~ [ 185s] 799 | [ 185s] | [ 185s] 800 | /* __kernel_tan( x, y, k ) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 801 | * kernel tan function on [-pi/4, pi/4], pi/4 ~ 0.7854 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 802 | * Input x is assumed to be bounded by ~pi/4 in magnitude. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 803 | * Input y is the tail of x. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 804 | * Input k indicates whether tan (if k=1) or [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 805 | * -1/tan (if k= -1) is returned. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 806 | * [ 185s] | ~ [ 185s] 807 | * Algorithm [ 185s] | ~~~~~~~~~~~ [ 185s] 808 | * 1. Since tan(-x) = -tan(x), we need only to consider positive x. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 809 | * 2. if x < 2^-28 (hx<0x3E300000 0), return x with inexact if x!=0. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 810 | * 3. tan(x) is approximated by a odd polynomial of degree 27 on [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 811 | * [0,0.67434] [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 812 | * 3 27 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 813 | * tan(x) ~ x + T1*x + ... + T13*x [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 814 | * where [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 815 | * [ 185s] | ~ [ 185s] 816 | * |tan(x) 2 4 26 | -59.2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 817 | * |----- - (1+T1*x +T2*x +.... +T13*x )| <= 2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 818 | * | x | [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 819 | * [ 185s] | ~ [ 185s] 820 | * Note: tan(x+y) = tan(x) + tan'(x)*y [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 821 | * ~ tan(x) + (1+x*x)*y [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 822 | * Therefore, for better accuracy in computing tan(x+y), let [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 823 | * 3 2 2 2 2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 824 | * r = x *(T2+x *(T3+x *(...+x *(T12+x *T13)))) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 825 | * then [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 826 | * 3 2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 827 | * tan(x+y) = x + (T1*x + (x *(r+y)+y)) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 828 | * [ 185s] | ~ [ 185s] 829 | * 4. For x in [0.67434,pi/4], let y = pi/4 - x, then [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 830 | * tan(x) = tan(pi/4-y) = (1-tan(y))/(1+tan(y)) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 831 | * = 1 - 2*(tan(y) - (tan(y)^2)/(1+tan(y))) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 832 | */ [ 185s] | ~~ [ 185s] 833 | double __kernel_tan(double x, double y, int iy) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 834 | { [ 185s] | ~ [ 185s] 835 | constexpr double xxx[] = { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 836 | 3.33333333333334091986e-01, /* 3FD55555, 55555563 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 837 | 1.33333333333201242699e-01, /* 3FC11111, 1110FE7A */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 838 | 5.39682539762260521377e-02, /* 3FABA1BA, 1BB341FE */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 839 | 2.18694882948595424599e-02, /* 3F9664F4, 8406D637 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 840 | 8.86323982359930005737e-03, /* 3F8226E3, E96E8493 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 841 | 3.59207910759131235356e-03, /* 3F6D6D22, C9560328 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 842 | 1.45620945432529025516e-03, /* 3F57DBC8, FEE08315 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 843 | 5.88041240820264096874e-04, /* 3F4344D8, F2F26501 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 844 | 2.46463134818469906812e-04, /* 3F3026F7, 1A8D1068 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 845 | 7.81794442939557092300e-05, /* 3F147E88, A03792A6 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 846 | 7.14072491382608190305e-05, /* 3F12B80F, 32F0A7E9 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 847 | -1.85586374855275456654e-05, /* BEF375CB, DB605373 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 848 | 2.59073051863633712884e-05, /* 3EFB2A70, 74BF7AD4 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 849 | /* one */ 1.00000000000000000000e+00, /* 3FF00000, 00000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 850 | /* pio4 */ 7.85398163397448278999e-01, /* 3FE921FB, 54442D18 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 851 | /* pio4lo */ 3.06161699786838301793e-17 /* 3C81A626, 33145C07 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 852 | }; [ 185s] | ~~ [ 185s] 853 | #define one xxx[13] [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 854 | #define pio4 xxx[14] [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 855 | #define pio4lo xxx[15] [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 856 | #define T xxx [ 185s] | ~~~~~~~~~~~~~ [ 185s] 857 | [ 185s] | [ 185s] 858 | double z, r, v, w, s; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 859 | int32_t ix, hx; [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 860 | [ 185s] | [ 185s] 861 | GET_HIGH_WORD(hx, x); /* high word of x */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 862 | ix = hx & 0x7FFFFFFF; /* high word of |x| */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 863 | if (ix < 0x3E300000 && static_cast(x) == 0) { /* x < 2**-28 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 864 | /* generate inexact */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 865 | uint32_t low; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 866 | GET_LOW_WORD(low, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 867 | if (((ix | low) | (iy + 1)) == 0) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 868 | return one / fabs(x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 869 | } else { [ 185s] | ~~~~~~~~ [ 185s] 870 | if (iy == 1) { [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 871 | return x; [ 185s] | ~~~~~~~~~ [ 185s] 872 | } else { /* compute -1 / (x+y) carefully */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 873 | double a, t; [ 185s] | ~~~~~~~~~~~~ [ 185s] 874 | [ 185s] | [ 185s] 875 | z = w = x + y; [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 876 | SET_LOW_WORD(z, 0); [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 877 | v = y - (z - x); [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 878 | t = a = -one / w; [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 879 | SET_LOW_WORD(t, 0); [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 880 | s = one + t * z; [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 881 | return t + a * (s + t * v); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 882 | } [ 185s] | ~ [ 185s] 883 | } [ 185s] | ~ [ 185s] 884 | } [ 185s] | ~ [ 185s] 885 | if (ix >= 0x3FE59428) { /* |x| >= 0.6744 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 886 | if (hx < 0) { [ 185s] | ~~~~~~~~~~~~~ [ 185s] 887 | x = -x; [ 185s] | ~~~~~~~ [ 185s] 888 | y = -y; [ 185s] | ~~~~~~~ [ 185s] 889 | } [ 185s] | ~ [ 185s] 890 | z = pio4 - x; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 891 | w = pio4lo - y; [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 892 | x = z + w; [ 185s] | ~~~~~~~~~~ [ 185s] 893 | y = 0.0; [ 185s] | ~~~~~~~~ [ 185s] 894 | } [ 185s] | ~ [ 185s] 895 | z = x * x; [ 185s] | ~~~~~~~~~~ [ 185s] 896 | w = z * z; [ 185s] | ~~~~~~~~~~ [ 185s] 897 | /* [ 185s] | ~~ [ 185s] 898 | * Break x^5*(T[1]+x^2*T[2]+...) into [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 899 | * x^5(T[1]+x^4*T[3]+...+x^20*T[11]) + [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 900 | * x^5(x^2*(T[2]+x^4*T[4]+...+x^22*[T12])) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 901 | */ [ 185s] | ~~ [ 185s] 902 | r = T[1] + w * (T[3] + w * (T[5] + w * (T[7] + w * (T[9] + w * T[11])))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 903 | v = z * (T[2] + w * (T[4] + w * (T[6] + w * (T[8] + w * (T[10] + w * T[12]))))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 904 | s = z * x; [ 185s] | ~~~~~~~~~~ [ 185s] 905 | r = y + z * (s * (r + v) + y); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 906 | r += T[0] * s; [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 907 | w = x + r; [ 185s] | ~~~~~~~~~~ [ 185s] 908 | if (ix >= 0x3FE59428) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 909 | v = iy; [ 185s] | ~~~~~~~ [ 185s] 910 | return (1 - ((hx >> 30) & 2)) * (v - 2.0 * (x - (w * w / (w + v) - r))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 911 | } [ 185s] | ~ [ 185s] 912 | if (iy == 1) { [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 913 | return w; [ 185s] | ~~~~~~~~~ [ 185s] 914 | } else { [ 185s] | ~~~~~~~~ [ 185s] 915 | /* [ 185s] | ~~ [ 185s] 916 | * if allow error up to 2 ulp, simply return [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 917 | * -1.0 / (x+r) here [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 918 | */ [ 185s] | ~~ [ 185s] 919 | /* compute -1.0 / (x+r) accurately */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 920 | double a, t; [ 185s] | ~~~~~~~~~~~~ [ 185s] 921 | z = w; [ 185s] | ~~~~~~ [ 185s] 922 | SET_LOW_WORD(z, 0); [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 923 | v = r - (z - x); /* z+v = r+x */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 924 | t = a = -1.0 / w; /* a = -1.0/w */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 925 | SET_LOW_WORD(t, 0); [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 926 | s = 1.0 + t * z; [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 927 | return t + a * (s + t * v); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 928 | } [ 185s] | ~ [ 185s] 929 | [ 185s] | [ 185s] 930 | #undef one [ 185s] | ~~~~~~~~~~ [ 185s] 931 | #undef pio4 [ 185s] | ~~~~~~~~~~~ [ 185s] 932 | #undef pio4lo [ 185s] | ~~~~~~~~~~~~~ [ 185s] 933 | #undef T [ 185s] | ~~~~~~~~ [ 185s] 934 | } [ 185s] | ~ [ 185s] 935 | [ 185s] | [ 185s] 936 | } // namespace [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 937 | [ 185s] | [ 185s] 938 | /* acos(x) [ 185s] | ~~~~~~~~~~ [ 185s] 939 | * Method : [ 185s] | ~~~~~~~~~~ [ 185s] 940 | * acos(x) = pi/2 - asin(x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 941 | * acos(-x) = pi/2 + asin(x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 942 | * For |x|<=0.5 [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 943 | * acos(x) = pi/2 - (x + x*x^2*R(x^2)) (see asin.c) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 944 | * For x>0.5 [ 185s] | ~~~~~~~~~~~ [ 185s] 945 | * acos(x) = pi/2 - (pi/2 - 2asin(sqrt((1-x)/2))) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 946 | * = 2asin(sqrt((1-x)/2)) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 947 | * = 2s + 2s*z*R(z) ...z=(1-x)/2, s=sqrt(z) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 948 | * = 2f + (2c + 2s*z*R(z)) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 949 | * where f=hi part of s, and c = (z-f*f)/(s+f) is the correction term [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 950 | * for f so that f+c ~ sqrt(z). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 951 | * For x<-0.5 [ 185s] | ~~~~~~~~~~~~ [ 185s] 952 | * acos(x) = pi - 2asin(sqrt((1-|x|)/2)) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 953 | * = pi - 0.5*(s+s*z*R(z)), where z=(1-|x|)/2,s=sqrt(z) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 954 | * [ 185s] | ~ [ 185s] 955 | * Special cases: [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 956 | * if x is NaN, return x itself; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 957 | * if |x|>1, return NaN with invalid signal. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 958 | * [ 185s] | ~ [ 185s] 959 | * Function needed: sqrt [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 960 | */ [ 185s] | ~~ [ 185s] 961 | double acos(double x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 962 | { [ 185s] | ~ [ 185s] 963 | constexpr double [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 964 | one [ 185s] | ~~~ [ 185s] 965 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 966 | pi = 3.14159265358979311600e+00, /* 0x400921FB, 0x54442D18 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 967 | pio2_hi = 1.57079632679489655800e+00, /* 0x3FF921FB, 0x54442D18 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 968 | pio2_lo = 6.12323399573676603587e-17, /* 0x3C91A626, 0x33145C07 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 969 | pS0 = 1.66666666666666657415e-01, /* 0x3FC55555, 0x55555555 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 970 | pS1 = -3.25565818622400915405e-01, /* 0xBFD4D612, 0x03EB6F7D */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 971 | pS2 = 2.01212532134862925881e-01, /* 0x3FC9C155, 0x0E884455 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 972 | pS3 = -4.00555345006794114027e-02, /* 0xBFA48228, 0xB5688F3B */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 973 | pS4 = 7.91534994289814532176e-04, /* 0x3F49EFE0, 0x7501B288 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 974 | pS5 = 3.47933107596021167570e-05, /* 0x3F023DE1, 0x0DFDF709 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 975 | qS1 = -2.40339491173441421878e+00, /* 0xC0033A27, 0x1C8A2D4B */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 976 | qS2 = 2.02094576023350569471e+00, /* 0x40002AE5, 0x9C598AC8 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 977 | qS3 = -6.88283971605453293030e-01, /* 0xBFE6066C, 0x1B8D0159 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 978 | qS4 = 7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 979 | [ 185s] | [ 185s] 980 | double z, p, q, r, w, s, c, df; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 981 | int32_t hx, ix; [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 982 | GET_HIGH_WORD(hx, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 983 | ix = hx & 0x7FFFFFFF; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 984 | if (ix >= 0x3FF00000) { /* |x| >= 1 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 985 | uint32_t lx; [ 185s] | ~~~~~~~~~~~~ [ 185s] 986 | GET_LOW_WORD(lx, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 987 | if (((ix - 0x3FF00000) | lx) == 0) { /* |x|==1 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 988 | if (hx > 0) [ 185s] | ~~~~~~~~~~~ [ 185s] 989 | return 0.0; /* acos(1) = 0 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 990 | else [ 185s] | ~~~~ [ 185s] 991 | return pi + 2.0 * pio2_lo; /* acos(-1)= pi */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 992 | } [ 185s] | ~ [ 185s] 993 | return (x - x) / (x - x); /* acos(|x|>1) is NaN */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 994 | } [ 185s] | ~ [ 185s] 995 | if (ix < 0x3FE00000) { /* |x| < 0.5 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 996 | if (ix <= 0x3C600000) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 997 | return pio2_hi + pio2_lo; /*if|x|<2**-57*/ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 998 | z = x * x; [ 185s] | ~~~~~~~~~~ [ 185s] 999 | p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5))))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1000 | q = one + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1001 | r = p / q; [ 185s] | ~~~~~~~~~~ [ 185s] 1002 | return pio2_hi - (x - (pio2_lo - x * r)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1003 | } else if (hx < 0) { /* x < -0.5 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1004 | z = (one + x) * 0.5; [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 1005 | p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5))))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1006 | q = one + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1007 | s = sqrt(z); [ 185s] | ~~~~~~~~~~~~ [ 185s] 1008 | r = p / q; [ 185s] | ~~~~~~~~~~ [ 185s] 1009 | w = r * s - pio2_lo; [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 1010 | return pi - 2.0 * (s + w); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1011 | } else { /* x > 0.5 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1012 | z = (one - x) * 0.5; [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 1013 | s = sqrt(z); [ 185s] | ~~~~~~~~~~~~ [ 185s] 1014 | df = s; [ 185s] | ~~~~~~~ [ 185s] 1015 | SET_LOW_WORD(df, 0); [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 1016 | c = (z - df * df) / (s + df); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1017 | p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5))))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1018 | q = one + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1019 | r = p / q; [ 185s] | ~~~~~~~~~~ [ 185s] 1020 | w = r * s + c; [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 1021 | return 2.0 * (df + w); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1022 | } [ 185s] | ~ [ 185s] 1023 | } [ 185s] | ~ [ 185s] 1024 | [ 185s] | [ 185s] 1025 | /* acosh(x) [ 185s] | ~~~~~~~~~~~ [ 185s] 1026 | * Method : [ 185s] | ~~~~~~~~~~ [ 185s] 1027 | * Based on [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 1028 | * acosh(x) = log [ x + sqrt(x*x-1) ] [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1029 | * we have [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 1030 | * acosh(x) := log(x)+ln2, if x is large; else [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1031 | * acosh(x) := log(2x-1/(sqrt(x*x-1)+x)) if x>2; else [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1032 | * acosh(x) := log1p(t+sqrt(2.0*t+t*t)); where t=x-1. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1033 | * [ 185s] | ~ [ 185s] 1034 | * Special cases: [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1035 | * acosh(x) is NaN with signal if x<1. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1036 | * acosh(NaN) is NaN without signal. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1037 | */ [ 185s] | ~~ [ 185s] 1038 | double acosh(double x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1039 | { [ 185s] | ~ [ 185s] 1040 | constexpr double [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1041 | one [ 185s] | ~~~ [ 185s] 1042 | = 1.0, [ 185s] | ~~~~~~ [ 185s] 1043 | ln2 = 6.93147180559945286227e-01; /* 0x3FE62E42, 0xFEFA39EF */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1044 | double t; [ 185s] | ~~~~~~~~~ [ 185s] 1045 | int32_t hx; [ 185s] | ~~~~~~~~~~~ [ 185s] 1046 | uint32_t lx; [ 185s] | ~~~~~~~~~~~~ [ 185s] 1047 | EXTRACT_WORDS(hx, lx, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1048 | if (hx < 0x3FF00000) { /* x < 1 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1049 | return (x - x) / (x - x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1050 | } else if (hx >= 0x41B00000) { /* x > 2**28 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1051 | if (hx >= 0x7FF00000) { /* x is inf of NaN */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1052 | return x + x; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 1053 | } else { [ 185s] | ~~~~~~~~ [ 185s] 1054 | return log(x) + ln2; /* acosh(huge)=log(2x) */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1055 | } [ 185s] | ~ [ 185s] 1056 | } else if (((hx - 0x3FF00000) | lx) == 0) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1057 | return 0.0; /* acosh(1) = 0 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1058 | } else if (hx > 0x40000000) { /* 2**28 > x > 2 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1059 | t = x * x; [ 185s] | ~~~~~~~~~~ [ 185s] 1060 | return log(2.0 * x - one / (x + sqrt(t - one))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1061 | } else { /* 10.98 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1081 | * asin(x) = pi/2 - 2*(s+s*z*R(z)) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1082 | * = pio2_hi - (2*(s+s*z*R(z)) - pio2_lo) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1083 | * For x<=0.98, let pio4_hi = pio2_hi/2, then [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1084 | * f = hi part of s; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1085 | * c = sqrt(z) - f = (z-f*f)/(s+f) ...f+c=sqrt(z) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1086 | * and [ 185s] | ~~~~~~~~~~ [ 185s] 1087 | * asin(x) = pi/2 - 2*(s+s*z*R(z)) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1088 | * = pio4_hi+(pio4-2s)-(2s*z*R(z)-pio2_lo) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1089 | * = pio4_hi+(pio4-2f)-(2s*z*R(z)-(pio2_lo+2c)) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1090 | * [ 185s] | ~ [ 185s] 1091 | * Special cases: [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1092 | * if x is NaN, return x itself; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1093 | * if |x|>1, return NaN with invalid signal. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1094 | */ [ 185s] | ~~ [ 185s] 1095 | double asin(double x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1096 | { [ 185s] | ~ [ 185s] 1097 | constexpr double [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1098 | one [ 185s] | ~~~ [ 185s] 1099 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1100 | huge = 1.000e+300, [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 1101 | pio2_hi = 1.57079632679489655800e+00, /* 0x3FF921FB, 0x54442D18 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1102 | pio2_lo = 6.12323399573676603587e-17, /* 0x3C91A626, 0x33145C07 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1103 | pio4_hi = 7.85398163397448278999e-01, /* 0x3FE921FB, 0x54442D18 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1104 | /* coefficient for R(x^2) */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1105 | pS0 = 1.66666666666666657415e-01, /* 0x3FC55555, 0x55555555 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1106 | pS1 = -3.25565818622400915405e-01, /* 0xBFD4D612, 0x03EB6F7D */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1107 | pS2 = 2.01212532134862925881e-01, /* 0x3FC9C155, 0x0E884455 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1108 | pS3 = -4.00555345006794114027e-02, /* 0xBFA48228, 0xB5688F3B */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1109 | pS4 = 7.91534994289814532176e-04, /* 0x3F49EFE0, 0x7501B288 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1110 | pS5 = 3.47933107596021167570e-05, /* 0x3F023DE1, 0x0DFDF709 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1111 | qS1 = -2.40339491173441421878e+00, /* 0xC0033A27, 0x1C8A2D4B */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1112 | qS2 = 2.02094576023350569471e+00, /* 0x40002AE5, 0x9C598AC8 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1113 | qS3 = -6.88283971605453293030e-01, /* 0xBFE6066C, 0x1B8D0159 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1114 | qS4 = 7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1115 | [ 185s] | [ 185s] 1116 | double t, w, p, q, c, r, s; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1117 | int32_t hx, ix; [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 1118 | [ 185s] | [ 185s] 1119 | t = 0; [ 185s] | ~~~~~~ [ 185s] 1120 | GET_HIGH_WORD(hx, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1121 | ix = hx & 0x7FFFFFFF; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1122 | if (ix >= 0x3FF00000) { /* |x|>= 1 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1123 | uint32_t lx; [ 185s] | ~~~~~~~~~~~~ [ 185s] 1124 | GET_LOW_WORD(lx, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 1125 | if (((ix - 0x3FF00000) | lx) == 0) /* asin(1)=+-pi/2 with inexact */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1126 | return x * pio2_hi + x * pio2_lo; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1127 | return (x - x) / (x - x); /* asin(|x|>1) is NaN */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1128 | } else if (ix < 0x3FE00000) { /* |x|<0.5 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1129 | if (ix < 0x3E400000 && huge + x > one) { /* if |x| < 2**-27 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1130 | return x; /* return x with inexact if x!=0*/ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1131 | } else { [ 185s] | ~~~~~~~~ [ 185s] 1132 | t = x * x; [ 185s] | ~~~~~~~~~~ [ 185s] 1133 | } [ 185s] | ~ [ 185s] 1134 | p = t * (pS0 + t * (pS1 + t * (pS2 + t * (pS3 + t * (pS4 + t * pS5))))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1135 | q = one + t * (qS1 + t * (qS2 + t * (qS3 + t * qS4))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1136 | w = p / q; [ 185s] | ~~~~~~~~~~ [ 185s] 1137 | return x + x * w; [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 1138 | } [ 185s] | ~ [ 185s] 1139 | /* 1> |x|>= 0.5 */ [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 1140 | w = one - fabs(x); [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 1141 | t = w * 0.5; [ 185s] | ~~~~~~~~~~~~ [ 185s] 1142 | p = t * (pS0 + t * (pS1 + t * (pS2 + t * (pS3 + t * (pS4 + t * pS5))))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1143 | q = one + t * (qS1 + t * (qS2 + t * (qS3 + t * qS4))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1144 | s = sqrt(t); [ 185s] | ~~~~~~~~~~~~ [ 185s] 1145 | if (ix >= 0x3FEF3333) { /* if |x| > 0.975 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1146 | w = p / q; [ 185s] | ~~~~~~~~~~ [ 185s] 1147 | t = pio2_hi - (2.0 * (s + s * w) - pio2_lo); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1148 | } else { [ 185s] | ~~~~~~~~ [ 185s] 1149 | w = s; [ 185s] | ~~~~~~ [ 185s] 1150 | SET_LOW_WORD(w, 0); [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 1151 | c = (t - w * w) / (s + w); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1152 | r = p / q; [ 185s] | ~~~~~~~~~~ [ 185s] 1153 | p = 2.0 * s * r - (pio2_lo - 2.0 * c); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1154 | q = pio4_hi - 2.0 * w; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1155 | t = pio4_hi - (p - q); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1156 | } [ 185s] | ~ [ 185s] 1157 | if (hx > 0) [ 185s] | ~~~~~~~~~~~ [ 185s] 1158 | return t; [ 185s] | ~~~~~~~~~ [ 185s] 1159 | else [ 185s] | ~~~~ [ 185s] 1160 | return -t; [ 185s] | ~~~~~~~~~~ [ 185s] 1161 | } [ 185s] | ~ [ 185s] 1162 | /* asinh(x) [ 185s] | ~~~~~~~~~~~ [ 185s] 1163 | * Method : [ 185s] | ~~~~~~~~~~ [ 185s] 1164 | * Based on [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 1165 | * asinh(x) = sign(x) * log [ |x| + sqrt(x*x+1) ] [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1166 | * we have [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 1167 | * asinh(x) := x if 1+x*x=1, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1168 | * := sign(x)*(log(x)+ln2)) for large |x|, else [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1169 | * := sign(x)*log(2|x|+1/(|x|+sqrt(x*x+1))) if|x|>2, else [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1170 | * := sign(x)*log1p(|x| + x^2/(1 + sqrt(1+x^2))) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1171 | */ [ 185s] | ~~ [ 185s] 1172 | double asinh(double x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1173 | { [ 185s] | ~ [ 185s] 1174 | constexpr double [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1175 | one [ 185s] | ~~~ [ 185s] 1176 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1177 | ln2 = 6.93147180559945286227e-01, /* 0x3FE62E42, 0xFEFA39EF */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1178 | huge = 1.00000000000000000000e+300; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1179 | [ 185s] | [ 185s] 1180 | double t, w; [ 185s] | ~~~~~~~~~~~~ [ 185s] 1181 | int32_t hx, ix; [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 1182 | GET_HIGH_WORD(hx, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1183 | ix = hx & 0x7FFFFFFF; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1184 | if (ix >= 0x7FF00000) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1185 | return x + x; /* x is inf or NaN */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1186 | if (ix < 0x3E300000 && huge + x > one) { /* |x|<2**-28 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1187 | return x; /* return x inexact except 0 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1188 | } [ 185s] | ~ [ 185s] 1189 | if (ix > 0x41B00000) { /* |x| > 2**28 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1190 | w = log(fabs(x)) + ln2; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1191 | } else if (ix > 0x40000000) { /* 2**28 > |x| > 2.0 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1192 | t = fabs(x); [ 185s] | ~~~~~~~~~~~~ [ 185s] 1193 | w = log(2.0 * t + one / (sqrt(x * x + one) + t)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1194 | } else { /* 2.0 > |x| > 2**-28 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1195 | t = x * x; [ 185s] | ~~~~~~~~~~ [ 185s] 1196 | w = log1p(fabs(x) + t / (one + sqrt(one + t))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1197 | } [ 185s] | ~ [ 185s] 1198 | if (hx > 0) { [ 185s] | ~~~~~~~~~~~~~ [ 185s] 1199 | return w; [ 185s] | ~~~~~~~~~ [ 185s] 1200 | } else { [ 185s] | ~~~~~~~~ [ 185s] 1201 | return -w; [ 185s] | ~~~~~~~~~~ [ 185s] 1202 | } [ 185s] | ~ [ 185s] 1203 | } [ 185s] | ~ [ 185s] 1204 | [ 185s] | [ 185s] 1205 | /* atan(x) [ 185s] | ~~~~~~~~~~ [ 185s] 1206 | * Method [ 185s] | ~~~~~~~~ [ 185s] 1207 | * 1. Reduce x to positive by atan(x) = -atan(-x). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1208 | * 2. According to the integer k=4t+0.25 chopped, t=x, the argument [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1209 | * is further reduced to one of the following intervals and the [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1210 | * arctangent of t is evaluated by the corresponding formula: [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1211 | * [ 185s] | ~ [ 185s] 1212 | * [0,7/16] atan(x) = t-t^3*(a1+t^2*(a2+...(a10+t^2*a11)...) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1213 | * [7/16,11/16] atan(x) = atan(1/2) + atan( (t-0.5)/(1+t/2) ) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1214 | * [11/16.19/16] atan(x) = atan( 1 ) + atan( (t-1)/(1+t) ) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1215 | * [19/16,39/16] atan(x) = atan(3/2) + atan( (t-1.5)/(1+1.5t) ) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1216 | * [39/16,INF] atan(x) = atan(INF) + atan( -1/t ) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1217 | * [ 185s] | ~ [ 185s] 1218 | * Constants: [ 185s] | ~~~~~~~~~~~~ [ 185s] 1219 | * The hexadecimal values are the intended ones for the following [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1220 | * constants. The decimal values may be used, provided that the [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1221 | * compiler will convert from decimal to binary accurately enough [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1222 | * to produce the hexadecimal values shown. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1223 | */ [ 185s] | ~~ [ 185s] 1224 | double atan(double x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1225 | { [ 185s] | ~ [ 185s] 1226 | constexpr double atanhi[] = { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1227 | 4.63647609000806093515e-01, /* atan(0.5)hi 0x3FDDAC67, 0x0561BB4F */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1228 | 7.85398163397448278999e-01, /* atan(1.0)hi 0x3FE921FB, 0x54442D18 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1229 | 9.82793723247329054082e-01, /* atan(1.5)hi 0x3FEF730B, 0xD281F69B */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1230 | 1.57079632679489655800e+00, /* atan(inf)hi 0x3FF921FB, 0x54442D18 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1231 | }; [ 185s] | ~~ [ 185s] 1232 | [ 185s] | [ 185s] 1233 | constexpr double atanlo[] = { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1234 | 2.26987774529616870924e-17, /* atan(0.5)lo 0x3C7A2B7F, 0x222F65E2 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1235 | 3.06161699786838301793e-17, /* atan(1.0)lo 0x3C81A626, 0x33145C07 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1236 | 1.39033110312309984516e-17, /* atan(1.5)lo 0x3C700788, 0x7AF0CBBD */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1237 | 6.12323399573676603587e-17, /* atan(inf)lo 0x3C91A626, 0x33145C07 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1238 | }; [ 185s] | ~~ [ 185s] 1239 | [ 185s] | [ 185s] 1240 | constexpr double aT[] = { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1241 | 3.33333333333329318027e-01, /* 0x3FD55555, 0x5555550D */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1242 | -1.99999999998764832476e-01, /* 0xBFC99999, 0x9998EBC4 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1243 | 1.42857142725034663711e-01, /* 0x3FC24924, 0x920083FF */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1244 | -1.11111104054623557880e-01, /* 0xBFBC71C6, 0xFE231671 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1245 | 9.09088713343650656196e-02, /* 0x3FB745CD, 0xC54C206E */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1246 | -7.69187620504482999495e-02, /* 0xBFB3B0F2, 0xAF749A6D */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1247 | 6.66107313738753120669e-02, /* 0x3FB10D66, 0xA0D03D51 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1248 | -5.83357013379057348645e-02, /* 0xBFADDE2D, 0x52DEFD9A */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1249 | 4.97687799461593236017e-02, /* 0x3FA97B4B, 0x24760DEB */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1250 | -3.65315727442169155270e-02, /* 0xBFA2B444, 0x2C6A6C2F */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1251 | 1.62858201153657823623e-02, /* 0x3F90AD3A, 0xE322DA11 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1252 | }; [ 185s] | ~~ [ 185s] 1253 | [ 185s] | [ 185s] 1254 | constexpr double one = 1.0, huge = 1.0e300; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1255 | [ 185s] | [ 185s] 1256 | double w, s1, s2, z; [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 1257 | int32_t ix, hx, id; [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 1258 | [ 185s] | [ 185s] 1259 | GET_HIGH_WORD(hx, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1260 | ix = hx & 0x7FFFFFFF; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1261 | if (ix >= 0x44100000) { /* if |x| >= 2^66 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1262 | uint32_t low; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 1263 | GET_LOW_WORD(low, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1264 | if (ix > 0x7FF00000 || (ix == 0x7FF00000 && (low != 0))) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1265 | return x + x; /* NaN */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1266 | if (hx > 0) [ 185s] | ~~~~~~~~~~~ [ 185s] 1267 | return atanhi[3] + *(volatile double *)&atanlo[3]; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1268 | else [ 185s] | ~~~~ [ 185s] 1269 | return -atanhi[3] - *(volatile double *)&atanlo[3]; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1270 | } [ 185s] | ~ [ 185s] 1271 | if (ix < 0x3FDC0000) { /* |x| < 0.4375 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1272 | if (ix < 0x3E400000 && huge + x > one) { /* |x| < 2^-27 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1273 | return x; /* raise inexact */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1274 | } [ 185s] | ~ [ 185s] 1275 | id = -1; [ 185s] | ~~~~~~~~ [ 185s] 1276 | } else { [ 185s] | ~~~~~~~~ [ 185s] 1277 | x = fabs(x); [ 185s] | ~~~~~~~~~~~~ [ 185s] 1278 | if (ix < 0x3FF30000) { /* |x| < 1.1875 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1279 | if (ix < 0x3FE60000) { /* 7/16 <=|x|<11/16 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1280 | id = 0; [ 185s] | ~~~~~~~ [ 185s] 1281 | x = (2.0 * x - one) / (2.0 + x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1282 | } else { /* 11/16<=|x|< 19/16 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1283 | id = 1; [ 185s] | ~~~~~~~ [ 185s] 1284 | x = (x - one) / (x + one); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1285 | } [ 185s] | ~ [ 185s] 1286 | } else { [ 185s] | ~~~~~~~~ [ 185s] 1287 | if (ix < 0x40038000) { /* |x| < 2.4375 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1288 | id = 2; [ 185s] | ~~~~~~~ [ 185s] 1289 | x = (x - 1.5) / (one + 1.5 * x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1290 | } else { /* 2.4375 <= |x| < 2^66 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1291 | id = 3; [ 185s] | ~~~~~~~ [ 185s] 1292 | x = -1.0 / x; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 1293 | } [ 185s] | ~ [ 185s] 1294 | } [ 185s] | ~ [ 185s] 1295 | } [ 185s] | ~ [ 185s] 1296 | /* end of argument reduction */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1297 | z = x * x; [ 185s] | ~~~~~~~~~~ [ 185s] 1298 | w = z * z; [ 185s] | ~~~~~~~~~~ [ 185s] 1299 | /* break sum from i=0 to 10 aT[i]z**(i+1) into odd and even poly */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1300 | s1 = z * (aT[0] + w * (aT[2] + w * (aT[4] + w * (aT[6] + w * (aT[8] + w * aT[10]))))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1301 | s2 = w * (aT[1] + w * (aT[3] + w * (aT[5] + w * (aT[7] + w * aT[9])))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1302 | if (id < 0) { [ 185s] | ~~~~~~~~~~~~~ [ 185s] 1303 | return x - x * (s1 + s2); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1304 | } else { [ 185s] | ~~~~~~~~ [ 185s] 1305 | z = atanhi[id] - ((x * (s1 + s2) - atanlo[id]) - x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1306 | return (hx < 0) ? -z : z; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1307 | } [ 185s] | ~ [ 185s] 1308 | } [ 185s] | ~ [ 185s] 1309 | [ 185s] | [ 185s] 1310 | /* atan2(y,x) [ 185s] | ~~~~~~~~~~~~~ [ 185s] 1311 | * Method : [ 185s] | ~~~~~~~~~~ [ 185s] 1312 | * 1. Reduce y to positive by atan2(y,x)=-atan2(-y,x). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1313 | * 2. Reduce x to positive by (if x and y are unexceptional): [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1314 | * ARG (x+iy) = arctan(y/x) ... if x > 0, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1315 | * ARG (x+iy) = pi - arctan[y/(-x)] ... if x < 0, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1316 | * [ 185s] | ~ [ 185s] 1317 | * Special cases: [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1318 | * [ 185s] | ~ [ 185s] 1319 | * ATAN2((anything), NaN ) is NaN; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1320 | * ATAN2(NAN , (anything) ) is NaN; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1321 | * ATAN2(+-0, +(anything but NaN)) is +-0 ; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1322 | * ATAN2(+-0, -(anything but NaN)) is +-pi ; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1323 | * ATAN2(+-(anything but 0 and NaN), 0) is +-pi/2; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1324 | * ATAN2(+-(anything but INF and NaN), +INF) is +-0 ; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1325 | * ATAN2(+-(anything but INF and NaN), -INF) is +-pi; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1326 | * ATAN2(+-INF,+INF ) is +-pi/4 ; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1327 | * ATAN2(+-INF,-INF ) is +-3pi/4; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1328 | * ATAN2(+-INF, (anything but,0,NaN, and INF)) is +-pi/2; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1329 | * [ 185s] | ~ [ 185s] 1330 | * Constants: [ 185s] | ~~~~~~~~~~~~ [ 185s] 1331 | * The hexadecimal values are the intended ones for the following [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1332 | * constants. The decimal values may be used, provided that the [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1333 | * compiler will convert from decimal to binary accurately enough [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1334 | * to produce the hexadecimal values shown. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1335 | */ [ 185s] | ~~ [ 185s] 1336 | double atan2(double y, double x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1337 | { [ 185s] | ~ [ 185s] 1338 | constexpr volatile double tiny = 1.0e-300; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1339 | constexpr double [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1340 | zero [ 185s] | ~~~~ [ 185s] 1341 | = 0.0, [ 185s] | ~~~~~~ [ 185s] 1342 | pi_o_4 = 7.8539816339744827900E-01, /* 0x3FE921FB, 0x54442D18 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1343 | pi_o_2 = 1.5707963267948965580E+00, /* 0x3FF921FB, 0x54442D18 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1344 | pi = 3.1415926535897931160E+00; /* 0x400921FB, 0x54442D18 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1345 | constexpr volatile double pi_lo = 1.2246467991473531772E-16; /* 0x3CA1A626, 0x33145C07 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1346 | [ 185s] | [ 185s] 1347 | double z; [ 185s] | ~~~~~~~~~ [ 185s] 1348 | int32_t k, m, hx, hy, ix, iy; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1349 | uint32_t lx, ly; [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1350 | [ 185s] | [ 185s] 1351 | EXTRACT_WORDS(hx, lx, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1352 | ix = hx & 0x7FFFFFFF; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1353 | EXTRACT_WORDS(hy, ly, y); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1354 | iy = hy & 0x7FFFFFFF; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1355 | if (((ix | ((lx | -static_cast(lx)) >> 31)) > 0x7FF00000) || ((iy | ((ly | -static_cast(ly)) >> 31)) > 0x7FF00000)) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1356 | return x + y; /* x or y is NaN */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1357 | } [ 185s] | ~ [ 185s] 1358 | if (((hx - 0x3FF00000) | lx) == 0) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1359 | return atan(y); /* x=1.0 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1360 | m = ((hy >> 31) & 1) | ((hx >> 30) & 2); /* 2*sign(x)+sign(y) */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1361 | [ 185s] | [ 185s] 1362 | /* when y = 0 */ [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1363 | if ((iy | ly) == 0) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1364 | switch (m) { [ 185s] | ~~~~~~~~~~~~ [ 185s] 1365 | case 0: [ 185s] | ~~~~~~~ [ 185s] 1366 | case 1: [ 185s] | ~~~~~~~ [ 185s] 1367 | return y; /* atan(+-0,+anything)=+-0 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1368 | case 2: [ 185s] | ~~~~~~~ [ 185s] 1369 | return pi + tiny; /* atan(+0,-anything) = pi */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1370 | case 3: [ 185s] | ~~~~~~~ [ 185s] 1371 | return -pi - tiny; /* atan(-0,-anything) =-pi */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1372 | } [ 185s] | ~ [ 185s] 1373 | } [ 185s] | ~ [ 185s] 1374 | /* when x = 0 */ [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1375 | if ((ix | lx) == 0) [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 1376 | return (hy < 0) ? -pi_o_2 - tiny : pi_o_2 + tiny; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1377 | [ 185s] | [ 185s] 1378 | /* when x is INF */ [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 1379 | if (ix == 0x7FF00000) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1380 | if (iy == 0x7FF00000) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1381 | switch (m) { [ 185s] | ~~~~~~~~~~~~ [ 185s] 1382 | case 0: [ 185s] | ~~~~~~~ [ 185s] 1383 | return pi_o_4 + tiny; /* atan(+INF,+INF) */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1384 | case 1: [ 185s] | ~~~~~~~ [ 185s] 1385 | return -pi_o_4 - tiny; /* atan(-INF,+INF) */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1386 | case 2: [ 185s] | ~~~~~~~ [ 185s] 1387 | return 3.0 * pi_o_4 + tiny; /*atan(+INF,-INF)*/ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1388 | case 3: [ 185s] | ~~~~~~~ [ 185s] 1389 | return -3.0 * pi_o_4 - tiny; /*atan(-INF,-INF)*/ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1390 | } [ 185s] | ~ [ 185s] 1391 | } else { [ 185s] | ~~~~~~~~ [ 185s] 1392 | switch (m) { [ 185s] | ~~~~~~~~~~~~ [ 185s] 1393 | case 0: [ 185s] | ~~~~~~~ [ 185s] 1394 | return zero; /* atan(+...,+INF) */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1395 | case 1: [ 185s] | ~~~~~~~ [ 185s] 1396 | return -zero; /* atan(-...,+INF) */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1397 | case 2: [ 185s] | ~~~~~~~ [ 185s] 1398 | return pi + tiny; /* atan(+...,-INF) */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1399 | case 3: [ 185s] | ~~~~~~~ [ 185s] 1400 | return -pi - tiny; /* atan(-...,-INF) */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1401 | } [ 185s] | ~ [ 185s] 1402 | } [ 185s] | ~ [ 185s] 1403 | } [ 185s] | ~ [ 185s] 1404 | /* when y is INF */ [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 1405 | if (iy == 0x7FF00000) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1406 | return (hy < 0) ? -pi_o_2 - tiny : pi_o_2 + tiny; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1407 | [ 185s] | [ 185s] 1408 | /* compute y/x */ [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 1409 | k = (iy - ix) >> 20; [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 1410 | if (k > 60) { /* |y/x| > 2**60 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1411 | z = pi_o_2 + 0.5 * pi_lo; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1412 | m &= 1; [ 185s] | ~~~~~~~ [ 185s] 1413 | } else if (hx < 0 && k < -60) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1414 | z = 0.0; /* 0 > |y|/x > -2**-60 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1415 | } else { [ 185s] | ~~~~~~~~ [ 185s] 1416 | z = atan(fabs(y / x)); /* safe to do y/x */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1417 | } [ 185s] | ~ [ 185s] 1418 | switch (m) { [ 185s] | ~~~~~~~~~~~~ [ 185s] 1419 | case 0: [ 185s] | ~~~~~~~ [ 185s] 1420 | return z; /* atan(+,+) */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1421 | case 1: [ 185s] | ~~~~~~~ [ 185s] 1422 | return -z; /* atan(-,+) */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1423 | case 2: [ 185s] | ~~~~~~~ [ 185s] 1424 | return pi - (z - pi_lo); /* atan(+,-) */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1425 | default: /* case 3 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1426 | return (z - pi_lo) - pi; /* atan(-,-) */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1427 | } [ 185s] | ~ [ 185s] 1428 | } [ 185s] | ~ [ 185s] 1429 | [ 185s] | [ 185s] 1430 | /* cos(x) [ 185s] | ~~~~~~~~~ [ 185s] 1431 | * Return cosine function of x. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1432 | * [ 185s] | ~ [ 185s] 1433 | * kernel function: [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 1434 | * __kernel_sin ... sine function on [-pi/4,pi/4] [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1435 | * __kernel_cos ... cosine function on [-pi/4,pi/4] [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1436 | * __ieee754_rem_pio2 ... argument reduction routine [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1437 | * [ 185s] | ~ [ 185s] 1438 | * Method. [ 185s] | ~~~~~~~~~ [ 185s] 1439 | * Let S,C and T denote the sin, cos and tan respectively on [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1440 | * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1441 | * in [-pi/4 , +pi/4], and let n = k mod 4. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1442 | * We have [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 1443 | * [ 185s] | ~ [ 185s] 1444 | * n sin(x) cos(x) tan(x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1445 | * ---------------------------------------------------------- [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1446 | * 0 S C T [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1447 | * 1 C -S -1/T [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1448 | * 2 -S -C T [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1449 | * 3 -C S -1/T [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1450 | * ---------------------------------------------------------- [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1451 | * [ 185s] | ~ [ 185s] 1452 | * Special cases: [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1453 | * Let trig be any of sin, cos, or tan. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1454 | * trig(+-INF) is NaN, with signals; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1455 | * trig(NaN) is that NaN; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1456 | * [ 185s] | ~ [ 185s] 1457 | * Accuracy: [ 185s] | ~~~~~~~~~~~ [ 185s] 1458 | * TRIG(x) returns trig(x) nearly rounded [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1459 | */ [ 185s] | ~~ [ 185s] 1460 | double cos(double x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 1461 | { [ 185s] | ~ [ 185s] 1462 | double y[2], z = 0.0; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1463 | int32_t n, ix; [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 1464 | [ 185s] | [ 185s] 1465 | /* High word of x. */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1466 | GET_HIGH_WORD(ix, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1467 | [ 185s] | [ 185s] 1468 | /* |x| ~< pi/4 */ [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 1469 | ix &= 0x7FFFFFFF; [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 1470 | if (ix <= 0x3FE921FB) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1471 | return __kernel_cos(x, z); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1472 | } else if (ix >= 0x7FF00000) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1473 | /* cos(Inf or NaN) is NaN */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1474 | return x - x; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 1475 | } else { [ 185s] | ~~~~~~~~ [ 185s] 1476 | /* argument reduction needed */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1477 | n = __ieee754_rem_pio2(x, y); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1478 | switch (n & 3) { [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1479 | case 0: [ 185s] | ~~~~~~~ [ 185s] 1480 | return __kernel_cos(y[0], y[1]); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1481 | case 1: [ 185s] | ~~~~~~~ [ 185s] 1482 | return -__kernel_sin(y[0], y[1], 1); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1483 | case 2: [ 185s] | ~~~~~~~ [ 185s] 1484 | return -__kernel_cos(y[0], y[1]); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1485 | default: [ 185s] | ~~~~~~~~ [ 185s] 1486 | return __kernel_sin(y[0], y[1], 1); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1487 | } [ 185s] | ~ [ 185s] 1488 | } [ 185s] | ~ [ 185s] 1489 | } [ 185s] | ~ [ 185s] 1490 | [ 185s] | [ 185s] 1491 | /* exp(x) [ 185s] | ~~~~~~~~~ [ 185s] 1492 | * Returns the exponential of x. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1493 | * [ 185s] | ~ [ 185s] 1494 | * Method [ 185s] | ~~~~~~~~ [ 185s] 1495 | * 1. Argument reduction: [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1496 | * Reduce x to an r so that |r| <= 0.5*ln2 ~ 0.34658. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1497 | * Given x, find r and integer k such that [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1498 | * [ 185s] | ~ [ 185s] 1499 | * x = k*ln2 + r, |r| <= 0.5*ln2. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1500 | * [ 185s] | ~ [ 185s] 1501 | * Here r will be represented as r = hi-lo for better [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1502 | * accuracy. [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1503 | * [ 185s] | ~ [ 185s] 1504 | * 2. Approximation of exp(r) by a special rational function on [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1505 | * the interval [0,0.34658]: [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1506 | * Write [ 185s] | ~~~~~~~~~~~~ [ 185s] 1507 | * R(r**2) = r*(exp(r)+1)/(exp(r)-1) = 2 + r*r/6 - r**4/360 + ... [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1508 | * We use a special Remes algorithm on [0,0.34658] to generate [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1509 | * a polynomial of degree 5 to approximate R. The maximum error [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1510 | * of this polynomial approximation is bounded by 2**-59. In [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1511 | * other words, [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 1512 | * R(z) ~ 2.0 + P1*z + P2*z**2 + P3*z**3 + P4*z**4 + P5*z**5 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1513 | * (where z=r*r, and the values of P1 to P5 are listed below) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1514 | * and [ 185s] | ~~~~~~~~~~ [ 185s] 1515 | * | 5 | -59 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1516 | * | 2.0+P1*z+...+P5*z - R(z) | <= 2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1517 | * | | [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1518 | * The computation of exp(r) thus becomes [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1519 | * 2*r [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1520 | * exp(r) = 1 + ------- [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1521 | * R - r [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1522 | * r*R1(r) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1523 | * = 1 + r + ----------- (for better accuracy) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1524 | * 2 - R1(r) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1525 | * where [ 185s] | ~~~~~~~~~~~~ [ 185s] 1526 | * 2 4 10 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1527 | * R1(r) = r - (P1*r + P2*r + ... + P5*r ). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1528 | * [ 185s] | ~ [ 185s] 1529 | * 3. Scale back to obtain exp(x): [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1530 | * From step 1, we have [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1531 | * exp(x) = 2^k * exp(r) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1532 | * [ 185s] | ~ [ 185s] 1533 | * Special cases: [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1534 | * exp(INF) is INF, exp(NaN) is NaN; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1535 | * exp(-INF) is 0, and [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1536 | * for finite argument, only exp(0)=1 is exact. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1537 | * [ 185s] | ~ [ 185s] 1538 | * Accuracy: [ 185s] | ~~~~~~~~~~~ [ 185s] 1539 | * according to an error analysis, the error is always less than [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1540 | * 1 ulp (unit in the last place). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1541 | * [ 185s] | ~ [ 185s] 1542 | * Misc. info. [ 185s] | ~~~~~~~~~~~~~ [ 185s] 1543 | * For IEEE double [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1544 | * if x > 7.09782712893383973096e+02 then exp(x) overflow [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1545 | * if x < -7.45133219101941108420e+02 then exp(x) underflow [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1546 | * [ 185s] | ~ [ 185s] 1547 | * Constants: [ 185s] | ~~~~~~~~~~~~ [ 185s] 1548 | * The hexadecimal values are the intended ones for the following [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1549 | * constants. The decimal values may be used, provided that the [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1550 | * compiler will convert from decimal to binary accurately enough [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1551 | * to produce the hexadecimal values shown. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1552 | */ [ 185s] | ~~ [ 185s] 1553 | double exp(double x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 1554 | { [ 185s] | ~ [ 185s] 1555 | constexpr double [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1556 | one [ 185s] | ~~~ [ 185s] 1557 | = 1.0, [ 185s] | ~~~~~~ [ 185s] 1558 | halF[2] = { 0.5, -0.5 }, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1559 | o_threshold = 7.09782712893383973096e+02, /* 0x40862E42, 0xFEFA39EF */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1560 | u_threshold = -7.45133219101941108420e+02, /* 0xC0874910, 0xD52D3051 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1561 | ln2HI[2] = { 6.93147180369123816490e-01, /* 0x3FE62E42, 0xFEE00000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1562 | -6.93147180369123816490e-01 }, /* 0xBFE62E42, 0xFEE00000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1563 | ln2LO[2] = { 1.90821492927058770002e-10, /* 0x3DEA39EF, 0x35793C76 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1564 | -1.90821492927058770002e-10 }, /* 0xBDEA39EF, 0x35793C76 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1565 | invln2 = 1.44269504088896338700e+00, /* 0x3FF71547, 0x652B82FE */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1566 | P1 = 1.66666666666666019037e-01, /* 0x3FC55555, 0x5555553E */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1567 | P2 = -2.77777777770155933842e-03, /* 0xBF66C16C, 0x16BEBD93 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1568 | P3 = 6.61375632143793436117e-05, /* 0x3F11566A, 0xAF25DE2C */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1569 | P4 = -1.65339022054652515390e-06, /* 0xBEBBBD41, 0xC5D26BF1 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1570 | P5 = 4.13813679705723846039e-08, /* 0x3E663769, 0x72BEA4D0 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1571 | E = 2.718281828459045; /* 0x4005BF0A, 0x8B145769 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1572 | [ 185s] | [ 185s] 1573 | constexpr volatile double [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1574 | huge [ 185s] | ~~~~ [ 185s] 1575 | = 1.0e+300, [ 185s] | ~~~~~~~~~~~ [ 185s] 1576 | twom1000 = 9.33263618503218878990e-302, /* 2**-1000=0x01700000,0*/ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1577 | two1023 = 8.988465674311579539e307; /* 0x1p1023 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1578 | [ 185s] | [ 185s] 1579 | double y, hi = 0.0, lo = 0.0, c, t, twopk; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1580 | int32_t k = 0, xsb; [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 1581 | uint32_t hx; [ 185s] | ~~~~~~~~~~~~ [ 185s] 1582 | [ 185s] | [ 185s] 1583 | GET_HIGH_WORD(hx, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1584 | xsb = (hx >> 31) & 1; /* sign bit of x */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1585 | hx &= 0x7FFFFFFF; /* high word of |x| */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1586 | [ 185s] | [ 185s] 1587 | /* filter out non-finite argument */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1588 | if (hx >= 0x40862E42) { /* if |x|>=709.78... */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1589 | if (hx >= 0x7FF00000) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1590 | uint32_t lx; [ 185s] | ~~~~~~~~~~~~ [ 185s] 1591 | GET_LOW_WORD(lx, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 1592 | if (((hx & 0xFFFFF) | lx) != 0) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1593 | return x + x; /* NaN */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1594 | else [ 185s] | ~~~~ [ 185s] 1595 | return (xsb == 0) ? x : 0.0; /* exp(+-inf)={inf,0} */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1596 | } [ 185s] | ~ [ 185s] 1597 | if (x > o_threshold) [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 1598 | return huge * huge; /* overflow */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1599 | if (x < u_threshold) [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 1600 | return twom1000 * twom1000; /* underflow */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1601 | } [ 185s] | ~ [ 185s] 1602 | [ 185s] | [ 185s] 1603 | /* argument reduction */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1604 | if (hx > 0x3FD62E42) { /* if |x| > 0.5 ln2 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1605 | if (hx < 0x3FF0A2B2) { /* and |x| < 1.5 ln2 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1606 | /* TODO(rtoy): We special case exp(1) here to return the correct [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1607 | * value of E, as the computation below would get the last bit [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1608 | * wrong. We should probably fix the algorithm instead. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1609 | */ [ 185s] | ~~ [ 185s] 1610 | if (x == 1.0) [ 185s] | ~~~~~~~~~~~~~ [ 185s] 1611 | return E; [ 185s] | ~~~~~~~~~ [ 185s] 1612 | hi = x - ln2HI[xsb]; [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 1613 | lo = ln2LO[xsb]; [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1614 | k = 1 - xsb - xsb; [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 1615 | } else { [ 185s] | ~~~~~~~~ [ 185s] 1616 | k = static_cast(invln2 * x + halF[xsb]); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1617 | t = k; [ 185s] | ~~~~~~ [ 185s] 1618 | hi = x - t * ln2HI[0]; /* t*ln2HI is exact here */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1619 | lo = t * ln2LO[0]; [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 1620 | } [ 185s] | ~ [ 185s] 1621 | STRICT_ASSIGN(double, x, hi - lo); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1622 | } else if (hx < 0x3E300000) { /* when |x|<2**-28 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1623 | if (huge + x > one) [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 1624 | return one + x; /* trigger inexact */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1625 | } else { [ 185s] | ~~~~~~~~ [ 185s] 1626 | k = 0; [ 185s] | ~~~~~~ [ 185s] 1627 | } [ 185s] | ~ [ 185s] 1628 | [ 185s] | [ 185s] 1629 | /* x is now in primary range */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1630 | t = x * x; [ 185s] | ~~~~~~~~~~ [ 185s] 1631 | if (k >= -1021) { [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 1632 | INSERT_WORDS(twopk, 0x3FF00000 + (k << 20), 0); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1633 | } else { [ 185s] | ~~~~~~~~ [ 185s] 1634 | INSERT_WORDS(twopk, 0x3FF00000 + ((k + 1000) << 20), 0); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1635 | } [ 185s] | ~ [ 185s] 1636 | c = x - t * (P1 + t * (P2 + t * (P3 + t * (P4 + t * P5)))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1637 | if (k == 0) { [ 185s] | ~~~~~~~~~~~~~ [ 185s] 1638 | return one - ((x * c) / (c - 2.0) - x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1639 | } else { [ 185s] | ~~~~~~~~ [ 185s] 1640 | y = one - ((lo - (x * c) / (2.0 - c)) - hi); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1641 | } [ 185s] | ~ [ 185s] 1642 | if (k >= -1021) { [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 1643 | if (k == 1024) [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 1644 | return y * 2.0 * two1023; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1645 | return y * twopk; [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 1646 | } else { [ 185s] | ~~~~~~~~ [ 185s] 1647 | return y * twopk * twom1000; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1648 | } [ 185s] | ~ [ 185s] 1649 | } [ 185s] | ~ [ 185s] 1650 | [ 185s] | [ 185s] 1651 | /* [ 185s] | ~~ [ 185s] 1652 | * Method : [ 185s] | ~~~~~~~~~~ [ 185s] 1653 | * 1.Reduced x to positive by atanh(-x) = -atanh(x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1654 | * 2.For x>=0.5 [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 1655 | * 1 2x x [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1656 | * atanh(x) = --- * log(1 + -------) = 0.5 * log1p(2 * --------) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1657 | * 2 1 - x 1 - x [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1658 | * [ 185s] | ~ [ 185s] 1659 | * For x<0.5 [ 185s] | ~~~~~~~~~~~~~ [ 185s] 1660 | * atanh(x) = 0.5*log1p(2x+2x*x/(1-x)) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1661 | * [ 185s] | ~ [ 185s] 1662 | * Special cases: [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1663 | * atanh(x) is NaN if |x| > 1 with signal; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1664 | * atanh(NaN) is that NaN with no signal; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1665 | * atanh(+-1) is +-INF with signal. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1666 | * [ 185s] | ~ [ 185s] 1667 | */ [ 185s] | ~~ [ 185s] 1668 | double atanh(double x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1669 | { [ 185s] | ~ [ 185s] 1670 | constexpr double one = 1.0, huge = 1e300; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1671 | constexpr double zero = 0.0; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1672 | [ 185s] | [ 185s] 1673 | double t; [ 185s] | ~~~~~~~~~ [ 185s] 1674 | int32_t hx, ix; [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 1675 | uint32_t lx; [ 185s] | ~~~~~~~~~~~~ [ 185s] 1676 | EXTRACT_WORDS(hx, lx, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1677 | ix = hx & 0x7FFFFFFF; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1678 | if ((ix | ((lx | -static_cast(lx)) >> 31)) > 0x3FF00000) /* |x|>1 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1679 | return (x - x) / (x - x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1680 | if (ix == 0x3FF00000) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1681 | return x / zero; [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1682 | if (ix < 0x3E300000 && (huge + x) > zero) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1683 | return x; /* x<2**-28 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1684 | SET_HIGH_WORD(x, ix); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1685 | if (ix < 0x3FE00000) { /* x < 0.5 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1686 | t = x + x; [ 185s] | ~~~~~~~~~~ [ 185s] 1687 | t = 0.5 * log1p(t + t * x / (one - x)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1688 | } else { [ 185s] | ~~~~~~~~ [ 185s] 1689 | t = 0.5 * log1p((x + x) / (one - x)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1690 | } [ 185s] | ~ [ 185s] 1691 | if (hx >= 0) [ 185s] | ~~~~~~~~~~~~ [ 185s] 1692 | return t; [ 185s] | ~~~~~~~~~ [ 185s] 1693 | else [ 185s] | ~~~~ [ 185s] 1694 | return -t; [ 185s] | ~~~~~~~~~~ [ 185s] 1695 | } [ 185s] | ~ [ 185s] 1696 | [ 185s] | [ 185s] 1697 | /* log(x) [ 185s] | ~~~~~~~~~ [ 185s] 1698 | * Return the logrithm of x [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1699 | * [ 185s] | ~ [ 185s] 1700 | * Method : [ 185s] | ~~~~~~~~~~ [ 185s] 1701 | * 1. Argument Reduction: find k and f such that [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1702 | * x = 2^k * (1+f), [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1703 | * where sqrt(2)/2 < 1+f < sqrt(2) . [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1704 | * [ 185s] | ~ [ 185s] 1705 | * 2. Approximation of log(1+f). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1706 | * Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1707 | * = 2s + 2/3 s**3 + 2/5 s**5 + ....., [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1708 | * = 2s + s*R [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 1709 | * We use a special Reme algorithm on [0,0.1716] to generate [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1710 | * a polynomial of degree 14 to approximate R The maximum error [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1711 | * of this polynomial approximation is bounded by 2**-58.45. In [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1712 | * other words, [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 1713 | * 2 4 6 8 10 12 14 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1714 | * R(z) ~ Lg1*s +Lg2*s +Lg3*s +Lg4*s +Lg5*s +Lg6*s +Lg7*s [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1715 | * (the values of Lg1 to Lg7 are listed in the program) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1716 | * and [ 185s] | ~~~~~~ [ 185s] 1717 | * | 2 14 | -58.45 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1718 | * | Lg1*s +...+Lg7*s - R(z) | <= 2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1719 | * | | [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1720 | * Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1721 | * In order to guarantee error in log below 1ulp, we compute log [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1722 | * by [ 185s] | ~~~~~ [ 185s] 1723 | * log(1+f) = f - s*(f - R) (if f is not too large) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1724 | * log(1+f) = f - (hfsq - s*(hfsq+R)). (better accuracy) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1725 | * [ 185s] | ~ [ 185s] 1726 | * 3. Finally, log(x) = k*ln2 + log(1+f). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1727 | * = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo))) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1728 | * Here ln2 is split into two floating point number: [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1729 | * ln2_hi + ln2_lo, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1730 | * where n*ln2_hi is always exact for |n| < 2000. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1731 | * [ 185s] | ~ [ 185s] 1732 | * Special cases: [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1733 | * log(x) is NaN with signal if x < 0 (including -INF) ; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1734 | * log(+INF) is +INF; log(0) is -INF with signal; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1735 | * log(NaN) is that NaN with no signal. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1736 | * [ 185s] | ~ [ 185s] 1737 | * Accuracy: [ 185s] | ~~~~~~~~~~~ [ 185s] 1738 | * according to an error analysis, the error is always less than [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1739 | * 1 ulp (unit in the last place). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1740 | * [ 185s] | ~ [ 185s] 1741 | * Constants: [ 185s] | ~~~~~~~~~~~~ [ 185s] 1742 | * The hexadecimal values are the intended ones for the following [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1743 | * constants. The decimal values may be used, provided that the [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1744 | * compiler will convert from decimal to binary accurately enough [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1745 | * to produce the hexadecimal values shown. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1746 | */ [ 185s] | ~~ [ 185s] 1747 | double log(double x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 1748 | { [ 185s] | ~ [ 185s] 1749 | constexpr double /* -- */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1750 | ln2_hi [ 185s] | ~~~~~~ [ 185s] 1751 | = 6.93147180369123816490e-01, /* 3fe62e42 fee00000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1752 | ln2_lo = 1.90821492927058770002e-10, /* 3dea39ef 35793c76 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1753 | two54 = 1.80143985094819840000e+16, /* 43500000 00000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1754 | Lg1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1755 | Lg2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1756 | Lg3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1757 | Lg4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1758 | Lg5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1759 | Lg6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1760 | Lg7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1761 | [ 185s] | [ 185s] 1762 | constexpr double zero = 0.0; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1763 | constexpr volatile double vzero = 0.0; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1764 | [ 185s] | [ 185s] 1765 | double hfsq, f, s, z, R, w, t1, t2, dk; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1766 | int32_t k, hx, i, j; [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 1767 | uint32_t lx; [ 185s] | ~~~~~~~~~~~~ [ 185s] 1768 | [ 185s] | [ 185s] 1769 | EXTRACT_WORDS(hx, lx, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1770 | [ 185s] | [ 185s] 1771 | k = 0; [ 185s] | ~~~~~~ [ 185s] 1772 | if (hx < 0x00100000) { /* x < 2**-1022 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1773 | if (((hx & 0x7FFFFFFF) | lx) == 0) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1774 | return -two54 / vzero; /* log(+-0)=-inf */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1775 | if (hx < 0) [ 185s] | ~~~~~~~~~~~ [ 185s] 1776 | return (x - x) / zero; /* log(-#) = NaN */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1777 | k -= 54; [ 185s] | ~~~~~~~~ [ 185s] 1778 | x *= two54; /* subnormal number, scale up x */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1779 | GET_HIGH_WORD(hx, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1780 | } [ 185s] | ~ [ 185s] 1781 | if (hx >= 0x7FF00000) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1782 | return x + x; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 1783 | k += (hx >> 20) - 1023; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1784 | hx &= 0x000FFFFF; [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 1785 | i = (hx + 0x95F64) & 0x100000; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1786 | SET_HIGH_WORD(x, hx | (i ^ 0x3FF00000)); /* normalize x or x/2 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1787 | k += (i >> 20); [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 1788 | f = x - 1.0; [ 185s] | ~~~~~~~~~~~~ [ 185s] 1789 | if ((0x000FFFFF & (2 + hx)) < 3) { /* -2**-20 <= f < 2**-20 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1790 | if (f == zero) { [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1791 | if (k == 0) { [ 185s] | ~~~~~~~~~~~~~ [ 185s] 1792 | return zero; [ 185s] | ~~~~~~~~~~~~ [ 185s] 1793 | } else { [ 185s] | ~~~~~~~~ [ 185s] 1794 | dk = static_cast(k); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1795 | return dk * ln2_hi + dk * ln2_lo; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1796 | } [ 185s] | ~ [ 185s] 1797 | } [ 185s] | ~ [ 185s] 1798 | R = f * f * (0.5 - 0.33333333333333333 * f); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1799 | if (k == 0) { [ 185s] | ~~~~~~~~~~~~~ [ 185s] 1800 | return f - R; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 1801 | } else { [ 185s] | ~~~~~~~~ [ 185s] 1802 | dk = static_cast(k); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1803 | return dk * ln2_hi - ((R - dk * ln2_lo) - f); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1804 | } [ 185s] | ~ [ 185s] 1805 | } [ 185s] | ~ [ 185s] 1806 | s = f / (2.0 + f); [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 1807 | dk = static_cast(k); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1808 | z = s * s; [ 185s] | ~~~~~~~~~~ [ 185s] 1809 | i = hx - 0x6147A; [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 1810 | w = z * z; [ 185s] | ~~~~~~~~~~ [ 185s] 1811 | j = 0x6B851 - hx; [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 1812 | t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1813 | t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1814 | i |= j; [ 185s] | ~~~~~~~ [ 185s] 1815 | R = t2 + t1; [ 185s] | ~~~~~~~~~~~~ [ 185s] 1816 | if (i > 0) { [ 185s] | ~~~~~~~~~~~~ [ 185s] 1817 | hfsq = 0.5 * f * f; [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 1818 | if (k == 0) [ 185s] | ~~~~~~~~~~~ [ 185s] 1819 | return f - (hfsq - s * (hfsq + R)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1820 | else [ 185s] | ~~~~ [ 185s] 1821 | return dk * ln2_hi - ((hfsq - (s * (hfsq + R) + dk * ln2_lo)) - f); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1822 | } else { [ 185s] | ~~~~~~~~ [ 185s] 1823 | if (k == 0) [ 185s] | ~~~~~~~~~~~ [ 185s] 1824 | return f - s * (f - R); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1825 | else [ 185s] | ~~~~ [ 185s] 1826 | return dk * ln2_hi - ((s * (f - R) - dk * ln2_lo) - f); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1827 | } [ 185s] | ~ [ 185s] 1828 | } [ 185s] | ~ [ 185s] 1829 | [ 185s] | [ 185s] 1830 | /* double log1p(double x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1831 | * [ 185s] | ~ [ 185s] 1832 | * Method : [ 185s] | ~~~~~~~~~~ [ 185s] 1833 | * 1. Argument Reduction: find k and f such that [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1834 | * 1+x = 2^k * (1+f), [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1835 | * where sqrt(2)/2 < 1+f < sqrt(2) . [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1836 | * [ 185s] | ~ [ 185s] 1837 | * Note. If k=0, then f=x is exact. However, if k!=0, then f [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1838 | * may not be representable exactly. In that case, a correction [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1839 | * term is need. Let u=1+x rounded. Let c = (1+x)-u, then [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1840 | * log(1+x) - log(u) ~ c/u. Thus, we proceed to compute log(u), [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1841 | * and add back the correction term c/u. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1842 | * (Note: when x > 2**53, one can simply return log(x)) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1843 | * [ 185s] | ~ [ 185s] 1844 | * 2. Approximation of log1p(f). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1845 | * Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1846 | * = 2s + 2/3 s**3 + 2/5 s**5 + ....., [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1847 | * = 2s + s*R [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 1848 | * We use a special Reme algorithm on [0,0.1716] to generate [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1849 | * a polynomial of degree 14 to approximate R The maximum error [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1850 | * of this polynomial approximation is bounded by 2**-58.45. In [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1851 | * other words, [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 1852 | * 2 4 6 8 10 12 14 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1853 | * R(z) ~ Lp1*s +Lp2*s +Lp3*s +Lp4*s +Lp5*s +Lp6*s +Lp7*s [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1854 | * (the values of Lp1 to Lp7 are listed in the program) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1855 | * and [ 185s] | ~~~~~~ [ 185s] 1856 | * | 2 14 | -58.45 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1857 | * | Lp1*s +...+Lp7*s - R(z) | <= 2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1858 | * | | [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1859 | * Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1860 | * In order to guarantee error in log below 1ulp, we compute log [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1861 | * by [ 185s] | ~~~~~ [ 185s] 1862 | * log1p(f) = f - (hfsq - s*(hfsq+R)). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1863 | * [ 185s] | ~ [ 185s] 1864 | * 3. Finally, log1p(x) = k*ln2 + log1p(f). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1865 | * = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo))) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1866 | * Here ln2 is split into two floating point number: [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1867 | * ln2_hi + ln2_lo, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1868 | * where n*ln2_hi is always exact for |n| < 2000. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1869 | * [ 185s] | ~ [ 185s] 1870 | * Special cases: [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1871 | * log1p(x) is NaN with signal if x < -1 (including -INF) ; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1872 | * log1p(+INF) is +INF; log1p(-1) is -INF with signal; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1873 | * log1p(NaN) is that NaN with no signal. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1874 | * [ 185s] | ~ [ 185s] 1875 | * Accuracy: [ 185s] | ~~~~~~~~~~~ [ 185s] 1876 | * according to an error analysis, the error is always less than [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1877 | * 1 ulp (unit in the last place). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1878 | * [ 185s] | ~ [ 185s] 1879 | * Constants: [ 185s] | ~~~~~~~~~~~~ [ 185s] 1880 | * The hexadecimal values are the intended ones for the following [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1881 | * constants. The decimal values may be used, provided that the [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1882 | * compiler will convert from decimal to binary accurately enough [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1883 | * to produce the hexadecimal values shown. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1884 | * [ 185s] | ~ [ 185s] 1885 | * Note: Assuming log() return accurate answer, the following [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1886 | * algorithm can be used to compute log1p(x) to within a few ULP: [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1887 | * [ 185s] | ~ [ 185s] 1888 | * u = 1+x; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 1889 | * if(u==1.0) return x ; else [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1890 | * return log(u)*(x/(u-1.0)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1891 | * [ 185s] | ~ [ 185s] 1892 | * See HP-15C Advanced Functions Handbook, p.193. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1893 | */ [ 185s] | ~~ [ 185s] 1894 | double log1p(double x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1895 | { [ 185s] | ~ [ 185s] 1896 | constexpr double /* -- */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1897 | ln2_hi [ 185s] | ~~~~~~ [ 185s] 1898 | = 6.93147180369123816490e-01, /* 3fe62e42 fee00000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1899 | ln2_lo = 1.90821492927058770002e-10, /* 3dea39ef 35793c76 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1900 | two54 = 1.80143985094819840000e+16, /* 43500000 00000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1901 | Lp1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1902 | Lp2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1903 | Lp3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1904 | Lp4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1905 | Lp5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1906 | Lp6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1907 | Lp7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1908 | [ 185s] | [ 185s] 1909 | constexpr double zero = 0.0; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1910 | constexpr volatile double vzero = 0.0; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1911 | [ 185s] | [ 185s] 1912 | double hfsq, f, c, s, z, R, u; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1913 | int32_t k, hx, hu, ax; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1914 | [ 185s] | [ 185s] 1915 | GET_HIGH_WORD(hx, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1916 | ax = hx & 0x7FFFFFFF; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1917 | [ 185s] | [ 185s] 1918 | c = 0; [ 185s] | ~~~~~~ [ 185s] 1919 | k = 1; [ 185s] | ~~~~~~ [ 185s] 1920 | if (hx < 0x3FDA827A) { /* 1+x < sqrt(2)+ */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1921 | if (ax >= 0x3FF00000) { /* x <= -1.0 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1922 | if (x == -1.0) [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 1923 | return -two54 / vzero; /* log1p(-1)=+inf */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1924 | else [ 185s] | ~~~~ [ 185s] 1925 | return (x - x) / (x - x); /* log1p(x<-1)=NaN */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1926 | } [ 185s] | ~ [ 185s] 1927 | if (ax < 0x3E200000) { /* |x| < 2**-29 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1928 | if (two54 + x > zero /* raise inexact */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1929 | && ax < 0x3C900000) /* |x| < 2**-54 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1930 | return x; [ 185s] | ~~~~~~~~~ [ 185s] 1931 | else [ 185s] | ~~~~ [ 185s] 1932 | return x - x * x * 0.5; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1933 | } [ 185s] | ~ [ 185s] 1934 | if (hx > 0 || hx <= static_cast(0xBFD2BEC4)) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1935 | k = 0; [ 185s] | ~~~~~~ [ 185s] 1936 | f = x; [ 185s] | ~~~~~~ [ 185s] 1937 | hu = 1; [ 185s] | ~~~~~~~ [ 185s] 1938 | } /* sqrt(2)/2- <= 1+x < sqrt(2)+ */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1939 | } [ 185s] | ~ [ 185s] 1940 | if (hx >= 0x7FF00000) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1941 | return x + x; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 1942 | if (k != 0) { [ 185s] | ~~~~~~~~~~~~~ [ 185s] 1943 | if (hx < 0x43400000) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1944 | STRICT_ASSIGN(double, u, 1.0 + x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1945 | GET_HIGH_WORD(hu, u); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1946 | k = (hu >> 20) - 1023; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1947 | c = (k > 0) ? 1.0 - (u - x) : x - (u - 1.0); /* correction term */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1948 | c /= u; [ 185s] | ~~~~~~~ [ 185s] 1949 | } else { [ 185s] | ~~~~~~~~ [ 185s] 1950 | u = x; [ 185s] | ~~~~~~ [ 185s] 1951 | GET_HIGH_WORD(hu, u); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1952 | k = (hu >> 20) - 1023; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1953 | c = 0; [ 185s] | ~~~~~~ [ 185s] 1954 | } [ 185s] | ~ [ 185s] 1955 | hu &= 0x000FFFFF; [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 1956 | /* [ 185s] | ~~ [ 185s] 1957 | * The approximation to sqrt(2) used in thresholds is not [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1958 | * critical. However, the ones used above must give less [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1959 | * strict bounds than the one here so that the k==0 case is [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1960 | * never reached from here, since here we have committed to [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1961 | * using the correction term but don't use it if k==0. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1962 | */ [ 185s] | ~~ [ 185s] 1963 | if (hu < 0x6A09E) { /* u ~< sqrt(2) */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1964 | SET_HIGH_WORD(u, hu | 0x3FF00000); /* normalize u */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1965 | } else { [ 185s] | ~~~~~~~~ [ 185s] 1966 | k += 1; [ 185s] | ~~~~~~~ [ 185s] 1967 | SET_HIGH_WORD(u, hu | 0x3FE00000); /* normalize u/2 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1968 | hu = (0x00100000 - hu) >> 2; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1969 | } [ 185s] | ~ [ 185s] 1970 | f = u - 1.0; [ 185s] | ~~~~~~~~~~~~ [ 185s] 1971 | } [ 185s] | ~ [ 185s] 1972 | hfsq = 0.5 * f * f; [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 1973 | if (hu == 0) { /* |f| < 2**-20 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1974 | if (f == zero) { [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1975 | if (k == 0) { [ 185s] | ~~~~~~~~~~~~~ [ 185s] 1976 | return zero; [ 185s] | ~~~~~~~~~~~~ [ 185s] 1977 | } else { [ 185s] | ~~~~~~~~ [ 185s] 1978 | c += k * ln2_lo; [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 1979 | return k * ln2_hi + c; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1980 | } [ 185s] | ~ [ 185s] 1981 | } [ 185s] | ~ [ 185s] 1982 | R = hfsq * (1.0 - 0.66666666666666666 * f); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1983 | if (k == 0) [ 185s] | ~~~~~~~~~~~ [ 185s] 1984 | return f - R; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 1985 | else [ 185s] | ~~~~ [ 185s] 1986 | return k * ln2_hi - ((R - (k * ln2_lo + c)) - f); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1987 | } [ 185s] | ~ [ 185s] 1988 | s = f / (2.0 + f); [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 1989 | z = s * s; [ 185s] | ~~~~~~~~~~ [ 185s] 1990 | R = z * (Lp1 + z * (Lp2 + z * (Lp3 + z * (Lp4 + z * (Lp5 + z * (Lp6 + z * Lp7)))))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1991 | if (k == 0) [ 185s] | ~~~~~~~~~~~ [ 185s] 1992 | return f - (hfsq - s * (hfsq + R)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1993 | else [ 185s] | ~~~~ [ 185s] 1994 | return k * ln2_hi - ((hfsq - (s * (hfsq + R) + (k * ln2_lo + c))) - f); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 1995 | } [ 185s] | ~ [ 185s] 1996 | [ 185s] | [ 185s] 1997 | /* [ 185s] | ~~ [ 185s] 1998 | * k_log1p(f): [ 185s] | ~~~~~~~~~~~~~ [ 185s] 1999 | * Return log(1+f) - f for 1+f in ~[sqrt(2)/2, sqrt(2)]. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2000 | * [ 185s] | ~ [ 185s] 2001 | * The following describes the overall strategy for computing [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2002 | * logarithms in base e. The argument reduction and adding the final [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2003 | * term of the polynomial are done by the caller for increased accuracy [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2004 | * when different bases are used. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2005 | * [ 185s] | ~ [ 185s] 2006 | * Method : [ 185s] | ~~~~~~~~~~ [ 185s] 2007 | * 1. Argument Reduction: find k and f such that [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2008 | * x = 2^k * (1+f), [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2009 | * where sqrt(2)/2 < 1+f < sqrt(2) . [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2010 | * [ 185s] | ~ [ 185s] 2011 | * 2. Approximation of log(1+f). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2012 | * Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2013 | * = 2s + 2/3 s**3 + 2/5 s**5 + ....., [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2014 | * = 2s + s*R [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2015 | * We use a special Reme algorithm on [0,0.1716] to generate [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2016 | * a polynomial of degree 14 to approximate R The maximum error [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2017 | * of this polynomial approximation is bounded by 2**-58.45. In [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2018 | * other words, [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 2019 | * 2 4 6 8 10 12 14 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2020 | * R(z) ~ Lg1*s +Lg2*s +Lg3*s +Lg4*s +Lg5*s +Lg6*s +Lg7*s [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2021 | * (the values of Lg1 to Lg7 are listed in the program) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2022 | * and [ 185s] | ~~~~~~~~~~ [ 185s] 2023 | * | 2 14 | -58.45 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2024 | * | Lg1*s +...+Lg7*s - R(z) | <= 2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2025 | * | | [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2026 | * Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2027 | * In order to guarantee error in log below 1ulp, we compute log [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2028 | * by [ 185s] | ~~~~~~~~~ [ 185s] 2029 | * log(1+f) = f - s*(f - R) (if f is not too large) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2030 | * log(1+f) = f - (hfsq - s*(hfsq+R)). (better accuracy) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2031 | * [ 185s] | ~ [ 185s] 2032 | * 3. Finally, log(x) = k*ln2 + log(1+f). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2033 | * = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo))) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2034 | * Here ln2 is split into two floating point number: [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2035 | * ln2_hi + ln2_lo, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2036 | * where n*ln2_hi is always exact for |n| < 2000. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2037 | * [ 185s] | ~ [ 185s] 2038 | * Special cases: [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 2039 | * log(x) is NaN with signal if x < 0 (including -INF) ; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2040 | * log(+INF) is +INF; log(0) is -INF with signal; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2041 | * log(NaN) is that NaN with no signal. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2042 | * [ 185s] | ~ [ 185s] 2043 | * Accuracy: [ 185s] | ~~~~~~~~~~~ [ 185s] 2044 | * according to an error analysis, the error is always less than [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2045 | * 1 ulp (unit in the last place). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2046 | * [ 185s] | ~ [ 185s] 2047 | * Constants: [ 185s] | ~~~~~~~~~~~~ [ 185s] 2048 | * The hexadecimal values are the intended ones for the following [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2049 | * constants. The decimal values may be used, provided that the [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2050 | * compiler will convert from decimal to binary accurately enough [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2051 | * to produce the hexadecimal values shown. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2052 | */ [ 185s] | ~~ [ 185s] 2053 | [ 185s] | [ 185s] 2054 | constexpr double Lg1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2055 | Lg2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2056 | Lg3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2057 | Lg4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2058 | Lg5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2059 | Lg6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2060 | Lg7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2061 | [ 185s] | [ 185s] 2062 | /* [ 185s] | ~~ [ 185s] 2063 | * We always inline k_log1p(), since doing so produces a [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2064 | * substantial performance improvement (~40% on amd64). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2065 | */ [ 185s] | ~~ [ 185s] 2066 | static inline double k_log1p(double f) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2067 | { [ 185s] | ~ [ 185s] 2068 | double hfsq, s, z, R, w, t1, t2; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2069 | [ 185s] | [ 185s] 2070 | s = f / (2.0 + f); [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 2071 | z = s * s; [ 185s] | ~~~~~~~~~~ [ 185s] 2072 | w = z * z; [ 185s] | ~~~~~~~~~~ [ 185s] 2073 | t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2074 | t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2075 | R = t2 + t1; [ 185s] | ~~~~~~~~~~~~ [ 185s] 2076 | hfsq = 0.5 * f * f; [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 2077 | return s * (hfsq + R); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2078 | } [ 185s] | ~ [ 185s] 2079 | [ 185s] | [ 185s] 2080 | /* [ 185s] | ~~ [ 185s] 2081 | * Return the base 2 logarithm of x. See e_log.c and k_log.h for most [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2082 | * comments. [ 185s] | ~~~~~~~~~~~ [ 185s] 2083 | * [ 185s] | ~ [ 185s] 2084 | * This reduces x to {k, 1+f} exactly as in e_log.c, then calls the kernel, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2085 | * then does the combining and scaling steps [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2086 | * log2(x) = (f - 0.5*f*f + k_log1p(f)) / ln2 + k [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2087 | * in not-quite-routine extra precision. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2088 | */ [ 185s] | ~~ [ 185s] 2089 | double log2(double x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2090 | { [ 185s] | ~ [ 185s] 2091 | constexpr double [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 2092 | two54 [ 185s] | ~~~~~ [ 185s] 2093 | = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2094 | ivln2hi = 1.44269504072144627571e+00, /* 0x3FF71547, 0x65200000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2095 | ivln2lo = 1.67517131648865118353e-10; /* 0x3DE705FC, 0x2EEFA200 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2096 | [ 185s] | [ 185s] 2097 | constexpr double zero = 0.0; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2098 | constexpr volatile double vzero = 0.0; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2099 | [ 185s] | [ 185s] 2100 | double f, hfsq, hi, lo, r, val_hi, val_lo, w, y; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2101 | int32_t i, k, hx; [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 2102 | uint32_t lx; [ 185s] | ~~~~~~~~~~~~ [ 185s] 2103 | [ 185s] | [ 185s] 2104 | EXTRACT_WORDS(hx, lx, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2105 | [ 185s] | [ 185s] 2106 | k = 0; [ 185s] | ~~~~~~ [ 185s] 2107 | if (hx < 0x00100000) { /* x < 2**-1022 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2108 | if (((hx & 0x7FFFFFFF) | lx) == 0) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2109 | return -two54 / vzero; /* log(+-0)=-inf */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2110 | if (hx < 0) [ 185s] | ~~~~~~~~~~~ [ 185s] 2111 | return (x - x) / zero; /* log(-#) = NaN */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2112 | k -= 54; [ 185s] | ~~~~~~~~ [ 185s] 2113 | x *= two54; /* subnormal number, scale up x */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2114 | GET_HIGH_WORD(hx, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2115 | } [ 185s] | ~ [ 185s] 2116 | if (hx >= 0x7FF00000) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2117 | return x + x; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 2118 | if (hx == 0x3FF00000 && lx == 0) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2119 | return zero; /* log(1) = +0 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2120 | k += (hx >> 20) - 1023; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2121 | hx &= 0x000FFFFF; [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 2122 | i = (hx + 0x95F64) & 0x100000; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2123 | SET_HIGH_WORD(x, hx | (i ^ 0x3FF00000)); /* normalize x or x/2 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2124 | k += (i >> 20); [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 2125 | y = static_cast(k); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2126 | f = x - 1.0; [ 185s] | ~~~~~~~~~~~~ [ 185s] 2127 | hfsq = 0.5 * f * f; [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 2128 | r = k_log1p(f); [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 2129 | [ 185s] | [ 185s] 2130 | /* [ 185s] | ~~ [ 185s] 2131 | * f-hfsq must (for args near 1) be evaluated in extra precision [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2132 | * to avoid a large cancellation when x is near sqrt(2) or 1/sqrt(2). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2133 | * This is fairly efficient since f-hfsq only depends on f, so can [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2134 | * be evaluated in parallel with R. Not combining hfsq with R also [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2135 | * keeps R small (though not as small as a true `lo' term would be), [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2136 | * so that extra precision is not needed for terms involving R. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2137 | * [ 185s] | ~ [ 185s] 2138 | * Compiler bugs involving extra precision used to break Dekker's [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2139 | * theorem for spitting f-hfsq as hi+lo, unless double_t was used [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2140 | * or the multi-precision calculations were avoided when double_t [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2141 | * has extra precision. These problems are now automatically [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2142 | * avoided as a side effect of the optimization of combining the [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2143 | * Dekker splitting step with the clear-low-bits step. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2144 | * [ 185s] | ~ [ 185s] 2145 | * y must (for args near sqrt(2) and 1/sqrt(2)) be added in extra [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2146 | * precision to avoid a very large cancellation when x is very near [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2147 | * these values. Unlike the above cancellations, this problem is [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2148 | * specific to base 2. It is strange that adding +-1 is so much [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2149 | * harder than adding +-ln2 or +-log10_2. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2150 | * [ 185s] | ~ [ 185s] 2151 | * This uses Dekker's theorem to normalize y+val_hi, so the [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2152 | * compiler bugs are back in some configurations, sigh. And I [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2153 | * don't want to used double_t to avoid them, since that gives a [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2154 | * pessimization and the support for avoiding the pessimization [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2155 | * is not yet available. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2156 | * [ 185s] | ~ [ 185s] 2157 | * The multi-precision calculations for the multiplications are [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2158 | * routine. [ 185s] | ~~~~~~~~~~ [ 185s] 2159 | */ [ 185s] | ~~ [ 185s] 2160 | hi = f - hfsq; [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 2161 | SET_LOW_WORD(hi, 0); [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 2162 | lo = (f - hi) - hfsq + r; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2163 | val_hi = hi * ivln2hi; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2164 | val_lo = (lo + hi) * ivln2lo + lo * ivln2hi; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2165 | [ 185s] | [ 185s] 2166 | /* spadd(val_hi, val_lo, y), except for not using double_t: */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2167 | w = y + val_hi; [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 2168 | val_lo += (y - w) + val_hi; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2169 | val_hi = w; [ 185s] | ~~~~~~~~~~~ [ 185s] 2170 | [ 185s] | [ 185s] 2171 | return val_lo + val_hi; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2172 | } [ 185s] | ~ [ 185s] 2173 | [ 185s] | [ 185s] 2174 | /* [ 185s] | ~~ [ 185s] 2175 | * Return the base 10 logarithm of x [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2176 | * [ 185s] | ~ [ 185s] 2177 | * Method : [ 185s] | ~~~~~~~~~~ [ 185s] 2178 | * Let log10_2hi = leading 40 bits of log10(2) and [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2179 | * log10_2lo = log10(2) - log10_2hi, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2180 | * ivln10 = 1/log(10) rounded. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2181 | * Then [ 185s] | ~~~~~~~~~~~ [ 185s] 2182 | * n = ilogb(x), [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2183 | * if(n<0) n = n+1; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2184 | * x = scalbn(x,-n); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2185 | * log10(x) := n*log10_2hi + (n*log10_2lo + ivln10*log(x)) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2186 | * [ 185s] | ~ [ 185s] 2187 | * Note 1: [ 185s] | ~~~~~~~~~~ [ 185s] 2188 | * To guarantee log10(10**n)=n, where 10**n is normal, the rounding [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2189 | * mode must set to Round-to-Nearest. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2190 | * Note 2: [ 185s] | ~~~~~~~~~~ [ 185s] 2191 | * [1/log(10)] rounded to 53 bits has error .198 ulps; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2192 | * log10 is monotonic at all binary break points. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2193 | * [ 185s] | ~ [ 185s] 2194 | * Special cases: [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 2195 | * log10(x) is NaN if x < 0; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2196 | * log10(+INF) is +INF; log10(0) is -INF; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2197 | * log10(NaN) is that NaN; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2198 | * log10(10**N) = N for N=0,1,...,22. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2199 | */ [ 185s] | ~~ [ 185s] 2200 | double log10(double x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2201 | { [ 185s] | ~ [ 185s] 2202 | constexpr double [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 2203 | two54 [ 185s] | ~~~~~ [ 185s] 2204 | = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2205 | ivln10 = 4.34294481903251816668e-01, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2206 | log10_2hi = 3.01029995663611771306e-01, /* 0x3FD34413, 0x509F6000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2207 | log10_2lo = 3.69423907715893078616e-13; /* 0x3D59FEF3, 0x11F12B36 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2208 | [ 185s] | [ 185s] 2209 | constexpr double zero = 0.0; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2210 | constexpr volatile double vzero = 0.0; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2211 | [ 185s] | [ 185s] 2212 | double y; [ 185s] | ~~~~~~~~~ [ 185s] 2213 | int32_t i, k, hx; [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 2214 | uint32_t lx; [ 185s] | ~~~~~~~~~~~~ [ 185s] 2215 | [ 185s] | [ 185s] 2216 | EXTRACT_WORDS(hx, lx, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2217 | [ 185s] | [ 185s] 2218 | k = 0; [ 185s] | ~~~~~~ [ 185s] 2219 | if (hx < 0x00100000) { /* x < 2**-1022 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2220 | if (((hx & 0x7FFFFFFF) | lx) == 0) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2221 | return -two54 / vzero; /* log(+-0)=-inf */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2222 | if (hx < 0) [ 185s] | ~~~~~~~~~~~ [ 185s] 2223 | return (x - x) / zero; /* log(-#) = NaN */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2224 | k -= 54; [ 185s] | ~~~~~~~~ [ 185s] 2225 | x *= two54; /* subnormal number, scale up x */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2226 | GET_HIGH_WORD(hx, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2227 | GET_LOW_WORD(lx, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 2228 | } [ 185s] | ~ [ 185s] 2229 | if (hx >= 0x7FF00000) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2230 | return x + x; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 2231 | if (hx == 0x3FF00000 && lx == 0) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2232 | return zero; /* log(1) = +0 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2233 | k += (hx >> 20) - 1023; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2234 | [ 185s] | [ 185s] 2235 | i = (k & 0x80000000) >> 31; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2236 | hx = (hx & 0x000FFFFF) | ((0x3FF - i) << 20); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2237 | y = k + i; [ 185s] | ~~~~~~~~~~ [ 185s] 2238 | SET_HIGH_WORD(x, hx); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2239 | SET_LOW_WORD(x, lx); [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 2240 | [ 185s] | [ 185s] 2241 | double z = y * log10_2lo + ivln10 * log(x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2242 | return z + y * log10_2hi; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2243 | } [ 185s] | ~ [ 185s] 2244 | [ 185s] | [ 185s] 2245 | /* expm1(x) [ 185s] | ~~~~~~~~~~~ [ 185s] 2246 | * Returns exp(x)-1, the exponential of x minus 1. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2247 | * [ 185s] | ~ [ 185s] 2248 | * Method [ 185s] | ~~~~~~~~ [ 185s] 2249 | * 1. Argument reduction: [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2250 | * Given x, find r and integer k such that [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2251 | * [ 185s] | ~ [ 185s] 2252 | * x = k*ln2 + r, |r| <= 0.5*ln2 ~ 0.34658 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2253 | * [ 185s] | ~ [ 185s] 2254 | * Here a correction term c will be computed to compensate [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2255 | * the error in r when rounded to a floating-point number. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2256 | * [ 185s] | ~ [ 185s] 2257 | * 2. Approximating expm1(r) by a special rational function on [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2258 | * the interval [0,0.34658]: [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2259 | * Since [ 185s] | ~~~~~~~~ [ 185s] 2260 | * r*(exp(r)+1)/(exp(r)-1) = 2+ r^2/6 - r^4/360 + ... [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2261 | * we define R1(r*r) by [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2262 | * r*(exp(r)+1)/(exp(r)-1) = 2+ r^2/6 * R1(r*r) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2263 | * That is, [ 185s] | ~~~~~~~~~~~ [ 185s] 2264 | * R1(r**2) = 6/r *((exp(r)+1)/(exp(r)-1) - 2/r) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2265 | * = 6/r * ( 1 + 2.0*(1/(exp(r)-1) - 1/r)) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2266 | * = 1 - r^2/60 + r^4/2520 - r^6/100800 + ... [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2267 | * We use a special Reme algorithm on [0,0.347] to generate [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2268 | * a polynomial of degree 5 in r*r to approximate R1. The [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2269 | * maximum error of this polynomial approximation is bounded [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2270 | * by 2**-61. In other words, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2271 | * R1(z) ~ 1.0 + Q1*z + Q2*z**2 + Q3*z**3 + Q4*z**4 + Q5*z**5 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2272 | * where Q1 = -1.6666666666666567384E-2, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2273 | * Q2 = 3.9682539681370365873E-4, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2274 | * Q3 = -9.9206344733435987357E-6, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2275 | * Q4 = 2.5051361420808517002E-7, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2276 | * Q5 = -6.2843505682382617102E-9; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2277 | * z = r*r, [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 2278 | * with error bounded by [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2279 | * | 5 | -61 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2280 | * | 1.0+Q1*z+...+Q5*z - R1(z) | <= 2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2281 | * | | [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2282 | * [ 185s] | ~ [ 185s] 2283 | * expm1(r) = exp(r)-1 is then computed by the following [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2284 | * specific way which minimize the accumulation rounding error: [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2285 | * 2 3 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2286 | * r r [ 3 - (R1 + R1*r/2) ] [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2287 | * expm1(r) = r + --- + --- * [--------------------] [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2288 | * 2 2 [ 6 - r*(3 - R1*r/2) ] [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2289 | * [ 185s] | ~ [ 185s] 2290 | * To compensate the error in the argument reduction, we use [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2291 | * expm1(r+c) = expm1(r) + c + expm1(r)*c [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2292 | * ~ expm1(r) + c + r*c [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2293 | * Thus c+r*c will be added in as the correction terms for [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2294 | * expm1(r+c). Now rearrange the term to avoid optimization [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2295 | * screw up: [ 185s] | ~~~~~~~~~~~~~ [ 185s] 2296 | * ( 2 2 ) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2297 | * ({ ( r [ R1 - (3 - R1*r/2) ] ) } r ) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2298 | * expm1(r+c)~r - ({r*(--- * [--------------------]-c)-c} - --- ) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2299 | * ({ ( 2 [ 6 - r*(3 - R1*r/2) ] ) } 2 ) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2300 | * ( ) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2301 | * [ 185s] | ~ [ 185s] 2302 | * = r - E [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 2303 | * 3. Scale back to obtain expm1(x): [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2304 | * From step 1, we have [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2305 | * expm1(x) = either 2^k*[expm1(r)+1] - 1 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2306 | * = or 2^k*[expm1(r) + (1-2^-k)] [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2307 | * 4. Implementation notes: [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2308 | * (A). To save one multiplication, we scale the coefficient Qi [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2309 | * to Qi*2^i, and replace z by (x^2)/2. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2310 | * (B). To achieve maximum accuracy, we compute expm1(x) by [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2311 | * (i) if x < -56*ln2, return -1.0, (raise inexact if x!=inf) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2312 | * (ii) if k=0, return r-E [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2313 | * (iii) if k=-1, return 0.5*(r-E)-0.5 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2314 | * (iv) if k=1 if r < -0.25, return 2*((r+0.5)- E) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2315 | * else return 1.0+2.0*(r-E); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2316 | * (v) if (k<-2||k>56) return 2^k(1-(E-r)) - 1 (or exp(x)-1) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2317 | * (vi) if k <= 20, return 2^k((1-2^-k)-(E-r)), else [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2318 | * (vii) return 2^k(1-((E+2^-k)-r)) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2319 | * [ 185s] | ~ [ 185s] 2320 | * Special cases: [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 2321 | * expm1(INF) is INF, expm1(NaN) is NaN; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2322 | * expm1(-INF) is -1, and [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2323 | * for finite argument, only expm1(0)=0 is exact. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2324 | * [ 185s] | ~ [ 185s] 2325 | * Accuracy: [ 185s] | ~~~~~~~~~~~ [ 185s] 2326 | * according to an error analysis, the error is always less than [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2327 | * 1 ulp (unit in the last place). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2328 | * [ 185s] | ~ [ 185s] 2329 | * Misc. info. [ 185s] | ~~~~~~~~~~~~~ [ 185s] 2330 | * For IEEE double [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 2331 | * if x > 7.09782712893383973096e+02 then expm1(x) overflow [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2332 | * [ 185s] | ~ [ 185s] 2333 | * Constants: [ 185s] | ~~~~~~~~~~~~ [ 185s] 2334 | * The hexadecimal values are the intended ones for the following [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2335 | * constants. The decimal values may be used, provided that the [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2336 | * compiler will convert from decimal to binary accurately enough [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2337 | * to produce the hexadecimal values shown. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2338 | */ [ 185s] | ~~ [ 185s] 2339 | double expm1(double x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2340 | { [ 185s] | ~ [ 185s] 2341 | constexpr double [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 2342 | one [ 185s] | ~~~ [ 185s] 2343 | = 1.0, [ 185s] | ~~~~~~ [ 185s] 2344 | tiny = 1.0e-300, [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 2345 | o_threshold = 7.09782712893383973096e+02, /* 0x40862E42, 0xFEFA39EF */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2346 | ln2_hi = 6.93147180369123816490e-01, /* 0x3FE62E42, 0xFEE00000 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2347 | ln2_lo = 1.90821492927058770002e-10, /* 0x3DEA39EF, 0x35793C76 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2348 | invln2 = 1.44269504088896338700e+00, /* 0x3FF71547, 0x652B82FE */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2349 | /* Scaled Q's: Qn_here = 2**n * Qn_above, for R(2*z) where z = hxs = [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2350 | x*x/2: */ [ 185s] | ~~~~~~~~~ [ 185s] 2351 | Q1 = -3.33333333333331316428e-02, /* BFA11111 111110F4 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2352 | Q2 = 1.58730158725481460165e-03, /* 3F5A01A0 19FE5585 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2353 | Q3 = -7.93650757867487942473e-05, /* BF14CE19 9EAADBB7 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2354 | Q4 = 4.00821782732936239552e-06, /* 3ED0CFCA 86E65239 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2355 | Q5 = -2.01099218183624371326e-07; /* BE8AFDB7 6E09C32D */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2356 | [ 185s] | [ 185s] 2357 | constexpr volatile double huge = 1.0e+300; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2358 | [ 185s] | [ 185s] 2359 | double y, hi, lo, c, t, e, hxs, hfx, r1, twopk; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2360 | int32_t k, xsb; [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 2361 | uint32_t hx; [ 185s] | ~~~~~~~~~~~~ [ 185s] 2362 | [ 185s] | [ 185s] 2363 | GET_HIGH_WORD(hx, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2364 | xsb = hx & 0x80000000; /* sign bit of x */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2365 | hx &= 0x7FFFFFFF; /* high word of |x| */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2366 | [ 185s] | [ 185s] 2367 | /* filter out huge and non-finite argument */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2368 | if (hx >= 0x4043687A) { /* if |x|>=56*ln2 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2369 | if (hx >= 0x40862E42) { /* if |x|>=709.78... */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2370 | if (hx >= 0x7FF00000) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2371 | uint32_t low; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 2372 | GET_LOW_WORD(low, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2373 | if (((hx & 0xFFFFF) | low) != 0) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2374 | return x + x; /* NaN */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2375 | else [ 185s] | ~~~~ [ 185s] 2376 | return (xsb == 0) ? x : -1.0; /* exp(+-inf)={inf,-1} */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2377 | } [ 185s] | ~ [ 185s] 2378 | if (x > o_threshold) [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 2379 | return huge * huge; /* overflow */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2380 | } [ 185s] | ~ [ 185s] 2381 | if (xsb != 0 && x + tiny < 0.0) { /* x < -56*ln2, return -1.0 with inexact */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2382 | /* raise inexact */ [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 2383 | return tiny - one; /* return -1 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2384 | } [ 185s] | ~ [ 185s] 2385 | } [ 185s] | ~ [ 185s] 2386 | [ 185s] | [ 185s] 2387 | /* argument reduction */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2388 | if (hx > 0x3FD62E42) { /* if |x| > 0.5 ln2 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2389 | if (hx < 0x3FF0A2B2) { /* and |x| < 1.5 ln2 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2390 | if (xsb == 0) { [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 2391 | hi = x - ln2_hi; [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 2392 | lo = ln2_lo; [ 185s] | ~~~~~~~~~~~~ [ 185s] 2393 | k = 1; [ 185s] | ~~~~~~ [ 185s] 2394 | } else { [ 185s] | ~~~~~~~~ [ 185s] 2395 | hi = x + ln2_hi; [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 2396 | lo = -ln2_lo; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 2397 | k = -1; [ 185s] | ~~~~~~~ [ 185s] 2398 | } [ 185s] | ~ [ 185s] 2399 | } else { [ 185s] | ~~~~~~~~ [ 185s] 2400 | k = invln2 * x + ((xsb == 0) ? 0.5 : -0.5); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2401 | t = k; [ 185s] | ~~~~~~ [ 185s] 2402 | hi = x - t * ln2_hi; /* t*ln2_hi is exact here */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2403 | lo = t * ln2_lo; [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 2404 | } [ 185s] | ~ [ 185s] 2405 | STRICT_ASSIGN(double, x, hi - lo); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2406 | c = (hi - x) - lo; [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 2407 | } else if (hx < 0x3C900000) { /* when |x|<2**-54, return x */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2408 | t = huge + x; /* return x with inexact flags when x!=0 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2409 | return x - (t - (huge + x)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2410 | } else { [ 185s] | ~~~~~~~~ [ 185s] 2411 | k = 0; [ 185s] | ~~~~~~ [ 185s] 2412 | } [ 185s] | ~ [ 185s] 2413 | [ 185s] | [ 185s] 2414 | /* x is now in primary range */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2415 | hfx = 0.5 * x; [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 2416 | hxs = x * hfx; [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 2417 | r1 = one + hxs * (Q1 + hxs * (Q2 + hxs * (Q3 + hxs * (Q4 + hxs * Q5)))); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2418 | t = 3.0 - r1 * hfx; [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 2419 | e = hxs * ((r1 - t) / (6.0 - x * t)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2420 | if (k == 0) { [ 185s] | ~~~~~~~~~~~~~ [ 185s] 2421 | return x - (x * e - hxs); /* c is 0 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2422 | } else { [ 185s] | ~~~~~~~~ [ 185s] 2423 | INSERT_WORDS(twopk, 0x3FF00000 + (k << 20), 0); /* 2^k */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2424 | e = (x * (e - c) - c); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2425 | e -= hxs; [ 185s] | ~~~~~~~~~ [ 185s] 2426 | if (k == -1) [ 185s] | ~~~~~~~~~~~~ [ 185s] 2427 | return 0.5 * (x - e) - 0.5; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2428 | if (k == 1) { [ 185s] | ~~~~~~~~~~~~~ [ 185s] 2429 | if (x < -0.25) [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 2430 | return -2.0 * (e - (x + 0.5)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2431 | else [ 185s] | ~~~~ [ 185s] 2432 | return one + 2.0 * (x - e); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2433 | } [ 185s] | ~ [ 185s] 2434 | if (k <= -2 || k > 56) { /* suffice to return exp(x)-1 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2435 | y = one - (e - x); [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 2436 | // TODO(mvstanton): is this replacement for the hex float [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2437 | // sufficient? [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 2438 | // if (k == 1024) y = y*2.0*0x1p1023; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2439 | if (k == 1024) [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 2440 | y = y * 2.0 * 8.98846567431158e+307; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2441 | else [ 185s] | ~~~~ [ 185s] 2442 | y = y * twopk; [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 2443 | return y - one; [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 2444 | } [ 185s] | ~ [ 185s] 2445 | t = one; [ 185s] | ~~~~~~~~ [ 185s] 2446 | if (k < 20) { [ 185s] | ~~~~~~~~~~~~~ [ 185s] 2447 | SET_HIGH_WORD(t, 0x3FF00000 - (0x200000 >> k)); /* t=1-2^-k */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2448 | y = t - (e - x); [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 2449 | y = y * twopk; [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 2450 | } else { [ 185s] | ~~~~~~~~ [ 185s] 2451 | SET_HIGH_WORD(t, ((0x3FF - k) << 20)); /* 2^-k */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2452 | y = x - (e + t); [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 2453 | y += one; [ 185s] | ~~~~~~~~~ [ 185s] 2454 | y = y * twopk; [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 2455 | } [ 185s] | ~ [ 185s] 2456 | } [ 185s] | ~ [ 185s] 2457 | return y; [ 185s] | ~~~~~~~~~ [ 185s] 2458 | } [ 185s] | ~ [ 185s] 2459 | [ 185s] | [ 185s] 2460 | double cbrt(double x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2461 | { [ 185s] | ~ [ 185s] 2462 | constexpr uint32_t [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 2463 | B1 [ 185s] | ~~ [ 185s] 2464 | = 715094163, /* B1 = (1023-1023/3-0.03306235651)*2**20 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2465 | B2 = 696219795; /* B2 = (1023-1023/3-54/3-0.03306235651)*2**20 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2466 | [ 185s] | [ 185s] 2467 | /* |1/cbrt(x) - p(x)| < 2**-23.5 (~[-7.93e-8, 7.929e-8]). */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2468 | constexpr double P0 = 1.87595182427177009643, /* 0x3FFE03E6, 0x0F61E692 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2469 | P1 = -1.88497979543377169875, /* 0xBFFE28E0, 0x92F02420 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2470 | P2 = 1.621429720105354466140, /* 0x3FF9F160, 0x4A49D6C2 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2471 | P3 = -0.758397934778766047437, /* 0xBFE844CB, 0xBEE751D9 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2472 | P4 = 0.145996192886612446982; /* 0x3FC2B000, 0xD4E4EDD7 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2473 | [ 185s] | [ 185s] 2474 | int32_t hx; [ 185s] | ~~~~~~~~~~~ [ 185s] 2475 | union { [ 185s] | ~~~~~~~ [ 185s] 2476 | double value; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 2477 | uint64_t bits; [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 2478 | } u; [ 185s] | ~~~~ [ 185s] 2479 | double r, s, t = 0.0, w; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2480 | uint32_t sign; [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 2481 | uint32_t high, low; [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 2482 | [ 185s] | [ 185s] 2483 | EXTRACT_WORDS(hx, low, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2484 | sign = hx & 0x80000000; /* sign= sign(x) */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2485 | hx ^= sign; [ 185s] | ~~~~~~~~~~~ [ 185s] 2486 | if (hx >= 0x7FF00000) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2487 | return (x + x); /* cbrt(NaN,INF) is itself */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2488 | [ 185s] | [ 185s] 2489 | /* [ 185s] | ~~ [ 185s] 2490 | * Rough cbrt to 5 bits: [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2491 | * cbrt(2**e*(1+m) ~= 2**(e/3)*(1+(e%3+m)/3) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2492 | * where e is integral and >= 0, m is real and in [0, 1), and "/" and [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2493 | * "%" are integer division and modulus with rounding towards minus [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2494 | * infinity. The RHS is always >= the LHS and has a maximum relative [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2495 | * error of about 1 in 16. Adding a bias of -0.03306235651 to the [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2496 | * (e%3+m)/3 term reduces the error to about 1 in 32. With the IEEE [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2497 | * floating point representation, for finite positive normal values, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2498 | * ordinary integer division of the value in bits magically gives [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2499 | * almost exactly the RHS of the above provided we first subtract the [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2500 | * exponent bias (1023 for doubles) and later add it back. We do the [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2501 | * subtraction virtually to keep e >= 0 so that ordinary integer [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2502 | * division rounds towards minus infinity; this is also efficient. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2503 | */ [ 185s] | ~~ [ 185s] 2504 | if (hx < 0x00100000) { /* zero or subnormal? */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2505 | if ((hx | low) == 0) [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 2506 | return (x); /* cbrt(0) is itself */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2507 | SET_HIGH_WORD(t, 0x43500000); /* set t= 2**54 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2508 | t *= x; [ 185s] | ~~~~~~~ [ 185s] 2509 | GET_HIGH_WORD(high, t); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2510 | INSERT_WORDS(t, sign | ((high & 0x7FFFFFFF) / 3 + B2), 0); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2511 | } else { [ 185s] | ~~~~~~~~ [ 185s] 2512 | INSERT_WORDS(t, sign | (hx / 3 + B1), 0); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2513 | } [ 185s] | ~ [ 185s] 2514 | [ 185s] | [ 185s] 2515 | /* [ 185s] | ~~ [ 185s] 2516 | * New cbrt to 23 bits: [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2517 | * cbrt(x) = t*cbrt(x/t**3) ~= t*P(t**3/x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2518 | * where P(r) is a polynomial of degree 4 that approximates 1/cbrt(r) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2519 | * to within 2**-23.5 when |r - 1| < 1/10. The rough approximation [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2520 | * has produced t such than |t/cbrt(x) - 1| ~< 1/32, and cubing this [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2521 | * gives us bounds for r = t**3/x. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2522 | * [ 185s] | ~ [ 185s] 2523 | * Try to optimize for parallel evaluation as in k_tanf.c. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2524 | */ [ 185s] | ~~ [ 185s] 2525 | r = (t * t) * (t / x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2526 | t = t * ((P0 + r * (P1 + r * P2)) + ((r * r) * r) * (P3 + r * P4)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2527 | [ 185s] | [ 185s] 2528 | /* [ 185s] | ~~ [ 185s] 2529 | * Round t away from zero to 23 bits (sloppily except for ensuring that [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2530 | * the result is larger in magnitude than cbrt(x) but not much more than [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2531 | * 2 23-bit ulps larger). With rounding towards zero, the error bound [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2532 | * would be ~5/6 instead of ~4/6. With a maximum error of 2 23-bit ulps [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2533 | * in the rounded t, the infinite-precision error in the Newton [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2534 | * approximation barely affects third digit in the final error [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2535 | * 0.667; the error in the rounded t can be up to about 3 23-bit ulps [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2536 | * before the final error is larger than 0.667 ulps. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2537 | */ [ 185s] | ~~ [ 185s] 2538 | u.value = t; [ 185s] | ~~~~~~~~~~~~ [ 185s] 2539 | u.bits = (u.bits + 0x80000000) & 0xFFFFFFFFC0000000ULL; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2540 | t = u.value; [ 185s] | ~~~~~~~~~~~~ [ 185s] 2541 | [ 185s] | [ 185s] 2542 | /* one step Newton iteration to 53 bits with error < 0.667 ulps */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2543 | s = t * t; /* t*t is exact */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2544 | r = x / s; /* error <= 0.5 ulps; |r| < |t| */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2545 | w = t + t; /* t+t is exact */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2546 | r = (r - t) / (w + r); /* r-t is exact; w+r ~= 3*t */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2547 | t = t + t * r; /* error <= 0.5 + 0.5/3 + epsilon */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2548 | [ 185s] | [ 185s] 2549 | return (t); [ 185s] | ~~~~~~~~~~~ [ 185s] 2550 | } [ 185s] | ~ [ 185s] 2551 | [ 185s] | [ 185s] 2552 | /* sin(x) [ 185s] | ~~~~~~~~~ [ 185s] 2553 | * Return sine function of x. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2554 | * [ 185s] | ~ [ 185s] 2555 | * kernel function: [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 2556 | * __kernel_sin ... sine function on [-pi/4,pi/4] [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2557 | * __kernel_cos ... cose function on [-pi/4,pi/4] [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2558 | * __ieee754_rem_pio2 ... argument reduction routine [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2559 | * [ 185s] | ~ [ 185s] 2560 | * Method. [ 185s] | ~~~~~~~~~ [ 185s] 2561 | * Let S,C and T denote the sin, cos and tan respectively on [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2562 | * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2563 | * in [-pi/4 , +pi/4], and let n = k mod 4. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2564 | * We have [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 2565 | * [ 185s] | ~ [ 185s] 2566 | * n sin(x) cos(x) tan(x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2567 | * ---------------------------------------------------------- [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2568 | * 0 S C T [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2569 | * 1 C -S -1/T [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2570 | * 2 -S -C T [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2571 | * 3 -C S -1/T [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2572 | * ---------------------------------------------------------- [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2573 | * [ 185s] | ~ [ 185s] 2574 | * Special cases: [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 2575 | * Let trig be any of sin, cos, or tan. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2576 | * trig(+-INF) is NaN, with signals; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2577 | * trig(NaN) is that NaN; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2578 | * [ 185s] | ~ [ 185s] 2579 | * Accuracy: [ 185s] | ~~~~~~~~~~~ [ 185s] 2580 | * TRIG(x) returns trig(x) nearly rounded [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2581 | */ [ 185s] | ~~ [ 185s] 2582 | double sin(double x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 2583 | { [ 185s] | ~ [ 185s] 2584 | double y[2], z = 0.0; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2585 | int32_t n, ix; [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 2586 | [ 185s] | [ 185s] 2587 | /* High word of x. */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2588 | GET_HIGH_WORD(ix, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2589 | [ 185s] | [ 185s] 2590 | /* |x| ~< pi/4 */ [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 2591 | ix &= 0x7FFFFFFF; [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 2592 | if (ix <= 0x3FE921FB) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2593 | return __kernel_sin(x, z, 0); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2594 | } else if (ix >= 0x7FF00000) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2595 | /* sin(Inf or NaN) is NaN */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2596 | return x - x; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 2597 | } else { [ 185s] | ~~~~~~~~ [ 185s] 2598 | /* argument reduction needed */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2599 | n = __ieee754_rem_pio2(x, y); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2600 | switch (n & 3) { [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 2601 | case 0: [ 185s] | ~~~~~~~ [ 185s] 2602 | return __kernel_sin(y[0], y[1], 1); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2603 | case 1: [ 185s] | ~~~~~~~ [ 185s] 2604 | return __kernel_cos(y[0], y[1]); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2605 | case 2: [ 185s] | ~~~~~~~ [ 185s] 2606 | return -__kernel_sin(y[0], y[1], 1); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2607 | default: [ 185s] | ~~~~~~~~ [ 185s] 2608 | return -__kernel_cos(y[0], y[1]); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2609 | } [ 185s] | ~ [ 185s] 2610 | } [ 185s] | ~ [ 185s] 2611 | } [ 185s] | ~ [ 185s] 2612 | [ 185s] | [ 185s] 2613 | /* tan(x) [ 185s] | ~~~~~~~~~ [ 185s] 2614 | * Return tangent function of x. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2615 | * [ 185s] | ~ [ 185s] 2616 | * kernel function: [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 2617 | * __kernel_tan ... tangent function on [-pi/4,pi/4] [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2618 | * __ieee754_rem_pio2 ... argument reduction routine [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2619 | * [ 185s] | ~ [ 185s] 2620 | * Method. [ 185s] | ~~~~~~~~~ [ 185s] 2621 | * Let S,C and T denote the sin, cos and tan respectively on [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2622 | * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2623 | * in [-pi/4 , +pi/4], and let n = k mod 4. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2624 | * We have [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 2625 | * [ 185s] | ~ [ 185s] 2626 | * n sin(x) cos(x) tan(x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2627 | * ---------------------------------------------------------- [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2628 | * 0 S C T [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2629 | * 1 C -S -1/T [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2630 | * 2 -S -C T [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2631 | * 3 -C S -1/T [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2632 | * ---------------------------------------------------------- [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2633 | * [ 185s] | ~ [ 185s] 2634 | * Special cases: [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 2635 | * Let trig be any of sin, cos, or tan. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2636 | * trig(+-INF) is NaN, with signals; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2637 | * trig(NaN) is that NaN; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2638 | * [ 185s] | ~ [ 185s] 2639 | * Accuracy: [ 185s] | ~~~~~~~~~~~ [ 185s] 2640 | * TRIG(x) returns trig(x) nearly rounded [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2641 | */ [ 185s] | ~~ [ 185s] 2642 | double tan(double x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 2643 | { [ 185s] | ~ [ 185s] 2644 | double y[2], z = 0.0; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2645 | int32_t n, ix; [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 2646 | [ 185s] | [ 185s] 2647 | /* High word of x. */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2648 | GET_HIGH_WORD(ix, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2649 | [ 185s] | [ 185s] 2650 | /* |x| ~< pi/4 */ [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 2651 | ix &= 0x7FFFFFFF; [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 2652 | if (ix <= 0x3FE921FB) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2653 | return __kernel_tan(x, z, 1); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2654 | } else if (ix >= 0x7FF00000) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2655 | /* tan(Inf or NaN) is NaN */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2656 | return x - x; /* NaN */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2657 | } else { [ 185s] | ~~~~~~~~ [ 185s] 2658 | /* argument reduction needed */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2659 | n = __ieee754_rem_pio2(x, y); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2660 | /* 1 -> n even, -1 -> n odd */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2661 | return __kernel_tan(y[0], y[1], 1 - ((n & 1) << 1)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2662 | } [ 185s] | ~ [ 185s] 2663 | } [ 185s] | ~ [ 185s] 2664 | [ 185s] | [ 185s] 2665 | /* [ 185s] | ~~ [ 185s] 2666 | * ES6 draft 09-27-13, section 20.2.2.12. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2667 | * Math.cosh [ 185s] | ~~~~~~~~~~~ [ 185s] 2668 | * Method : [ 185s] | ~~~~~~~~~~ [ 185s] 2669 | * mathematically cosh(x) if defined to be (exp(x)+exp(-x))/2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2670 | * 1. Replace x by |x| (cosh(x) = cosh(-x)). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2671 | * 2. [ 185s] | ~~~~~~~~~ [ 185s] 2672 | * [ exp(x) - 1 ]^2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2673 | * 0 <= x <= ln2/2 : cosh(x) := 1 + ------------------- [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2674 | * 2*exp(x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2675 | * [ 185s] | ~ [ 185s] 2676 | * exp(x) + 1/exp(x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2677 | * ln2/2 <= x <= 22 : cosh(x) := ------------------- [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2678 | * 2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2679 | * 22 <= x <= lnovft : cosh(x) := exp(x)/2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2680 | * lnovft <= x <= ln2ovft: cosh(x) := exp(x/2)/2 * exp(x/2) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2681 | * ln2ovft < x : cosh(x) := huge*huge (overflow) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2682 | * [ 185s] | ~ [ 185s] 2683 | * Special cases: [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 2684 | * cosh(x) is |x| if x is +INF, -INF, or NaN. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2685 | * only cosh(0)=1 is exact for finite x. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2686 | */ [ 185s] | ~~ [ 185s] 2687 | double cosh(double x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2688 | { [ 185s] | ~ [ 185s] 2689 | constexpr double KCOSH_OVERFLOW = 710.4758600739439; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2690 | constexpr double one = 1.0, half = 0.5; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2691 | constexpr volatile double huge = 1.0e+300; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2692 | [ 185s] | [ 185s] 2693 | int32_t ix; [ 185s] | ~~~~~~~~~~~ [ 185s] 2694 | [ 185s] | [ 185s] 2695 | /* High word of |x|. */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2696 | GET_HIGH_WORD(ix, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2697 | ix &= 0x7FFFFFFF; [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 2698 | [ 185s] | [ 185s] 2699 | // |x| in [0,0.5*log2], return 1+expm1(|x|)^2/(2*exp(|x|)) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2700 | if (ix < 0x3FD62E43) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2701 | double t = expm1(fabs(x)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2702 | double w = one + t; [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 2703 | // For |x| < 2^-55, cosh(x) = 1 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2704 | if (ix < 0x3C800000) [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 2705 | return w; [ 185s] | ~~~~~~~~~ [ 185s] 2706 | return one + (t * t) / (w + w); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2707 | } [ 185s] | ~ [ 185s] 2708 | [ 185s] | [ 185s] 2709 | // |x| in [0.5*log2, 22], return (exp(|x|)+1/exp(|x|)/2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2710 | if (ix < 0x40360000) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2711 | double t = exp(fabs(x)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2712 | return half * t + half / t; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2713 | } [ 185s] | ~ [ 185s] 2714 | [ 185s] | [ 185s] 2715 | // |x| in [22, log(maxdouble)], return half*exp(|x|) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2716 | if (ix < 0x40862E42) [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 2717 | return half * exp(fabs(x)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2718 | [ 185s] | [ 185s] 2719 | // |x| in [log(maxdouble), overflowthreshold] [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2720 | if (fabs(x) <= KCOSH_OVERFLOW) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2721 | double w = exp(half * fabs(x)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2722 | double t = half * w; [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 2723 | return t * w; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 2724 | } [ 185s] | ~ [ 185s] 2725 | [ 185s] | [ 185s] 2726 | /* x is INF or NaN */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2727 | if (ix >= 0x7FF00000) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2728 | return x * x; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 2729 | [ 185s] | [ 185s] 2730 | // |x| > overflowthreshold. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2731 | return huge * huge; [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 2732 | } [ 185s] | ~ [ 185s] 2733 | [ 185s] | [ 185s] 2734 | /* [ 185s] | ~~ [ 185s] 2735 | * ES6 draft 09-27-13, section 20.2.2.30. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2736 | * Math.sinh [ 185s] | ~~~~~~~~~~~ [ 185s] 2737 | * Method : [ 185s] | ~~~~~~~~~~ [ 185s] 2738 | * mathematically sinh(x) if defined to be (exp(x)-exp(-x))/2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2739 | * 1. Replace x by |x| (sinh(-x) = -sinh(x)). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2740 | * 2. [ 185s] | ~~~~~~~~~ [ 185s] 2741 | * E + E/(E+1) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2742 | * 0 <= x <= 22 : sinh(x) := --------------, E=expm1(x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2743 | * 2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2744 | * [ 185s] | ~ [ 185s] 2745 | * 22 <= x <= lnovft : sinh(x) := exp(x)/2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2746 | * lnovft <= x <= ln2ovft: sinh(x) := exp(x/2)/2 * exp(x/2) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2747 | * ln2ovft < x : sinh(x) := x*shuge (overflow) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2748 | * [ 185s] | ~ [ 185s] 2749 | * Special cases: [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 2750 | * sinh(x) is |x| if x is +Infinity, -Infinity, or NaN. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2751 | * only sinh(0)=0 is exact for finite x. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2752 | */ [ 185s] | ~~ [ 185s] 2753 | double sinh(double x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2754 | { [ 185s] | ~ [ 185s] 2755 | constexpr double KSINH_OVERFLOW = 710.4758600739439, [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2756 | TWO_M28 = 3.725290298461914e-9, // 2^-28, empty lower half [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2757 | LOG_MAXD = 709.7822265625; // 0x40862E42 00000000, empty lower half [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2758 | constexpr double shuge = 1.0e307; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2759 | [ 185s] | [ 185s] 2760 | double h = (x < 0) ? -0.5 : 0.5; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2761 | // |x| in [0, 22]. return sign(x)*0.5*(E+E/(E+1)) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2762 | double ax = fabs(x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~ [ 185s] 2763 | if (ax < 22) { [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 2764 | // For |x| < 2^-28, sinh(x) = x [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2765 | if (ax < TWO_M28) [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 2766 | return x; [ 185s] | ~~~~~~~~~ [ 185s] 2767 | double t = expm1(ax); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2768 | if (ax < 1) { [ 185s] | ~~~~~~~~~~~~~ [ 185s] 2769 | return h * (2 * t - t * t / (t + 1)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2770 | } [ 185s] | ~ [ 185s] 2771 | return h * (t + t / (t + 1)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2772 | } [ 185s] | ~ [ 185s] 2773 | // |x| in [22, log(maxdouble)], return 0.5 * exp(|x|) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2774 | if (ax < LOG_MAXD) [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 2775 | return h * exp(ax); [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 2776 | // |x| in [log(maxdouble), overflowthreshold] [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2777 | // overflowthreshold = 710.4758600739426 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2778 | if (ax <= KSINH_OVERFLOW) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2779 | double w = exp(0.5 * ax); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2780 | double t = h * w; [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 2781 | return t * w; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 2782 | } [ 185s] | ~ [ 185s] 2783 | // |x| > overflowthreshold or is NaN. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2784 | // Return Infinity of the appropriate sign or NaN. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2785 | return x * shuge; [ 185s] | ~~~~~~~~~~~~~~~~~ [ 185s] 2786 | } [ 185s] | ~ [ 185s] 2787 | [ 185s] | [ 185s] 2788 | /* Tanh(x) [ 185s] | ~~~~~~~~~~ [ 185s] 2789 | * Return the Hyperbolic Tangent of x [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2790 | * [ 185s] | ~ [ 185s] 2791 | * Method : [ 185s] | ~~~~~~~~~~ [ 185s] 2792 | * x -x [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2793 | * e - e [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2794 | * 0. tanh(x) is defined to be ----------- [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2795 | * x -x [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2796 | * e + e [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2797 | * 1. reduce x to non-negative by tanh(-x) = -tanh(x). [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2798 | * 2. 0 <= x < 2**-28 : tanh(x) := x with inexact if x != 0 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2799 | * -t [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2800 | * 2**-28 <= x < 1 : tanh(x) := -----; t = expm1(-2x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2801 | * t + 2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2802 | * 2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2803 | * 1 <= x < 22 : tanh(x) := 1 - -----; t = expm1(2x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2804 | * t + 2 [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2805 | * 22 <= x <= INF : tanh(x) := 1. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2806 | * [ 185s] | ~ [ 185s] 2807 | * Special cases: [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 2808 | * tanh(NaN) is NaN; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2809 | * only tanh(0)=0 is exact for finite argument. [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2810 | */ [ 185s] | ~~ [ 185s] 2811 | double tanh(double x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2812 | { [ 185s] | ~ [ 185s] 2813 | constexpr volatile double tiny = 1.0e-300; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2814 | constexpr double one = 1.0, two = 2.0, huge = 1.0e300; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2815 | double t, z; [ 185s] | ~~~~~~~~~~~~ [ 185s] 2816 | int32_t jx, ix; [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 2817 | [ 185s] | [ 185s] 2818 | GET_HIGH_WORD(jx, x); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2819 | ix = jx & 0x7FFFFFFF; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2820 | [ 185s] | [ 185s] 2821 | /* x is INF or NaN */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2822 | if (ix >= 0x7FF00000) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2823 | if (jx >= 0) [ 185s] | ~~~~~~~~~~~~ [ 185s] 2824 | return one / x + one; /* tanh(+-inf)=+-1 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2825 | else [ 185s] | ~~~~ [ 185s] 2826 | return one / x - one; /* tanh(NaN) = NaN */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2827 | } [ 185s] | ~ [ 185s] 2828 | [ 185s] | [ 185s] 2829 | /* |x| < 22 */ [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 2830 | if (ix < 0x40360000) { /* |x|<22 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2831 | if (ix < 0x3E300000 && huge + x > one) { /* |x|<2**-28 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2832 | return x; /* tanh(tiny) = tiny with inexact */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2833 | } [ 185s] | ~ [ 185s] 2834 | if (ix >= 0x3FF00000) { /* |x|>=1 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2835 | t = expm1(two * fabs(x)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2836 | z = one - two / (t + two); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2837 | } else { [ 185s] | ~~~~~~~~ [ 185s] 2838 | t = expm1(-two * fabs(x)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2839 | z = -t / (t + two); [ 185s] | ~~~~~~~~~~~~~~~~~~~ [ 185s] 2840 | } [ 185s] | ~ [ 185s] 2841 | /* |x| >= 22, return +-1 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2842 | } else { [ 185s] | ~~~~~~~~ [ 185s] 2843 | z = one - tiny; /* raise inexact flag */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2844 | } [ 185s] | ~ [ 185s] 2845 | return (jx >= 0) ? z : -z; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2846 | } [ 185s] | ~ [ 185s] 2847 | [ 185s] | [ 185s] 2848 | double ceil(double x) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2849 | { [ 185s] | ~ [ 185s] 2850 | constexpr double huge = 1.0e300; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2851 | int i0, i1, j0; [ 185s] | ~~~~~~~~~~~~~~~ [ 185s] 2852 | unsigned i, j; [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 2853 | i0 = __HI(x); [ 185s] | ~~~~~~~~~~~~~ [ 185s] 2854 | i1 = __LO(x); [ 185s] | ~~~~~~~~~~~~~ [ 185s] 2855 | j0 = ((i0 >> 20) & 0x7ff) - 0x3ff; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2856 | if (j0 < 20) { [ 185s] | ~~~~~~~~~~~~~~ [ 185s] 2857 | if (j0 < 0) { /* raise inexact if x != 0 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2858 | if (huge + x > 0.0) { /* return 0*sign(x) if |x|<1 */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2859 | if (i0 < 0) { [ 185s] | ~~~~~~~~~~~~~ [ 185s] 2860 | i0 = 0x80000000; [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 2861 | i1 = 0; [ 185s] | ~~~~~~~ [ 185s] 2862 | } else if ((i0 | i1) != 0) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2863 | i0 = 0x3ff00000; [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 2864 | i1 = 0; [ 185s] | ~~~~~~~ [ 185s] 2865 | } [ 185s] | ~ [ 185s] 2866 | } [ 185s] | ~ [ 185s] 2867 | } else { [ 185s] | ~~~~~~~~ [ 185s] 2868 | i = (0x000fffff) >> j0; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2869 | if (((i0 & i) | i1) == 0) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2870 | return x; /* x is integral */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2871 | if (huge + x > 0.0) { /* raise inexact flag */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2872 | if (i0 > 0) [ 185s] | ~~~~~~~~~~~ [ 185s] 2873 | i0 += (0x00100000) >> j0; [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2874 | i0 &= (~i); [ 185s] | ~~~~~~~~~~~ [ 185s] 2875 | i1 = 0; [ 185s] | ~~~~~~~ [ 185s] 2876 | } [ 185s] | ~ [ 185s] 2877 | } [ 185s] | ~ [ 185s] 2878 | } else if (j0 > 51) { [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2879 | if (j0 == 0x400) [ 185s] | ~~~~~~~~~~~~~~~~ [ 185s] 2880 | return x + x; /* inf or NaN */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2881 | else [ 185s] | ~~~~ [ 185s] 2882 | return x; /* x is integral */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2883 | } else { [ 185s] | ~~~~~~~~ [ 185s] 2884 | i = ((unsigned)(0xffffffff)) >> (j0 - 20); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2885 | if ((i1 & i) == 0) [ 185s] | ~~~~~~~~~~~~~~~~~~ [ 185s] 2886 | return x; /* x is integral */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2887 | if (huge + x > 0.0) { /* raise inexact flag */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2888 | if (i0 > 0) { [ 185s] | ~~~~~~~~~~~~~ [ 185s] 2889 | if (j0 == 20) [ 185s] | ~~~~~~~~~~~~~ [ 185s] 2890 | i0 += 1; [ 185s] | ~~~~~~~~ [ 185s] 2891 | else { [ 185s] | ~~~~~~ [ 185s] 2892 | j = i1 + (1 << (52 - j0)); [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2893 | if (j < (unsigned)i1) [ 185s] | ~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2894 | i0 += 1; /* got a carry */ [ 185s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 185s] 2895 | i1 = j; [ 185s] | ~~~~~~~ [ 185s] 2896 | } [ 185s] | ~ [ 185s] 2897 | } [ 185s] | ~ [ 185s] 2898 | i1 &= (~i); [ 185s] | ~~~~~~~~~~~ [ 185s] 2899 | } [ 185s] | ~ [ 185s] 2900 | } [ 185s] | ~ [ 185s] 2901 | __HI(x) = i0; [ 185s] | ~~~~~~~~~~~~~ [ 185s] 2902 | __LO(x) = i1; [ 185s] | ~~~~~~ [ 185s] third_party/escargot/src/runtime/IEEE754.cpp:2902:5: note: in expansion of macro '__LO' [ 185s] 2902 | __LO(x) = i1; [ 185s] | ^~~~ [ 185s] third_party/escargot/src/runtime/IEEE754.cpp: In function 'int Escargot::ieee754::{anonymous}::__kernel_rem_pio2(double*, double*, int, int, int, const int32_t*)': [ 185s] third_party/escargot/src/runtime/IEEE754.cpp:713:18: warning: 'fq[0]' may be used uninitialized in this function [-Wmaybe-uninitialized] [ 185s] 713 | fw = fq[0] - fw; [ 185s] | ~~~~^ [ 185s] third_party/escargot/src/runtime/IEEE754.cpp:713:18: warning: 'fq[0]' may be used uninitialized in this function [-Wmaybe-uninitialized] [ 185s] [142/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinObject.cpp.o [ 185s] [143/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinIntl.cpp.o [ 186s] [144/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Job.cpp.o [ 186s] [145/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/JobQueue.cpp.o [ 186s] [146/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/interpreter/ByteCodeGenerator.cpp.o [ 186s] [147/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/IntlPluralRules.cpp.o [ 186s] [148/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/IteratorObject.cpp.o [ 186s] [149/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinArray.cpp.o [ 186s] [150/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/NumberObject.cpp.o [ 186s] [151/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinRegExp.cpp.o [ 186s] [152/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/MapObject.cpp.o [ 187s] [153/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/PointerValue.cpp.o [ 187s] [154/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/NativeFunctionObject.cpp.o [ 187s] [155/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/IntlRelativeTimeFormat.cpp.o [ 187s] [156/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ModuleNamespaceObject.cpp.o [ 187s] [157/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/IntlCollator.cpp.o [ 187s] [158/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ObjectStructure.cpp.o [ 187s] [159/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/RopeString.cpp.o [ 187s] [160/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptClassMethodFunctionObject.cpp.o [ 188s] [161/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/PromiseObject.cpp.o [ 188s] [162/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ProxyObject.cpp.o [ 188s] [163/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/StringView.cpp.o [ 188s] [164/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptClassConstructorFunctionObject.cpp.o [ 188s] [165/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinJSON.cpp.o [ 188s] In file included from /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/vector:67, [ 188s] from third_party/escargot/src/Escargot.h:208, [ 188s] from third_party/escargot/src/runtime/GlobalObjectBuiltinJSON.cpp:20: [ 188s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_vector.h: In static member function 'static bool Escargot::builtinJSONStringify(Escargot::ExecutionState&, Escargot::Value, size_t, Escargot::Value*, Escargot::Optional)::::_FUN(Escargot::ExecutionState&, Escargot::Object*, const Escargot::ObjectPropertyName&, const Escargot::ObjectStructurePropertyDescriptor&, void*)': [ 188s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_vector.h:1195:4: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 188s] 1195 | _M_realloc_insert(end(), __x); [ 188s] | ^~~~~~~~~~~~~~~~~ [ 188s] In file included from /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/algorithm:62, [ 188s] from third_party/escargot/src/Escargot.h:187, [ 188s] from third_party/escargot/src/runtime/GlobalObjectBuiltinJSON.cpp:20: [ 188s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h: In function 'Escargot::Value Escargot::builtinJSONStringify(Escargot::ExecutionState&, Escargot::Value, size_t, Escargot::Value*, Escargot::Optional)': [ 188s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:1967:25: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 188s] 1967 | std::__introsort_loop(__first, __last, [ 188s] | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ [ 188s] 1968 | std::__lg(__last - __first) * 2, [ 188s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 188s] 1969 | __comp); [ 188s] | ~~~~~~~ [ 188s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:1884:25: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 188s] 1884 | std::__insertion_sort(__first, __first + int(_S_threshold), __comp); [ 188s] | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 188s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:1889:23: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 188s] 1889 | std::__insertion_sort(__first, __last, __comp); [ 188s] | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ [ 188s] In file included from /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/vector:72, [ 188s] from third_party/escargot/src/Escargot.h:208, [ 188s] from third_party/escargot/src/runtime/GlobalObjectBuiltinJSON.cpp:20: [ 188s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {const long long unsigned int&}; _Tp = long long unsigned int; _Alloc = std::allocator]': [ 188s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/vector.tcc:426:7: note: parameter passing for argument of type 'std::vector::iterator' {aka '__gnu_cxx::__normal_iterator >'} changed in GCC 7.1 [ 188s] 426 | vector<_Tp, _Alloc>:: [ 188s] | ^~~~~~~~~~~~~~~~~~~ [ 188s] In file included from /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/algorithm:62, [ 188s] from third_party/escargot/src/Escargot.h:187, [ 188s] from third_party/escargot/src/runtime/GlobalObjectBuiltinJSON.cpp:20: [ 188s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h: In function 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter >]': [ 188s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:1939:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 188s] 1939 | __introsort_loop(_RandomAccessIterator __first, [ 188s] | ^~~~~~~~~~~~~~~~ [ 188s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:1939:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 188s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:1953:25: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 188s] 1953 | std::__introsort_loop(__cut, __last, __depth_limit, __comp); [ 188s] | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 188s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h: In function 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter >]': [ 188s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:1839:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 188s] 1839 | __insertion_sort(_RandomAccessIterator __first, [ 188s] | ^~~~~~~~~~~~~~~~ [ 188s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:1839:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 188s] In file included from /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:61, [ 188s] from /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/algorithm:62, [ 188s] from third_party/escargot/src/Escargot.h:187, [ 188s] from third_party/escargot/src/runtime/GlobalObjectBuiltinJSON.cpp:20: [ 188s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_heap.h: In function 'void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Distance = int; _Tp = long long unsigned int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter >]': [ 188s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_heap.h:214:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 188s] 214 | __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex, [ 188s] | ^~~~~~~~~~~~~ [ 188s] [166/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/SetObject.cpp.o [ 188s] [167/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptAsyncGeneratorFunctionObject.cpp.o [ 188s] [168/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/interpreter/ByteCodeInterpreter.cpp.o [ 188s] [169/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/util/BasicString.cpp.o [ 189s] [170/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/StringBuilder.cpp.o [ 189s] [171/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/SandBox.cpp.o [ 189s] [172/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/IntlLocale.cpp.o [ 189s] [173/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/util/Vector.cpp.o [ 189s] [174/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ToStringRecursionPreventer.cpp.o [ 189s] [175/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/SymbolObject.cpp.o [ 189s] [176/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptGeneratorFunctionObject.cpp.o [ 189s] [177/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptArrowFunctionObject.cpp.o [ 189s] [178/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/diy-fp.cc.o [ 189s] [179/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/cached-powers.cc.o [ 189s] [180/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/bignum-dtoa.cc.o [ 189s] [181/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Symbol.cpp.o [ 189s] [182/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/StringObject.cpp.o [ 189s] [183/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptAsyncFunctionObject.cpp.o [ 189s] [184/1126] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/backgraph.c.o [ 189s] [185/1126] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/allchblk.c.o [ 189s] [186/1126] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/checksums.c.o [ 189s] [187/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/util/Util.cpp.o [ 189s] [188/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/fixed-dtoa.cc.o [ 189s] [189/1126] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/darwin_stop_world.c.o [ 189s] [190/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/PageBlock.cpp.o [ 189s] [191/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/fast-dtoa.cc.o [ 189s] [192/1126] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/dyn_load.c.o [ 189s] [193/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/strtod.cc.o [ 189s] [194/1126] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/blacklst.c.o [ 189s] [195/1126] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/gcj_mlc.c.o [ 189s] [196/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/OSAllocatorWin.cpp.o [ 189s] [197/1126] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/fnlz_mlc.c.o [ 189s] [198/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/WeakMapObject.cpp.o [ 189s] [199/1126] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/gc_dlopen.c.o [ 189s] [200/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/OSAllocatorPosix.cpp.o [ 189s] [201/1126] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/mach_dep.c.o [ 189s] [202/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/WeakSetObject.cpp.o [ 189s] [203/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Value.cpp.o [ 189s] [204/1126] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/new_hblk.c.o [ 189s] [205/1126] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/dbg_mlc.c.o [ 189s] [206/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptFunctionObject.cpp.o [ 189s] [207/1126] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/pthread_stop_world.c.o [ 189s] [208/1126] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/obj_map.c.o [ 189s] [209/1126] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/mallocx.c.o [ 190s] [210/1126] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/alloc.c.o [ 190s] [211/1126] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/pthread_start.c.o [ 190s] [212/1126] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/headers.c.o [ 190s] [213/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinString.cpp.o [ 190s] [214/1126] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/malloc.c.o [ 190s] [215/1126] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/thread_local_alloc.c.o [ 190s] [216/1126] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/pthread_support.c.o [ 190s] [217/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/double-conversion.cc.o [ 190s] [218/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/YarrErrorCode.cpp.o [ 190s] [219/1126] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/specific.c.o [ 190s] [220/1126] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/mark_rts.c.o [ 190s] [221/1126] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/win32_threads.c.o [ 190s] [222/1126] Building CXX object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/LeakChecker.cpp.o [ 190s] [223/1126] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/ptr_chck.c.o [ 190s] [224/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/YarrCanonicalizeUnicode.cpp.o [ 190s] [225/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/YarrCanonicalizeUCS2.cpp.o [ 190s] [226/1126] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/os_dep.c.o [ 190s] [227/1126] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/typd_mlc.c.o [ 190s] [228/1126] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/misc.c.o [ 190s] [229/1126] Building CXX object third_party/escargot/third_party/runtime_icu_binder/CMakeFiles/runtime-icu-binder-static.dir/RuntimeICUBinder.cpp.o [ 190s] [230/1126] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/reclaim.c.o [ 190s] [231/1126] Linking CXX static library out_tizen/unified_tv/release/lib/libruntime-icu-binder-static.a [ 190s] [232/1126] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/finalize.c.o [ 190s] [233/1126] Building CXX object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/Allocator.cpp.o [ 190s] [234/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/RegExpObject.cpp.o [ 190s] [235/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/IntlNumberFormat.cpp.o [ 190s] [236/1126] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/mark.c.o [ 190s] [237/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/String.cpp.o [ 190s] [238/1126] Linking CXX static library out_tizen/unified_tv/release/lib/libgc-lib.a [ 190s] [239/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/IntlDateTimeFormat.cpp.o [ 190s] [240/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/api/EscargotPublic.cpp.o [ 191s] [241/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Object.cpp.o [ 191s] [242/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/VMInstance.cpp.o [ 192s] [243/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/YarrSyntaxChecker.cpp.o [ 192s] [244/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/StaticStrings.cpp.o [ 192s] [245/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/lz4/lz4.cpp.o [ 193s] [246/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinTypedArray.cpp.o [ 193s] [247/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Intl.cpp.o [ 194s] [248/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/YarrInterpreter.cpp.o [ 195s] [249/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/YarrPattern.cpp.o [ 200s] [250/1126] BUILD LIBWEBSOCKETS [ 200s] BUILD LIBWEBSOCKETS [ 200s] -- Compiled with LWS_WITH_DIR and LWS_WITH_DIR [ 200s] -- The C compiler identification is GNU 9.2.0 [ 200s] -- Check for working C compiler: /bin/cc [ 200s] -- Check for working C compiler: /bin/cc -- works [ 200s] -- Detecting C compiler ABI info [ 200s] -- Detecting C compiler ABI info - done [ 200s] -- Detecting C compile features [ 200s] -- Detecting C compile features - done [ 200s] -- CMAKE_TOOLCHAIN_FILE='' [ 200s] -- Could NOT find Git (missing: GIT_EXECUTABLE) [ 200s] -- Performing Test LWS_HAVE_inline [ 200s] -- Performing Test LWS_HAVE_inline - Success [ 200s] -- Performing Test LWS_HAVE___inline__ [ 200s] -- Performing Test LWS_HAVE___inline__ - Success [ 200s] -- Performing Test LWS_HAVE___inline [ 200s] -- Performing Test LWS_HAVE___inline - Success [ 200s] -- Performing Test LWS_HAVE_MALLOC_TRIM [ 200s] -- Performing Test LWS_HAVE_MALLOC_TRIM - Success [ 200s] -- Performing Test LWS_HAVE_MALLOC_USABLE_SIZE [ 200s] -- Performing Test LWS_HAVE_MALLOC_USABLE_SIZE - Success [ 200s] -- Looking for fork [ 200s] -- Looking for fork - found [ 200s] -- Looking for getenv [ 200s] -- Looking for getenv - found [ 200s] -- Looking for malloc [ 200s] -- Looking for malloc - found [ 200s] -- Looking for memset [ 200s] -- Looking for memset - found [ 200s] -- Looking for realloc [ 200s] -- Looking for realloc - found [ 200s] -- Looking for socket [ 200s] -- Looking for socket - found [ 200s] -- Looking for strerror [ 200s] -- Looking for strerror - found [ 200s] -- Looking for vfork [ 200s] -- Looking for vfork - found [ 200s] -- Looking for execvpe [ 200s] -- Looking for execvpe - found [ 200s] -- Looking for getifaddrs [ 200s] -- Looking for getifaddrs - found [ 200s] -- Looking for snprintf [ 200s] -- Looking for snprintf - found [ 200s] -- Looking for _snprintf [ 200s] -- Looking for _snprintf - not found [ 200s] -- Looking for _vsnprintf [ 200s] -- Looking for _vsnprintf - not found [ 200s] -- Looking for getloadavg [ 200s] -- Looking for getloadavg - found [ 200s] -- Looking for atoll [ 200s] -- Looking for atoll - found [ 200s] -- Looking for _atoi64 [ 200s] -- Looking for _atoi64 - not found [ 200s] -- Looking for _stat32i64 [ 200s] -- Looking for _stat32i64 - not found [ 200s] -- Looking for clock_gettime [ 200s] -- Looking for clock_gettime - found [ 200s] -- Looking for dlfcn.h [ 200s] -- Looking for dlfcn.h - found [ 200s] -- Looking for fcntl.h [ 200s] -- Looking for fcntl.h - found [ 200s] -- Looking for in6addr.h [ 200s] -- Looking for in6addr.h - not found [ 200s] -- Looking for memory.h [ 200s] -- Looking for memory.h - found [ 200s] -- Looking for netinet/in.h [ 200s] -- Looking for netinet/in.h - found [ 200s] -- Looking for stdint.h [ 200s] -- Looking for stdint.h - found [ 200s] -- Looking for stdlib.h [ 200s] -- Looking for stdlib.h - found [ 200s] -- Looking for strings.h [ 200s] -- Looking for strings.h - found [ 200s] -- Looking for string.h [ 200s] -- Looking for string.h - found [ 200s] -- Looking for sys/prctl.h [ 200s] -- Looking for sys/prctl.h - found [ 200s] -- Looking for sys/socket.h [ 200s] -- Looking for sys/socket.h - found [ 200s] -- Looking for sys/sockio.h [ 200s] -- Looking for sys/sockio.h - not found [ 200s] -- Looking for sys/stat.h [ 200s] -- Looking for sys/stat.h - found [ 200s] -- Looking for sys/types.h [ 200s] -- Looking for sys/types.h - found [ 200s] -- Looking for unistd.h [ 200s] -- Looking for unistd.h - found [ 200s] -- Looking for vfork.h [ 200s] -- Looking for vfork.h - not found [ 200s] -- Looking for sys/capability.h [ 200s] -- Looking for sys/capability.h - not found [ 200s] -- Looking for malloc.h [ 200s] -- Looking for malloc.h - found [ 200s] -- Looking for pthread.h [ 200s] -- Looking for pthread.h - found [ 200s] -- Looking for inttypes.h [ 200s] -- Looking for inttypes.h - found [ 200s] -- Looking for cap_set_flag in cap [ 200s] -- Looking for cap_set_flag in cap - not found [ 200s] -- Looking for 4 include files stdlib.h, ..., float.h [ 200s] -- Looking for 4 include files stdlib.h, ..., float.h - found [ 200s] -- Performing Test LWS_HAS_INTPTR_T [ 200s] -- Performing Test LWS_HAS_INTPTR_T - Success [ 200s] -- Performing Test LWS_HAS_PTHREAD_SETNAME_NP [ 200s] -- Performing Test LWS_HAS_PTHREAD_SETNAME_NP - Success [ 200s] -- Performing Test LWS_HAS_GETOPT_LONG [ 200s] -- Performing Test LWS_HAS_GETOPT_LONG - Success [ 200s] -- Performing Test LWS_GCC_HAS_IGNORED_QUALIFIERS [ 200s] -- Performing Test LWS_GCC_HAS_IGNORED_QUALIFIERS - Success [ 200s] -- Performing Test LWS_GCC_HAS_TYPE_LIMITS [ 200s] -- Performing Test LWS_GCC_HAS_TYPE_LIMITS - Success [ 200s] Compiling with SSL support [ 200s] -- Found OpenSSL: /usr/lib/libcrypto.so (found version "1.1.1e") [ 200s] OpenSSL include dir: /usr/include [ 200s] OpenSSL libraries: /usr/lib/libssl.so;/usr/lib/libcrypto.so [ 200s] -- Looking for openssl/ecdh.h [ 200s] -- Looking for openssl/ecdh.h - found [ 200s] -- Looking for SSL_CTX_set1_param [ 200s] -- Looking for SSL_CTX_set1_param - found [ 200s] -- Looking for SSL_set_info_callback [ 200s] -- Looking for SSL_set_info_callback - found [ 200s] -- Looking for X509_VERIFY_PARAM_set1_host [ 200s] -- Looking for X509_VERIFY_PARAM_set1_host - found [ 200s] -- Looking for RSA_set0_key [ 200s] -- Looking for RSA_set0_key - found [ 200s] -- Looking for X509_get_key_usage [ 200s] -- Looking for X509_get_key_usage - found [ 200s] -- Looking for EVP_PKEY_new_raw_private_key [ 200s] -- Looking for EVP_PKEY_new_raw_private_key - found [ 200s] -- Looking for SSL_CTX_get0_certificate [ 200s] -- Looking for SSL_CTX_get0_certificate - found [ 200s] -- Looking for SSL_get0_alpn_selected [ 200s] -- Looking for SSL_get0_alpn_selected - found [ 200s] -- Looking for SSL_set_alpn_protos [ 200s] -- Looking for SSL_set_alpn_protos - found [ 200s] -- Looking for EVP_aes_128_cfb8 [ 200s] -- Looking for EVP_aes_128_cfb8 - found [ 200s] -- Looking for EVP_aes_128_cfb128 [ 200s] -- Looking for EVP_aes_128_cfb128 - found [ 200s] -- Looking for EVP_aes_192_cfb8 [ 200s] -- Looking for EVP_aes_192_cfb8 - found [ 200s] -- Looking for EVP_aes_192_cfb128 [ 200s] -- Looking for EVP_aes_192_cfb128 - found [ 200s] -- Looking for EVP_aes_256_cfb8 [ 200s] -- Looking for EVP_aes_256_cfb8 - found [ 200s] -- Looking for EVP_aes_256_cfb128 [ 200s] -- Looking for EVP_aes_256_cfb128 - found [ 200s] -- Looking for EVP_aes_128_xts [ 200s] -- Looking for EVP_aes_128_xts - found [ 200s] -- Looking for RSA_verify_pss_mgf1 [ 200s] -- Looking for RSA_verify_pss_mgf1 - not found [ 200s] -- Looking for HMAC_CTX_new [ 200s] -- Looking for HMAC_CTX_new - found [ 200s] -- Looking for SSL_CTX_set_ciphersuites [ 200s] -- Looking for SSL_CTX_set_ciphersuites - found [ 200s] -- Performing Test LWS_HAVE_SSL_EXTRA_CHAIN_CERTS [ 200s] -- Performing Test LWS_HAVE_SSL_EXTRA_CHAIN_CERTS - Success [ 200s] -- Performing Test LWS_HAVE_EVP_MD_CTX_free [ 200s] -- Performing Test LWS_HAVE_EVP_MD_CTX_free - Success [ 200s] -- Looking for ECDSA_SIG_set0 [ 200s] -- Looking for ECDSA_SIG_set0 - found [ 200s] -- Looking for BN_bn2binpad [ 200s] -- Looking for BN_bn2binpad - found [ 200s] -- Looking for EVP_aes_128_wrap [ 200s] -- Looking for EVP_aes_128_wrap - found [ 200s] -- Looking for EC_POINT_get_affine_coordinates [ 200s] -- Looking for EC_POINT_get_affine_coordinates - found [ 200s] -- Looking for TLS_client_method [ 200s] -- Looking for TLS_client_method - found [ 200s] -- Looking for TLSv1_2_client_method [ 200s] -- Looking for TLSv1_2_client_method - found [ 200s] -- Performing Test LWS_HAVE_PIPE2 [ 200s] -- Performing Test LWS_HAVE_PIPE2 - Success [ 200s] -- Performing Test LWS_HAVE_TCP_USER_TIMEOUT [ 200s] -- Performing Test LWS_HAVE_TCP_USER_TIMEOUT - Success [ 200s] Searching for OpenSSL executable and dlls [ 200s] OpenSSL executable: OPENSSL_EXECUTABLE-NOTFOUND [ 200s] GENCERTS = 1 [ 200s] Generating SSL Certificates for the test-server... [ 200s] CMake Warning at CMakeLists.txt:2116 (message): [ 200s] !!! Failed to generate SSL certificate for Test Server!!!: [ 200s] [ 200s] OpenSSL return code = No such file or directory [ 200s] [ 200s] [ 200s] CMake Warning (dev) at CMakeLists.txt:2296 (add_custom_command): [ 200s] Policy CMP0040 is not set: The target in the TARGET signature of [ 200s] add_custom_command() must exist. Run "cmake --help-policy CMP0040" for [ 200s] policy details. Use the cmake_policy command to set the policy and [ 200s] suppress this warning. [ 200s] [ 200s] No TARGET 'test-server' has been created in this directory. [ 200s] This warning is for project developers. Use -Wno-dev to suppress it. [ 200s] [ 200s] -- Looking for RPMTools... - found rpmuild is /bin/rpmbuild [ 200s] -- RPMTools:: Using RPM_ROOTDIR=/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libwebsockets/build/tizen/arm/release/RPM [ 200s] -- Simple copy spec file --> [ 200s] --------------------------------------------------------------------- [ 200s] Settings: (For more help do cmake -LH ) [ 200s] --------------------------------------------------------------------- [ 200s] LWS_WITH_STATIC = ON [ 200s] LWS_WITH_SHARED = OFF [ 200s] LWS_WITH_SSL = ON (SSL Support) [ 200s] LWS_SSL_CLIENT_USE_OS_CA_CERTS = 1 [ 200s] LWS_WITH_WOLFSSL = OFF (wolfSSL/CyaSSL replacement for OpenSSL) [ 200s] LWS_WITH_MBEDTLS = OFF (mbedTLS replacement for OpenSSL) [ 200s] LWS_WITHOUT_BUILTIN_SHA1 = OFF [ 200s] LWS_WITHOUT_BUILTIN_GETIFADDRS = OFF [ 200s] LWS_WITHOUT_CLIENT = OFF [ 200s] LWS_WITHOUT_SERVER = OFF [ 200s] LWS_LINK_TESTAPPS_DYNAMIC = OFF [ 200s] LWS_WITHOUT_TESTAPPS = OFF [ 200s] LWS_WITHOUT_TEST_SERVER = OFF [ 200s] LWS_WITHOUT_TEST_SERVER_EXTPOLL = OFF [ 200s] LWS_WITHOUT_TEST_PING = OFF [ 200s] LWS_WITHOUT_TEST_CLIENT = OFF [ 200s] LWS_WITHOUT_EXTENSIONS = ON [ 200s] LWS_WITHOUT_DAEMONIZE = ON [ 200s] LWS_WITH_LIBEV = OFF [ 200s] LWS_WITH_LIBUV = OFF [ 200s] LWS_WITH_LIBEVENT = OFF [ 200s] LWS_IPV6 = OFF [ 200s] LWS_UNIX_SOCK = OFF [ 200s] LWS_WITH_HTTP2 = 1 [ 200s] LWS_SSL_SERVER_WITH_ECDH_CERT = OFF [ 200s] LWS_MAX_SMP = 1 [ 200s] LWS_HAVE_PTHREAD_H = 1 [ 200s] LWS_WITH_CGI = OFF [ 200s] LWS_HAVE_OPENSSL_ECDH_H = 1 [ 200s] LWS_HAVE_SSL_CTX_set1_param = 1 [ 200s] LWS_HAVE_RSA_SET0_KEY = 1 [ 200s] LWS_WITH_HTTP_PROXY = OFF [ 200s] LIBHUBBUB_LIBRARIES = [ 200s] PLUGINS = [ 200s] LWS_WITH_ACCESS_LOG = OFF [ 200s] LWS_WITH_SERVER_STATUS = OFF [ 200s] LWS_WITH_LEJP = ON [ 200s] LWS_WITH_LEJP_CONF = ON [ 200s] LWS_WITH_GENERIC_SESSIONS = OFF [ 200s] LWS_STATIC_PIC = OFF [ 200s] LWS_WITH_RANGES = OFF [ 200s] LWS_PLAT_OPTEE = OFF [ 200s] LWS_PLAT_FREERTOS = OFF [ 200s] LWS_WITH_ZIP_FOPS = OFF [ 200s] LWS_AVOID_SIGPIPE_IGN = OFF [ 200s] LWS_WITH_STATS = OFF [ 200s] LWS_WITH_SOCKS5 = OFF [ 200s] LWS_HAVE_SYS_CAPABILITY_H = [ 200s] LWS_HAVE_LIBCAP = [ 200s] LWS_WITH_PEER_LIMITS = OFF [ 200s] LWS_HAVE_ATOLL = 1 [ 200s] LWS_HAVE__ATOI64 = [ 200s] LWS_HAVE_STAT32I64 = [ 200s] LWS_HAS_INTPTR_T = 1 [ 200s] LWS_WITH_EXPORT_LWSTARGETS = ON [ 200s] LWS_WITH_ABSTRACT = [ 200s] --------------------------------------------------------------------- [ 200s] -- Configuring done [ 200s] -- Generating done [ 200s] -- Build files have been written to: /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libwebsockets/build/tizen/arm/release [ 200s] [1/70] Building C object CMakeFiles/websockets.dir/lib/core-net/sorted-usec-list.c.o [ 200s] [2/70] Building C object CMakeFiles/websockets.dir/lib/misc/dir.c.o [ 200s] [3/70] Building C object CMakeFiles/websockets.dir/lib/core-net/stats.c.o [ 200s] [4/70] Building C object CMakeFiles/websockets.dir/lib/roles/raw-file/ops-raw-file.c.o [ 200s] [5/70] Building C object CMakeFiles/websockets.dir/lib/misc/base64-decode.c.o [ 200s] [6/70] Building C object CMakeFiles/websockets.dir/lib/core/lws_dll2.c.o [ 200s] [7/70] Building C object CMakeFiles/websockets.dir/lib/system/system.c.o [ 200s] [8/70] Building C object CMakeFiles/websockets.dir/lib/core/vfs.c.o [ 200s] [9/70] Building C object CMakeFiles/websockets.dir/lib/roles/raw-skt/ops-raw-skt.c.o [ 200s] [10/70] Building C object CMakeFiles/websockets.dir/lib/core/logs.c.o [ 200s] [11/70] Building C object CMakeFiles/websockets.dir/lib/misc/lwsac/cached-file.c.o [ 200s] [12/70] Building C object CMakeFiles/websockets.dir/lib/core/alloc.c.o [ 200s] [13/70] Building C object CMakeFiles/websockets.dir/lib/roles/ws/client-ws.c.o [ 200s] [14/70] Building C object CMakeFiles/websockets.dir/lib/core-net/output.c.o [ 200s] [15/70] Building C object CMakeFiles/websockets.dir/lib/core-net/wsi-timeout.c.o [ 200s] [16/70] Building C object CMakeFiles/websockets.dir/lib/roles/pipe/ops-pipe.c.o [ 200s] [17/70] Building C object CMakeFiles/websockets.dir/lib/core-net/dummy-callback.c.o [ 200s] [18/70] Building C object CMakeFiles/websockets.dir/lib/roles/ws/client-parser-ws.c.o [ 200s] [19/70] Building C object CMakeFiles/websockets.dir/lib/core-net/service.c.o [ 200s] [20/70] Building C object CMakeFiles/websockets.dir/lib/core-net/state.c.o [ 200s] [21/70] Building C object CMakeFiles/websockets.dir/lib/core/buflist.c.o [ 200s] [22/70] Building C object CMakeFiles/websockets.dir/lib/roles/ws/server-ws.c.o [ 200s] [23/70] Building C object CMakeFiles/websockets.dir/lib/misc/lwsac/lwsac.c.o [ 200s] [24/70] Building C object CMakeFiles/websockets.dir/lib/core/context.c.o [ 200s] [25/70] Building C object CMakeFiles/websockets.dir/lib/roles/h1/ops-h1.c.o [ 200s] [26/70] Building C object CMakeFiles/websockets.dir/lib/core-net/adopt.c.o [ 200s] [27/70] Building C object CMakeFiles/websockets.dir/lib/roles/http/server/lws-spa.c.o [ 200s] [28/70] Building C object CMakeFiles/websockets.dir/lib/core-net/sequencer.c.o [ 200s] [29/70] Building C object CMakeFiles/websockets.dir/lib/misc/lws-ring.c.o [ 200s] [30/70] Building C object CMakeFiles/websockets.dir/lib/core-net/pollfd.c.o [ 200s] [31/70] Building C object CMakeFiles/websockets.dir/lib/roles/http/header.c.o [ 200s] [32/70] Building C object CMakeFiles/websockets.dir/lib/core-net/close.c.o [ 200s] [33/70] Building C object CMakeFiles/websockets.dir/lib/core-net/network.c.o [ 200s] [34/70] Building C object CMakeFiles/websockets.dir/lib/core-net/client.c.o [ 200s] [35/70] Building C object CMakeFiles/websockets.dir/lib/core-net/server.c.o [ 200s] [36/70] Building C object CMakeFiles/websockets.dir/lib/core-net/connect.c.o [ 200s] [37/70] Building C object CMakeFiles/websockets.dir/lib/tls/openssl/openssl-tls.c.o [ 200s] [38/70] Building C object CMakeFiles/websockets.dir/lib/roles/listen/ops-listen.c.o [ 200s] [39/70] Building C object CMakeFiles/websockets.dir/lib/core/libwebsockets.c.o [ 200s] [40/70] Building C object CMakeFiles/websockets.dir/lib/tls/tls.c.o [ 200s] [41/70] Building C object CMakeFiles/websockets.dir/lib/plat/unix/unix-misc.c.o [ 200s] [42/70] Building C object CMakeFiles/websockets.dir/lib/tls/tls-network.c.o [ 200s] [43/70] Building C object CMakeFiles/websockets.dir/lib/tls/tls-server.c.o [ 200s] [44/70] Building C object CMakeFiles/websockets.dir/lib/plat/unix/unix-pipe.c.o [ 200s] [45/70] Building C object CMakeFiles/websockets.dir/lib/tls/tls-client.c.o [ 200s] [46/70] Building C object CMakeFiles/websockets.dir/lib/plat/unix/unix-caps.c.o [ 200s] [47/70] Building C object CMakeFiles/websockets.dir/lib/core-net/vhost.c.o [ 200s] [48/70] Building C object CMakeFiles/websockets.dir/lib/roles/http/client/client-handshake.c.o [ 200s] [49/70] Building C object CMakeFiles/websockets.dir/lib/tls/openssl/openssl-server.c.o [ 200s] [50/70] Building C object CMakeFiles/websockets.dir/lib/roles/http/parsers.c.o [ 200s] [51/70] Building C object CMakeFiles/websockets.dir/lib/plat/unix/unix-init.c.o [ 200s] [52/70] Building C object CMakeFiles/websockets.dir/lib/plat/unix/unix-file.c.o [ 200s] [53/70] Building C object CMakeFiles/websockets.dir/lib/tls/openssl/openssl-x509.c.o [ 200s] [54/70] Building C object CMakeFiles/websockets.dir/lib/tls/openssl/openssl-ssl.c.o [ 200s] [55/70] Building C object CMakeFiles/websockets.dir/lib/plat/unix/unix-service.c.o [ 200s] [56/70] Building C object CMakeFiles/websockets.dir/lib/core-net/wsi.c.o [ 200s] [57/70] Building C object CMakeFiles/websockets.dir/lib/event-libs/poll/poll.c.o [ 200s] [58/70] Building C object CMakeFiles/websockets.dir/lib/roles/ws/ops-ws.c.o [ 200s] [59/70] Building C object CMakeFiles/websockets.dir/lib/plat/unix/unix-fds.c.o [ 200s] [60/70] Building C object CMakeFiles/websockets.dir/lib/misc/sha-1.c.o [ 200s] [61/70] Building C object CMakeFiles/websockets.dir/lib/tls/openssl/openssl-client.c.o [ 200s] [62/70] Building C object CMakeFiles/websockets.dir/lib/roles/http/client/client-http.c.o [ 200s] [63/70] Building C object CMakeFiles/websockets.dir/lib/plat/unix/unix-sockets.c.o [ 200s] [64/70] Building C object CMakeFiles/websockets.dir/lib/roles/h2/ops-h2.c.o [ 200s] [65/70] Building C object CMakeFiles/websockets.dir/lib/misc/lejp.c.o [ 200s] [66/70] Building C object CMakeFiles/websockets.dir/lib/roles/http/server/lejp-conf.c.o [ 200s] [67/70] Building C object CMakeFiles/websockets.dir/lib/roles/h2/hpack.c.o [ 200s] [68/70] Building C object CMakeFiles/websockets.dir/lib/roles/http/server/server.c.o [ 200s] [69/70] Building C object CMakeFiles/websockets.dir/lib/roles/h2/http2.c.o [ 200s] [70/70] Linking C static library lib/libwebsockets.a [ 201s] [251/1126] COPY LIBWEBSOCKETS [ 201s] [252/1126] cd /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0 && echo LIBWEBSOCKETS\ TARGET [ 201s] LIBWEBSOCKETS TARGET [ 201s] [253/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioBufferSourceNode.cpp.o [ 201s] [254/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioContext.cpp.o [ 201s] [255/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BufferSourceOrDOMStringBinding.cpp.o [ 201s] [256/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferBinding.cpp.o [ 201s] [257/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferOptionsBinding.cpp.o [ 201s] [258/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioNodeBinding.cpp.o [ 201s] [259/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BaseAudioContextBinding.cpp.o [ 201s] [260/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioBuffer.cpp.o [ 201s] [261/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferSourceOptionsBinding.cpp.o [ 201s] [262/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BatteryManagerBinding.cpp.o [ 201s] [263/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioContextOptionsBinding.cpp.o [ 201s] [264/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioDestinationNodeBinding.cpp.o [ 201s] [265/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferSourceNodeBinding.cpp.o [ 201s] [266/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioContextBinding.cpp.o [ 201s] [267/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioScheduledSourceNodeBinding.cpp.o [ 203s] [268/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AnimationEventInitBinding.cpp.o [ 203s] [269/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BufferSourceOrBlobOrDOMStringBinding.cpp.o [ 203s] [270/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSNumericTypeBinding.cpp.o [ 203s] [271/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasImageSourceOrBlobOrImageDataBinding.cpp.o [ 203s] [272/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ArrayBufferViewOrArrayBufferBinding.cpp.o [ 203s] [273/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CustomEventInitBinding.cpp.o [ 203s] [274/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasRenderingContext2DBinding.cpp.o [ 203s] [275/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BlobOrBufferSourceOrUSVStringOrReadableStreamBinding.cpp.o [ 203s] [276/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasRenderingContext2DOrWebGLRenderingContextOrImageBitmapRenderingContextBinding.cpp.o [ 203s] [277/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSMediaRuleBinding.cpp.o [ 203s] [278/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSNumericValueBinding.cpp.o [ 203s] [279/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AnimationBinding.cpp.o [ 204s] [280/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BlobCustomBinding.cpp.o [ 204s] [281/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSKeywordValueBinding.cpp.o [ 204s] [282/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSBinding.cpp.o [ 204s] [283/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSRuleBinding.cpp.o [ 204s] [284/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/StaticStrings.cpp.o [ 204s] [285/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSFontFaceRuleBinding.cpp.o [ 204s] [286/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSImportRuleBinding.cpp.o [ 204s] [287/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AnimationEventBinding.cpp.o [ 204s] [288/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BlobBinding.cpp.o [ 204s] [289/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasGradientBinding.cpp.o [ 204s] [290/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleRuleBinding.cpp.o [ 204s] [291/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSCounterStyleRuleBinding.cpp.o [ 204s] [292/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleValueBinding.cpp.o [ 204s] [293/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSSupportsRuleBinding.cpp.o [ 204s] [294/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSNamespaceRuleBinding.cpp.o [ 204s] [295/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/Starfish.cpp.o [ 204s] [296/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSKeyframeRuleBinding.cpp.o [ 204s] [297/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSUnitValueBinding.cpp.o [ 204s] [298/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSConditionRuleBinding.cpp.o [ 204s] [299/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleDeclarationBinding.cpp.o [ 205s] [300/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CDATASectionBinding.cpp.o [ 205s] [301/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AttrBinding.cpp.o [ 205s] [302/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSRuleListBinding.cpp.o [ 205s] [303/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleSheetBinding.cpp.o [ 205s] [304/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSGroupingRuleBinding.cpp.o [ 205s] [305/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableCaptionElementBinding.cpp.o [ 205s] [306/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSKeyframesRuleBinding.cpp.o [ 206s] [307/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CloseEventInitBinding.cpp.o [ 206s] [308/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrix2DInitBinding.cpp.o [ 206s] [309/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasPatternBinding.cpp.o [ 206s] [310/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CompositionEventInitBinding.cpp.o [ 206s] [311/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrixInitBinding.cpp.o [ 206s] [312/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CloseEventBinding.cpp.o [ 206s] [313/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CoordinatesBinding.cpp.o [ 206s] [314/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrCanvasGradientOrCanvasPatternBinding.cpp.o [ 206s] [315/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMPointInitBinding.cpp.o [ 206s] [316/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CompositionEventBinding.cpp.o [ 207s] [317/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMPointReadOnlyBinding.cpp.o [ 207s] [318/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMExceptionBinding.cpp.o [ 207s] [319/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMQuadBinding.cpp.o [ 207s] [320/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMRectListBinding.cpp.o [ 207s] [321/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CustomEventBinding.cpp.o [ 207s] [322/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMRectReadOnlyBinding.cpp.o [ 207s] [323/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMPointBinding.cpp.o [ 207s] [324/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMRectBinding.cpp.o [ 207s] [325/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrFunctionBinding.cpp.o [ 207s] [326/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CharacterDataCustomBinding.cpp.o [ 207s] [327/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringListBinding.cpp.o [ 207s] [328/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringMapBinding.cpp.o [ 207s] [329/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrixBinding.cpp.o [ 207s] [330/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrixReadOnlyBinding.cpp.o [ 207s] [331/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLAudioElementBinding.cpp.o [ 207s] [332/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrMediaStreamTrackBinding.cpp.o [ 208s] [333/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrSequenceOfDOMStringBinding.cpp.o [ 208s] [334/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrRTCOAuthCredentialBinding.cpp.o [ 208s] [335/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CharacterDataBinding.cpp.o [ 208s] [336/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CommentBinding.cpp.o [ 208s] [337/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrSequenceOfdoubleBinding.cpp.o [ 208s] [338/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLCanvasElementBinding.cpp.o [ 208s] [339/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMTokenListBinding.cpp.o [ 208s] [340/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMImplementationBinding.cpp.o [ 209s] [341/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ErrorEventInitBinding.cpp.o [ 209s] [342/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMParserBinding.cpp.o [ 209s] [343/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EffectTimingBinding.cpp.o [ 209s] [344/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventModifierInitBinding.cpp.o [ 209s] [345/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ErrorEventBinding.cpp.o [ 209s] [346/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventOrDOMStringBinding.cpp.o [ 209s] [347/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventSourceInitBinding.cpp.o [ 209s] [348/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventInitBinding.cpp.o [ 209s] [349/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FocusEventInitBinding.cpp.o [ 209s] [350/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventTargetBinding.cpp.o [ 209s] [351/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventSourceBinding.cpp.o [ 209s] [352/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventBinding.cpp.o [ 210s] [353/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLImageElementOrSVGImageElementBinding.cpp.o [ 210s] [354/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLImageElementOrSVGImageElementOrHTMLVideoElementOrHTMLCanvasElementOrImageBitmapBinding.cpp.o [ 210s] [355/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentCustomBinding.cpp.o [ 210s] [356/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FocusEventBinding.cpp.o [ 210s] [357/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GeopositionBinding.cpp.o [ 210s] [358/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GeolocationBinding.cpp.o [ 210s] [359/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentBinding.cpp.o [ 210s] [360/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentFragmentBinding.cpp.o [ 211s] [361/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentTypeBinding.cpp.o [ 211s] [362/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentHoldable.cpp.o [ 211s] [363/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GeolocationCustomBinding.cpp.o [ 211s] [364/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLMediaElementBinding.cpp.o [ 211s] [365/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GetRootNodeOptionsBinding.cpp.o [ 211s] [366/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FormDataBinding.cpp.o [ 211s] [367/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ElementBinding.cpp.o [ 212s] [368/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLAnchorElementBinding.cpp.o [ 212s] [369/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLAreaElementBinding.cpp.o [ 212s] [370/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLBRElementBinding.cpp.o [ 212s] [371/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLBaseElementBinding.cpp.o [ 212s] [372/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLBodyElementBinding.cpp.o [ 212s] [373/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDialogElementBinding.cpp.o [ 212s] [374/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDivElementBinding.cpp.o [ 212s] [375/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDocumentBinding.cpp.o [ 212s] [376/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLElementOrlongBinding.cpp.o [ 213s] [377/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLCollectionBinding.cpp.o [ 213s] [378/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLButtonElementBinding.cpp.o [ 213s] [379/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHtmlElementBinding.cpp.o [ 213s] [380/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDListElementBinding.cpp.o [ 213s] [381/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFontElementBinding.cpp.o [ 213s] [382/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLSourceElementBinding.cpp.o [ 213s] [383/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFormElementBinding.cpp.o [ 213s] [384/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLElementBinding.cpp.o [ 214s] [385/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHeadingElementBinding.cpp.o [ 214s] [386/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFieldSetElementBinding.cpp.o [ 214s] [387/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFormControlsCollectionBinding.cpp.o [ 214s] [388/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHRElementBinding.cpp.o [ 214s] [389/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLImageElementBinding.cpp.o [ 214s] [390/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLInputElementCustomBinding.cpp.o [ 214s] [391/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHeadElementBinding.cpp.o [ 214s] [392/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLIFrameElementBinding.cpp.o [ 214s] [393/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLModElementBinding.cpp.o [ 214s] [394/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLInputElementBinding.cpp.o [ 214s] [395/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTrackElementBinding.cpp.o [ 214s] [396/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLIElementBinding.cpp.o [ 214s] [397/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLVideoElementBinding.cpp.o [ 214s] [398/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLabelElementBinding.cpp.o [ 215s] [399/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLegendElementBinding.cpp.o [ 215s] [400/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLinkElementBinding.cpp.o [ 215s] [401/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLMapElementBinding.cpp.o [ 215s] [402/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLMetaElementBinding.cpp.o [ 215s] [403/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageBitmapRenderingContextBinding.cpp.o [ 216s] [404/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageDataBinding.cpp.o [ 216s] [405/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLObjectElementBinding.cpp.o [ 216s] [406/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOListElementBinding.cpp.o [ 216s] [407/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptionElementOrHTMLOptGroupElementBinding.cpp.o [ 216s] [408/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLScriptElementOrSVGScriptElementBinding.cpp.o [ 216s] [409/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptGroupElementBinding.cpp.o [ 216s] [410/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaElementAudioSourceNodeBinding.cpp.o [ 216s] [411/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptionElementBinding.cpp.o [ 216s] [412/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/esprima_cpp/esprima.cpp.o [ 217s] [413/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLParagraphElementBinding.cpp.o [ 217s] [414/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptionsCollectionBinding.cpp.o [ 217s] [415/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaDevicesBinding.cpp.o [ 217s] [416/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOutputElementBinding.cpp.o [ 217s] [417/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLParamElementBinding.cpp.o [ 217s] [418/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaElementAudioSourceOptionsBinding.cpp.o [ 217s] [419/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaSourceBinding.cpp.o [ 217s] [420/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLPreElementBinding.cpp.o [ 217s] [421/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaStreamBinding.cpp.o [ 217s] [422/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaStreamConstraintsBinding.cpp.o [ 217s] [423/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLScriptElementBinding.cpp.o [ 217s] [424/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaStreamTrackBinding.cpp.o [ 217s] [425/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaTrackConstraintSetBinding.cpp.o [ 217s] [426/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaTrackConstraintsBinding.cpp.o [ 217s] [427/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageBitmapOptionsBinding.cpp.o [ 217s] [428/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLQuoteElementBinding.cpp.o [ 217s] [429/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTHeadElementBinding.cpp.o [ 218s] [430/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HistoryBinding.cpp.o [ 218s] [431/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HeadersBinding.cpp.o [ 218s] [432/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLegendElement.cpp.o [ 218s] [433/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLSelectElementBinding.cpp.o [ 218s] [434/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageBitmapBinding.cpp.o [ 218s] [435/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageDataCustomBinding.cpp.o [ 218s] [436/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLStyleElementBinding.cpp.o [ 218s] [437/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTFootElementBinding.cpp.o [ 218s] [438/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLSpanElementBinding.cpp.o [ 218s] [439/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableCellElementBinding.cpp.o [ 218s] [440/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTHElementBinding.cpp.o [ 218s] [441/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLabelElement.cpp.o [ 218s] [442/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NotificationOptionsBinding.cpp.o [ 218s] [443/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NotificationBinding.cpp.o [ 218s] [444/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/Path2DOrDOMStringBinding.cpp.o [ 218s] [445/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/Path2DBinding.cpp.o [ 218s] [446/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushManagerBinding.cpp.o [ 218s] [447/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCCertificateBinding.cpp.o [ 218s] [448/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushSubscriptionOptionsInitBinding.cpp.o [ 218s] [449/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLUListElementBinding.cpp.o [ 218s] [450/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushSubscriptionBinding.cpp.o [ 218s] [451/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableColElementBinding.cpp.o [ 218s] [452/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableElementBinding.cpp.o [ 218s] [453/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCAnswerOptionsBinding.cpp.o [ 218s] [454/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushSubscriptionOptionsBinding.cpp.o [ 219s] [455/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelBinding.cpp.o [ 219s] [456/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelEventBinding.cpp.o [ 219s] [457/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCConfigurationBinding.cpp.o [ 219s] [458/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelEventInitBinding.cpp.o [ 219s] [459/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelInitBinding.cpp.o [ 219s] [460/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceCandidateBinding.cpp.o [ 219s] [461/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceCandidateInitBinding.cpp.o [ 219s] [462/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/InputEventInitBinding.cpp.o [ 219s] [463/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDtlsTransportBinding.cpp.o [ 219s] [464/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCErrorInitBinding.cpp.o [ 219s] [465/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableSectionElementBinding.cpp.o [ 219s] [466/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCErrorBinding.cpp.o [ 219s] [467/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceServerBinding.cpp.o [ 219s] [468/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableRowElementBinding.cpp.o [ 219s] [469/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTitleElementBinding.cpp.o [ 219s] [470/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCOfferAnswerOptionsBinding.cpp.o [ 219s] [471/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCOfferOptionsBinding.cpp.o [ 219s] [472/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceCandidatePairBinding.cpp.o [ 219s] [473/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionBinding.cpp.o [ 219s] [474/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceTransportBinding.cpp.o [ 219s] [475/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpSendParametersBinding.cpp.o [ 219s] [476/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpParametersBinding.cpp.o [ 219s] [477/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceEventBinding.cpp.o [ 219s] [478/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceErrorEventBinding.cpp.o [ 219s] [479/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceErrorEventInitBinding.cpp.o [ 219s] [480/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceEventInitBinding.cpp.o [ 219s] [481/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpTransceiverInitBinding.cpp.o [ 219s] [482/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpReceiverBinding.cpp.o [ 219s] [483/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLUnknownElementBinding.cpp.o [ 219s] [484/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCSctpTransportBinding.cpp.o [ 219s] [485/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpSenderBinding.cpp.o [ 219s] [486/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCSessionDescriptionBinding.cpp.o [ 219s] [487/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpTransceiverBinding.cpp.o [ 219s] [488/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCTrackEventBinding.cpp.o [ 219s] [489/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCSessionDescriptionInitBinding.cpp.o [ 219s] [490/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCTrackEventInitBinding.cpp.o [ 219s] [491/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/InputEventBinding.cpp.o [ 219s] [492/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyboardEventInitBinding.cpp.o [ 219s] [493/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyframeEffectOptionsBinding.cpp.o [ 219s] [494/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyframeAnimationOptionsBinding.cpp.o [ 219s] [495/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyboardEventBinding.cpp.o [ 219s] [496/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTextAreaElementBinding.cpp.o [ 219s] [497/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaQueryListEventInitBinding.cpp.o [ 219s] [498/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaQueryListBinding.cpp.o [ 219s] [499/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/LocationBinding.cpp.o [ 220s] [500/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaListBinding.cpp.o [ 220s] [501/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaQueryListEventBinding.cpp.o [ 220s] [502/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessageChannelBinding.cpp.o [ 220s] [503/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessageEventInitBinding.cpp.o [ 220s] [504/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MouseEventInitBinding.cpp.o [ 220s] [505/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessagePortBinding.cpp.o [ 220s] [506/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessageEventBinding.cpp.o [ 221s] [507/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MouseEventBinding.cpp.o [ 221s] [508/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ProgressEventInitBinding.cpp.o [ 221s] [509/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NavigatorBinding.cpp.o [ 221s] [510/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PositionErrorBinding.cpp.o [ 221s] [511/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ProgressEventBinding.cpp.o [ 221s] [512/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCOAuthCredentialBinding.cpp.o [ 221s] [513/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RegistrationOptionsBinding.cpp.o [ 221s] [514/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RequestInitBinding.cpp.o [ 222s] [515/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RequestOrUSVStringBinding.cpp.o [ 222s] [516/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ReadableStreamDefaultReaderBinding.cpp.o [ 222s] [517/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeOrDOMStringBinding.cpp.o [ 222s] [518/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGLengthBinding.cpp.o [ 222s] [519/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ReadableStreamDefaultControllerBinding.cpp.o [ 222s] [520/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NamedNodeMapBinding.cpp.o [ 222s] [521/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingWorkerInstance.cpp.o [ 222s] [522/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ResponseBinding.cpp.o [ 222s] [523/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RequestBinding.cpp.o [ 222s] [524/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ResponseInitBinding.cpp.o [ 222s] [525/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeFilterBinding.cpp.o [ 222s] [526/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerBinding.cpp.o [ 222s] [527/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGAnimatedLengthBinding.cpp.o [ 222s] [528/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerRegistrationBinding.cpp.o [ 222s] [529/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerContainerBinding.cpp.o [ 222s] [530/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerGlobalScopeBinding.cpp.o [ 222s] [531/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeIteratorBinding.cpp.o [ 222s] [532/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ReadableStreamBinding.cpp.o [ 222s] [533/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SourceBufferBinding.cpp.o [ 222s] [534/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SourceBufferListBinding.cpp.o [ 222s] [535/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisBinding.cpp.o [ 222s] [536/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisEventInitBinding.cpp.o [ 222s] [537/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisEventBinding.cpp.o [ 222s] [538/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisUtteranceBinding.cpp.o [ 222s] [539/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisVoiceBinding.cpp.o [ 222s] [540/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextMetricsBinding.cpp.o [ 223s] [541/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeListBinding.cpp.o [ 223s] [542/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeBinding.cpp.o [ 223s] [543/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackBinding.cpp.o [ 223s] [544/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackCueBinding.cpp.o [ 223s] [545/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackCueListBinding.cpp.o [ 223s] [546/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ProcessingInstructionBinding.cpp.o [ 223s] [547/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackListBinding.cpp.o [ 223s] [548/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TimeRangesBinding.cpp.o [ 223s] [549/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGDocument.cpp.o [ 224s] [550/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RangeBinding.cpp.o [ 224s] [551/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGDefsElementBinding.cpp.o [ 224s] [552/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGCircleElementBinding.cpp.o [ 224s] [553/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGClipPathElementBinding.cpp.o [ 224s] [554/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGDocumentBinding.cpp.o [ 224s] [555/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGElementBinding.cpp.o [ 224s] [556/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScrollOptionsBinding.cpp.o [ 224s] [557/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SecurityPolicyViolationEventInitBinding.cpp.o [ 224s] [558/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGEllipseElementBinding.cpp.o [ 224s] [559/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGImageElementBinding.cpp.o [ 224s] [560/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScreenBinding.cpp.o [ 224s] [561/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGGElementBinding.cpp.o [ 225s] [562/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScrollToOptionsBinding.cpp.o [ 225s] [563/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/VTTCueBinding.cpp.o [ 225s] [564/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WebGLRenderingContextBinding.cpp.o [ 225s] [565/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WebSocketBinding.cpp.o [ 225s] [566/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerLocationBinding.cpp.o [ 225s] [567/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerGlobalScopeBinding.cpp.o [ 225s] [568/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGPathElementBinding.cpp.o [ 225s] [569/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGRectElementBinding.cpp.o [ 225s] [570/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGLineElementBinding.cpp.o [ 225s] [571/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerGlobalScopeCustomBinding.cpp.o [ 225s] [572/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SecurityPolicyViolationEventBinding.cpp.o [ 225s] [573/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerNavigatorBinding.cpp.o [ 225s] [574/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGSVGElementBinding.cpp.o [ 225s] [575/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/StyleSheetListBinding.cpp.o [ 225s] [576/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGPolygonElementBinding.cpp.o [ 225s] [577/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchInitBinding.cpp.o [ 225s] [578/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/testRunnerBinding.cpp.o [ 225s] [579/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGScriptElementBinding.cpp.o [ 225s] [580/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/StorageBinding.cpp.o [ 225s] [581/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/doubleOrAutoKeywordBinding.cpp.o [ 226s] [582/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptEngineInstance.cpp.o [ 226s] [583/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGPolylineElementBinding.cpp.o [ 226s] [584/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGStyleElementBinding.cpp.o [ 226s] [585/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingWindowInstance.cpp.o [ 226s] [586/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGTextElementBinding.cpp.o [ 226s] [587/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TransitionEventBinding.cpp.o [ 226s] [588/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGUseElementBinding.cpp.o [ 226s] [589/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchBinding.cpp.o [ 227s] [590/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TransitionEventInitBinding.cpp.o [ 227s] [591/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextBinding.cpp.o [ 227s] [592/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchEventBinding.cpp.o [ 227s] [593/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchListBinding.cpp.o [ 227s] [594/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingSecurity.cpp.o [ 227s] [595/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/UIEventInitBinding.cpp.o [ 227s] [596/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptWrappable.cpp.o [ 227s] [597/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/URLBinding.cpp.o [ 227s] [598/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/StyleSheetBinding.cpp.o [ 227s] [599/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/URLSearchParamsBinding.cpp.o [ 227s] [600/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/URLSearchParamsCustomBinding.cpp.o [ 228s] [601/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ShadowRootBinding.cpp.o [ 228s] [602/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/UIEventBinding.cpp.o [ 228s] [603/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowOrServiceWorkerBinding.cpp.o [ 228s] [604/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/TimingFunction.cpp.o [ 228s] [605/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/doubleOrCSSNumericValueBinding.cpp.o [ 228s] [606/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WebViewHoldable.cpp.o [ 228s] [607/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingInstance.cpp.o [ 228s] [608/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLHttpRequestEventTargetBinding.cpp.o [ 228s] [609/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/CubicBezier.cpp.o [ 228s] [610/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/StorageImpl.cpp.o [ 228s] [611/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/Animation.cpp.o [ 228s] [612/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLHttpRequestUploadBinding.cpp.o [ 228s] [613/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/StorageNamespaceImpl.cpp.o [ 229s] [614/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/WebStorageNamespaceProvider.cpp.o [ 229s] [615/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TreeWalkerBinding.cpp.o [ 229s] [616/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CloseEvent.cpp.o [ 229s] [617/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowHoldable.cpp.o [ 229s] [618/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/StorageManager.cpp.o [ 230s] [619/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Attribute.cpp.o [ 230s] [620/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicyDirectiveList.cpp.o [ 230s] [621/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowBinding.cpp.o [ 230s] [622/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicySourceListDirective.cpp.o [ 230s] [623/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowProxy.cpp.o [ 230s] [624/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicy.cpp.o [ 230s] [625/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLHttpRequestBinding.cpp.o [ 230s] [626/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/AnimationEvent.cpp.o [ 230s] [627/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMException.cpp.o [ 230s] [628/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLDocumentBinding.cpp.o [ 230s] [629/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrixInit.cpp.o [ 230s] [630/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CSS.cpp.o [ 231s] [631/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMPoint.cpp.o [ 231s] [632/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/history/HistoryManager.cpp.o [ 231s] [633/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMPointReadOnly.cpp.o [ 231s] [634/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMQuad.cpp.o [ 231s] [635/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRectReadOnly.cpp.o [ 231s] [636/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Attr.cpp.o [ 231s] [637/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRectList.cpp.o [ 231s] [638/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/TimingOptions.cpp.o [ 231s] [639/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CDATASection.cpp.o [ 231s] [640/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrix.cpp.o [ 231s] [641/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRect.cpp.o [ 232s] [642/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowCustomBinding.cpp.o [ 232s] [643/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Comment.cpp.o [ 232s] [644/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Event.cpp.o [ 232s] [645/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMImplementation.cpp.o [ 233s] [646/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMStringList.cpp.o [ 233s] [647/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMediaElement.cpp.o [ 233s] [648/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMTokenList.cpp.o [ 233s] [649/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/AnimationUtil.cpp.o [ 233s] [650/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrixReadOnly.cpp.o [ 233s] [651/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ExecutionContext.cpp.o [ 233s] [652/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CharacterData.cpp.o [ 233s] [653/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMStringMap.cpp.o [ 233s] [654/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMParser.cpp.o [ 233s] [655/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DocumentFragment.cpp.o [ 234s] [656/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLAreaElement.cpp.o [ 234s] [657/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLBaseElement.cpp.o [ 234s] [658/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFontElement.cpp.o [ 234s] [659/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFormControlsCollection.cpp.o [ 235s] [660/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDivElement.cpp.o [ 235s] [661/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLSourceElement.cpp.o [ 235s] [662/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLCollection.cpp.o [ 235s] [663/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLButtonElement.cpp.o [ 235s] [664/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDialogElement.cpp.o [ 235s] [665/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFieldSetElement.cpp.o [ 235s] [666/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLAnchorElement.cpp.o [ 235s] [667/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/EventTarget.cpp.o [ 236s] [668/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDocument.cpp.o [ 236s] [669/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLBodyElement.cpp.o [ 236s] [670/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHyperlinkContainer.cpp.o [ 236s] [671/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHeadingElement.cpp.o [ 236s] [672/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/AnimationTask.cpp.o [ 236s] [673/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHtmlElement.cpp.o [ 236s] [674/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTrackElement.cpp.o [ 236s] [675/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLIElement.cpp.o [ 236s] [676/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLIFrameElement.cpp.o [ 236s] [677/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLVideoElement.cpp.o [ 236s] [678/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMapElement.cpp.o [ 237s] [679/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptGroupElement.cpp.o [ 237s] [680/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLListContainer.cpp.o [ 237s] [681/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableCaptionElement.cpp.o [ 237s] [682/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLObjectElement.cpp.o [ 237s] [683/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFormElement.cpp.o [ 237s] [684/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOutputElement.cpp.o [ 237s] [685/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOListElement.cpp.o [ 237s] [686/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLModElement.cpp.o [ 237s] [687/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMetaElement.cpp.o [ 238s] [688/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptionsCollection.cpp.o [ 238s] [689/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLElement.cpp.o [ 238s] [690/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptionElement.cpp.o [ 238s] [691/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLinkElement.cpp.o [ 238s] [692/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLImageElement.cpp.o [ 238s] [693/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLParamElement.cpp.o [ 239s] [694/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrack.cpp.o [ 239s] [695/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Element.cpp.o [ 239s] [696/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackCue.cpp.o [ 239s] [697/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackCueList.cpp.o [ 239s] [698/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLQuoteElement.cpp.o [ 239s] [699/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackList.cpp.o [ 239s] [700/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/KeyboardEvent.cpp.o [ 239s] [701/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLInputElement.cpp.o [ 239s] [702/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableColGroupElement.cpp.o [ 239s] [703/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ImageBitmap.cpp.o [ 239s] [704/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Document.cpp.o [ 239s] [705/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ImageBitmapOptions.cpp.o [ 239s] [706/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/MessageChannel.cpp.o [ 240s] [707/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableCellElement.cpp.o [ 240s] [708/1126] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/YarrUnicodeProperties.cpp.o [ 240s] [709/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTitleElement.cpp.o [ 240s] [710/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasPath.cpp.o [ 240s] [711/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableColElement.cpp.o [ 240s] [712/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/MessagePort.cpp.o [ 240s] [713/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableSectionElement.cpp.o [ 240s] [714/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext.cpp.o [ 240s] [715/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext2D.cpp.o [ 240s] [716/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext2DMixIn.cpp.o [ 240s] [717/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageData.cpp.o [ 240s] [718/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageBitmapRenderingContext.cpp.o [ 240s] [719/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/HTMLCanvasElement.cpp.o [ 240s] [720/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTablePartElement.cpp.o [ 240s] [721/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/Path2D.cpp.o [ 240s] [722/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/TextMetrics.cpp.o [ 240s] [723/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/WebGLRenderingContext.cpp.o [ 240s] [724/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTextAreaElement.cpp.o [ 240s] [725/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLSelectElement.cpp.o [ 240s] [726/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLUListElement.cpp.o [ 240s] [727/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableRowElement.cpp.o [ 240s] [728/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLUnknownElement.cpp.o [ 241s] [729/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLScriptElement.cpp.o [ 241s] [730/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLStyleElement.cpp.o [ 241s] [731/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableElement.cpp.o [ 241s] [732/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TransitionEvent.cpp.o [ 241s] [733/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasImageSource.cpp.o [ 241s] [734/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ProcessingInstruction.cpp.o [ 242s] [735/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/UIEvent.cpp.o [ 242s] [736/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeList.cpp.o [ 242s] [737/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTextEditable.cpp.o [ 242s] [738/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NamedNodeMap.cpp.o [ 242s] [739/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TreeWalker.cpp.o [ 242s] [740/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeIterator.cpp.o [ 242s] [741/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeListImpl.cpp.o [ 242s] [742/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/WebOrigin.cpp.o [ 242s] [743/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Range.cpp.o [ 242s] [744/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntityParser.cpp.o [ 243s] [745/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasGradient.cpp.o [ 243s] [746/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageSmoothingQuality.cpp.o [ 243s] [747/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntitySearch.cpp.o [ 243s] [748/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Text.cpp.o [ 243s] [749/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TouchEvent.cpp.o [ 243s] [750/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/SelectorQuery.cpp.o [ 243s] [751/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasPattern.cpp.o [ 243s] [752/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntityTable.cpp.o [ 243s] [753/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLElementLookupTrie.cpp.o [ 243s] [754/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLParserIdioms.cpp.o [ 243s] [755/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Avplay.cpp.o [ 243s] [756/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TouchList.cpp.o [ 243s] [757/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/TimeRanges.cpp.o [ 243s] [758/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Touch.cpp.o [ 244s] [759/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/PseudoElement.cpp.o [ 244s] [760/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGImageElement.cpp.o [ 244s] [761/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGEllipseElement.cpp.o [ 244s] [762/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLTokenizer.cpp.o [ 244s] [763/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLFormattingElementList.cpp.o [ 245s] [764/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLElementStack.cpp.o [ 245s] [765/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Scrolling.cpp.o [ 245s] [766/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLStackItem.cpp.o [ 245s] [767/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLParser.cpp.o [ 245s] [768/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Node.cpp.o [ 245s] [769/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLConstructionSite.cpp.o [ 245s] [770/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/inspector/Inspector.cpp.o [ 245s] [771/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/MimeType.cpp.o [ 245s] [772/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedLength.cpp.o [ 246s] [773/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Body.cpp.o [ 246s] [774/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Fetch.cpp.o [ 246s] [775/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Console.cpp.o [ 246s] [776/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLTreeBuilder.cpp.o [ 246s] [777/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/FetchUtils.cpp.o [ 246s] [778/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Request.cpp.o [ 246s] [779/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLineElement.cpp.o [ 246s] [780/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/HeadersData.cpp.o [ 246s] [781/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGCircleElement.cpp.o [ 246s] [782/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/PreloadScanner.cpp.o [ 246s] [783/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/builder/html/HTMLDocumentBuilder.cpp.o [ 246s] [784/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPathElement.cpp.o [ 246s] [785/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/RequestData.cpp.o [ 246s] [786/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPolylineElement.cpp.o [ 246s] [787/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedCanvas.cpp.o [ 246s] [788/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGSVGElement.cpp.o [ 246s] [789/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Headers.cpp.o [ 247s] [790/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPolygonElement.cpp.o [ 247s] [791/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedVideo.cpp.o [ 247s] [792/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGElement.cpp.o [ 247s] [793/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Response.cpp.o [ 247s] [794/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamDefaultReader.cpp.o [ 247s] [795/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGRectElement.cpp.o [ 247s] [796/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/ResponseData.cpp.o [ 247s] [797/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGClipPathElement.cpp.o [ 247s] [798/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamDefaultController.cpp.o [ 247s] [799/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/xml/XMLSerializer.cpp.o [ 247s] [800/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStream.cpp.o [ 247s] [801/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTextElement.cpp.o [ 248s] [802/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamBuffer.cpp.o [ 248s] [803/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fileapi/Blob.cpp.o [ 248s] [804/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLength.cpp.o [ 248s] [805/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGUseElement.cpp.o [ 249s] [806/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGScriptElement.cpp.o [ 249s] [807/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGStyleElement.cpp.o [ 251s] [808/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBoxBlockLayout.cpp.o [ 251s] [809/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameCounterText.cpp.o [ 252s] [810/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameQuoteText.cpp.o [ 252s] [811/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameOptGroupBox.cpp.o [ 252s] [812/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameInline.cpp.o [ 252s] [813/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameButtonBox.cpp.o [ 252s] [814/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedObject.cpp.o [ 252s] [815/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedIFrame.cpp.o [ 252s] [816/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/battery/Battery.cpp.o [ 253s] [817/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameOptionBox.cpp.o [ 253s] [818/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedImage.cpp.o [ 253s] [819/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableCaptionBox.cpp.o [ 253s] [820/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameSelectBox.cpp.o [ 253s] [821/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableCellBox.cpp.o [ 253s] [822/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableObjectBox.cpp.o [ 253s] [823/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableRowBox.cpp.o [ 253s] [824/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableColBox.cpp.o [ 253s] [825/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBox.cpp.o [ 253s] [826/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameInputBox.cpp.o [ 254s] [827/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastApplication.cpp.o [ 254s] [828/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/SSDPRunnable.cpp.o [ 254s] [829/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastConfig.cpp.o [ 254s] [830/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplaced.cpp.o [ 254s] [831/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastServer.cpp.o [ 254s] [832/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/DIALRunnable.cpp.o [ 254s] [833/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableSectionBox.cpp.o [ 254s] [834/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGClipPathBox.cpp.o [ 254s] [835/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameFlexibleBox.cpp.o [ 254s] [836/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/SourceBufferList.cpp.o [ 254s] [837/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/MediaSource.cpp.o [ 254s] [838/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameDocument.cpp.o [ 254s] [839/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/SourceBuffer.cpp.o [ 254s] [840/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaDevices.cpp.o [ 254s] [841/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/LayoutRepaintTracker.cpp.o [ 254s] [842/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCCertificate.cpp.o [ 254s] [843/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaStreamTrack.cpp.o [ 254s] [844/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableBox.cpp.o [ 254s] [845/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaStream.cpp.o [ 254s] [846/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCConfiguration.cpp.o [ 254s] [847/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDataChannel.cpp.o [ 254s] [848/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGCircleBox.cpp.o [ 254s] [849/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDtlsTransport.cpp.o [ 254s] [850/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCError.cpp.o [ 254s] [851/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDataChannelEvent.cpp.o [ 254s] [852/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceCandidate.cpp.o [ 254s] [853/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnection.cpp.o [ 254s] [854/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceServer.cpp.o [ 254s] [855/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceTransport.cpp.o [ 254s] [856/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCSctpTransport.cpp.o [ 254s] [857/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpSender.cpp.o [ 254s] [858/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnectionIceErrorEvent.cpp.o [ 254s] [859/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpReceiver.cpp.o [ 254s] [860/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnectionIceEvent.cpp.o [ 254s] [861/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpTransceiver.cpp.o [ 254s] [862/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/WebRtcManager.cpp.o [ 254s] [863/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCSessionDescription.cpp.o [ 254s] [864/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCTrackEvent.cpp.o [ 254s] [865/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCStatsReport.cpp.o [ 254s] [866/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/SocketNN.cpp.o [ 254s] [867/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/LWSRunnable.cpp.o [ 255s] [868/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/SocketLWS.cpp.o [ 255s] [869/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGBox.cpp.o [ 255s] [870/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/WebSocket.cpp.o [ 255s] [871/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPolygonBox.cpp.o [ 255s] [872/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/Connection.cpp.o [ 255s] [873/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGEllipseBox.cpp.o [ 255s] [874/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/Message.cpp.o [ 255s] [875/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorker.cpp.o [ 255s] [876/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/RepaintRegionTracker.cpp.o [ 255s] [877/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGInvisibleBox.cpp.o [ 255s] [878/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameGridBox.cpp.o [ 255s] [879/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/IORunnable.cpp.o [ 255s] [880/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/JobQueue.cpp.o [ 255s] [881/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerContainer.cpp.o [ 255s] [882/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/CanvasFillStrokeSource.cpp.o [ 255s] [883/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerAgent.cpp.o [ 255s] [884/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/Frame.cpp.o [ 255s] [885/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/image/BufferedNativeImageData.cpp.o [ 256s] [886/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPathBox.cpp.o [ 256s] [887/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/client/ServiceWorkerClientConnection.cpp.o [ 256s] [888/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRegistration.cpp.o [ 256s] [889/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/image/ImageDecoder.cpp.o [ 256s] [890/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRequest.cpp.o [ 256s] [891/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/ShadowBlur.cpp.o [ 256s] [892/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerGlobalScope.cpp.o [ 256s] [893/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTreeBuilder.cpp.o [ 256s] [894/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/BaseRunnable.cpp.o [ 256s] [895/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerExecutor.cpp.o [ 256s] [896/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerServer.cpp.o [ 256s] [897/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerHostJobHandler.cpp.o [ 256s] [898/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/Notification.cpp.o [ 256s] [899/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushSubscriptionOptions.cpp.o [ 256s] [900/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBox.cpp.o [ 256s] [901/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/NotificationJob.cpp.o [ 256s] [902/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/NotificationService.cpp.o [ 256s] [903/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushManager.cpp.o [ 256s] [904/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/PositionError.cpp.o [ 257s] [905/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushServiceAgent.cpp.o [ 257s] [906/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushSubscription.cpp.o [ 257s] [907/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/TextDecorationData.cpp.o [ 257s] [908/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/tts/TextAlternativeHelper.cpp.o [ 257s] [909/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/tts/SpeechSynthesis.cpp.o [ 257s] [910/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGLineBox.cpp.o [ 257s] [911/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerGlobalScope.cpp.o [ 257s] [912/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioDestinationNode.cpp.o [ 257s] [913/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioNode.cpp.o [ 257s] [914/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/BaseAudioContext.cpp.o [ 257s] [915/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioScheduledSourceNode.cpp.o [ 257s] [916/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/Compositor.cpp.o [ 257s] [917/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/MediaElementAudioSourceNode.cpp.o [ 257s] [918/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WebWorker.cpp.o [ 257s] [919/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/message_loop/Timer.cpp.o [ 257s] [920/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGRectBox.cpp.o [ 257s] [921/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerLocation.cpp.o [ 257s] [922/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerNavigator.cpp.o [ 257s] [923/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerScriptController.cpp.o [ 257s] [924/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/profiling/Profiling.cpp.o [ 257s] [925/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ErrorData.cpp.o [ 257s] [926/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/StackingContext.cpp.o [ 257s] [927/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/message_loop/MessageLoop.cpp.o [ 257s] [928/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerData.cpp.o [ 258s] [929/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/RegistrationOptions.cpp.o [ 258s] [930/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/Canvas.cpp.o [ 258s] [931/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/MessageServiceWorker.cpp.o [ 258s] [932/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGUseBox.cpp.o [ 258s] [933/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerHostConnection.cpp.o [ 258s] [934/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerJobData.cpp.o [ 258s] [935/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/ResourceRequestJob.cpp.o [ 258s] [936/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Coordinates.cpp.o [ 258s] [937/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Geoposition.cpp.o [ 258s] [938/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerJob.cpp.o [ 258s] [939/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRegistrationData.cpp.o [ 258s] [940/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBoxInlineLayout.cpp.o [ 258s] [941/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/ResourceRequest.cpp.o [ 258s] [942/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPolylineBox.cpp.o [ 258s] [943/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/client/ServiceWorkerProcessManager.cpp.o [ 258s] [944/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Mutex.cpp.o [ 258s] [945/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGSVGBox.cpp.o [ 259s] [946/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Semaphore.cpp.o [ 259s] [947/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/AdaptedThread.cpp.o [ 259s] [948/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/NetworkURLResourceRequestJobDelegate.cpp.o [ 259s] [949/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameTreeBuilderSVG.cpp.o [ 259s] [950/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Geolocation.cpp.o [ 259s] [951/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/font/Font.cpp.o [ 259s] [952/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGTextBox.cpp.o [ 260s] [953/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/profiling/LayoutFlowLoggerBuilder.cpp.o [ 260s] [954/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/EventSourceParser.cpp.o [ 260s] [955/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Thread.cpp.o [ 260s] [956/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/ThreadPool.cpp.o [ 260s] [957/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/NavigatorMixin.cpp.o [ 260s] [958/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/GeolocationTizen.cpp.o [ 260s] [959/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WindowOrWorkerGlobalScope.cpp.o [ 260s] [960/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/storage/Storage.cpp.o [ 261s] [961/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WebBase.cpp.o [ 261s] [962/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSLength.cpp.o [ 261s] [963/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSAngle.cpp.o [ 261s] [964/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/BorderImage.cpp.o [ 261s] [965/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSProperty.cpp.o [ 261s] [966/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSGradientValue.cpp.o [ 261s] [967/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleLookupTrie.cpp.o [ 261s] [968/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Serializer.cpp.o [ 262s] [969/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Navigator.cpp.o [ 262s] [970/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/AncestorSelectorFilter.cpp.o [ 262s] [971/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Screen.cpp.o [ 262s] [972/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSFilterFunction.cpp.o [ 262s] [973/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSTime.cpp.o [ 262s] [974/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSRuleList.cpp.o [ 262s] [975/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSNumericValue.cpp.o [ 262s] [976/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ContentData.cpp.o [ 262s] [977/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Archivable.cpp.o [ 262s] [978/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/EventSource.cpp.o [ 262s] [979/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Archiver.cpp.o [ 263s] [980/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/History.cpp.o [ 263s] [981/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ImageValue.cpp.o [ 263s] [982/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CounterStyle.cpp.o [ 263s] [983/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSVariableSyntaxTreeBuilder.cpp.o [ 263s] [984/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSKeywordValue.cpp.o [ 263s] [985/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CalcData.cpp.o [ 263s] [986/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Location.cpp.o [ 263s] [987/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/ProgramOptions.cpp.o [ 263s] [988/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleValue.cpp.o [ 264s] [989/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ListStyleData.cpp.o [ 264s] [990/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQuery.cpp.o [ 264s] [991/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSUnitValue.cpp.o [ 264s] [992/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/FilterFunctions.cpp.o [ 264s] [993/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryEvaluator.cpp.o [ 264s] [994/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/NamedColors.cpp.o [ 265s] [995/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ShadowData.cpp.o [ 265s] [996/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/PositionedMaskData.cpp.o [ 265s] [997/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/UnitHelper.cpp.o [ 265s] [998/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleAnimationData.cpp.o [ 265s] [999/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Unit.cpp.o [ 265s] [1000/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/launcher/WebWorkerEntry.cpp.o [ 265s] [1001/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/AttributeName.cpp.o [ 265s] [1002/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleSheet.cpp.o [ 265s] [1003/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleRule.cpp.o [ 265s] [1004/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaList.cpp.o [ 265s] [1005/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleBackgroundData.cpp.o [ 265s] [1006/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSParser.cpp.o [ 265s] [1007/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Cryptographic.cpp.o [ 265s] [1008/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleTransitionData.cpp.o [ 265s] [1009/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/AtomicString.cpp.o [ 266s] [1010/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQuerySet.cpp.o [ 266s] [1011/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/GradientData.cpp.o [ 266s] [1012/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Id.cpp.o [ 266s] [1013/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryList.cpp.o [ 266s] [1014/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Window.cpp.o [ 266s] [1015/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/GlobalOptions.cpp.o [ 266s] [1016/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryListMatcher.cpp.o [ 266s] [1017/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/LineBreakerIteratorPool.cpp.o [ 266s] [1018/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleSheet.cpp.o [ 266s] [1019/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Message.cpp.o [ 266s] [1020/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Length.cpp.o [ 266s] [1021/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/TextConverter.cpp.o [ 266s] [1022/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/RandomEngine.cpp.o [ 267s] [1023/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/QualifiedName.cpp.o [ 267s] [1024/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleSheetList.cpp.o [ 267s] [1025/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/URL.cpp.o [ 267s] [1026/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ComputedStyle.cpp.o [ 267s] [1027/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/BrowsingContext.cpp.o [ 267s] [1028/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasSkia.cpp.o [ 268s] [1029/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/URLSearchParams.cpp.o [ 268s] [1030/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/hb-icu/HarfBuzzICU.cpp.o [ 268s] [1031/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopEFL.cpp.o [ 268s] [1032/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasCairoUtils.cpp.o [ 268s] [1033/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasMock.cpp.o [ 268s] [1034/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopWindows.cpp.o [ 268s] [1035/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorGL.cpp.o [ 268s] [1036/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplMock.cpp.o [ 268s] [1037/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/DemuxerWebM.cpp.o [ 268s] [1038/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathMock.cpp.o [ 268s] [1039/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WebView.cpp.o [ 268s] [1040/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathSkia.cpp.o [ 268s] [1041/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/Demuxer.cpp.o [ 268s] [1042/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorSkia.cpp.o [ 268s] [1043/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleRule.cpp.o [ 268s] [1044/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/DemuxerMP4.cpp.o [ 268s] [1045/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtcTizen.cpp.o [ 268s] [1046/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayer.cpp.o [ 268s] [1047/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudio.cpp.o [ 268s] [1048/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MP4PacketGenerator.cpp.o [ 268s] [1049/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudioLinux.cpp.o [ 268s] [1050/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudioTizen.cpp.o [ 268s] [1051/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTV.cpp.o [ 268s] [1052/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorMock.cpp.o [ 268s] [1053/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTizen.cpp.o [ 269s] [1054/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtcLinux.cpp.o [ 269s] [1055/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/String.cpp.o [ 269s] [1056/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTizenBase.cpp.o [ 269s] [1057/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MockMediaPlayer.cpp.o [ 269s] [1058/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtc.cpp.o [ 269s] [1059/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/StreamInfo.cpp.o [ 269s] [1060/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaValues.cpp.o [ 269s] [1061/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPCache.cpp.o [ 269s] [1062/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPCacheEntry.cpp.o [ 269s] [1063/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplSkia.cpp.o [ 269s] [1064/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/tts/TTSBase.cpp.o [ 269s] [1065/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/file/Directory.cpp.o [ 269s] [1066/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/process/base/Process.cpp.o [ 269s] [1067/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/ImageUtils.cpp.o [ 269s] [1068/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorCairo.cpp.o [ 269s] [1069/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/tts/TTSTV.cpp.o [ 269s] [1070/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/file/File.cpp.o [ 269s] [1071/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathCairo.cpp.o [ 269s] [1072/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/webrtc/VideoCapturer.cpp.o [ 269s] [1073/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ComputedStyleCSSStyleDeclaration.cpp.o [ 269s] [1074/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/xml/FormData.cpp.o [ 269s] [1075/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/HeaderResource.cpp.o [ 270s] [1076/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/AnimatedGIFNativeImageDataImpl.cpp.o [ 270s] [1077/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/CompressedNativeImageDataImpl.cpp.o [ 270s] [1078/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/android/AndroidBridge.cpp.o [ 270s] [1079/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/xml/XMLHttpRequest.cpp.o [ 270s] [1080/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/NativeImageDataImpl.cpp.o [ 270s] [1081/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerEFL.cpp.o [ 270s] [1082/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ResourceURL.cpp.o [ 270s] [1083/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinWindows.cpp.o [ 270s] [1084/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWEWebView.cpp.o [ 270s] [1085/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerWindows.cpp.o [ 270s] [1086/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinEFL.cpp.o [ 271s] [1087/1126] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/WebWidgetAPIInstance.cpp.o [ 271s] [1088/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopLibUV.cpp.o [ 271s] [1089/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/public/DeviceInfo.cpp.o [ 271s] [1090/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPResponse.cpp.o [ 271s] [1091/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPRequest.cpp.o [ 271s] [1092/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerLibUV.cpp.o [ 271s] [1093/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/curl/NetworkSharedResourceManager.cpp.o [ 271s] [1094/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/VirtualCursorData.cpp.o [ 271s] [1095/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPTransaction.cpp.o [ 271s] [1096/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPUtil.cpp.o [ 272s] [1097/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPHeaderMap.cpp.o [ 272s] [1098/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/FontResource.cpp.o [ 272s] [1099/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplGL.cpp.o [ 272s] [1100/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasCairo.cpp.o [ 272s] [1101/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplHeadless.cpp.o [ 272s] [1102/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/JavaScriptNativeHandler.cpp.o [ 272s] [1103/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinLibUV.cpp.o [ 272s] [1104/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWE.cpp.o [ 272s] [1105/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/TextResource.cpp.o [ 272s] [1106/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplCairo.cpp.o [ 272s] [1107/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/SVGNativeImageDataImpl.cpp.o [ 272s] [1108/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ElementResourceClient.cpp.o [ 272s] [1109/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/glfw/LWEWebViewGLFW.cpp.o [ 272s] [1110/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/efl/LWEWebViewEFL.cpp.o [ 272s] [1111/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/ecore_wayland2/LWEWebViewEcoreWayland2.cpp.o [ 272s] [1112/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/Resource.cpp.o [ 273s] [1113/1126] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/ExtensionAdapter.cpp.o [ 273s] [1114/1126] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/ExtensionManager.cpp.o [ 273s] [1115/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplGB.cpp.o [ 273s] [1116/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/dali/LWEWebViewDALi.cpp.o [ 273s] [1117/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleDeclaration.cpp.o [ 273s] [1118/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ImageResource.cpp.o [ 273s] [1119/1126] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/Extension.cpp.o [ 273s] [1120/1126] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/TizenDeviceAPILoaderForEscargot.cpp.o [ 273s] [1121/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ResourceLoader.cpp.o [ 274s] [1122/1126] Linking CXX static library out_tizen/unified_tv/release/lib/libescargot.a [ 274s] [1123/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/PlatformWindow.cpp.o [ 275s] [1124/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWEWebContainer.cpp.o [ 277s] [1125/1126] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Style.cpp.o [ 741s] [1126/1126] Linking CXX shared library out_tizen/unified_tv/release/lib/liblightweight-web-engine-dali-plugin.tv.so [ 741s] + rm -f CMakeCache.txt [ 741s] + cmake CMakeLists.txt -DTIZEN_MAJOR_VERSION=6 -DMODE=release -DHOST=tizen -DARCH=arm -DCUSTOM=unified_tv -DBACKEND=efl_cairo_gl -DLTO=1 -DTARGETNAME=lightweight-web-engine.tv -G Ninja [ 741s] -- The C compiler identification is GNU 9.2.0 [ 741s] -- The CXX compiler identification is GNU 9.2.0 [ 741s] -- Check for working C compiler: /bin/cc [ 742s] -- Check for working C compiler: /bin/cc -- works [ 742s] -- Detecting C compiler ABI info [ 742s] -- Detecting C compiler ABI info - done [ 742s] -- Detecting C compile features [ 742s] -- Detecting C compile features - done [ 742s] -- Check for working CXX compiler: /bin/c++ [ 743s] -- Check for working CXX compiler: /bin/c++ -- works [ 743s] -- Detecting CXX compiler ABI info [ 743s] -- Detecting CXX compiler ABI info - done [ 743s] -- Detecting CXX compile features [ 744s] -- Detecting CXX compile features - done [ 744s] -- Found PkgConfig: /bin/pkg-config (found version "0.28") [ 744s] -- Checking for modules 'libpng;freetype2;fontconfig;harfbuzz;elementary;ecore;ecore-imf' [ 745s] -- Found libpng, version 1.6.37 [ 745s] -- Found freetype2, version 23.1.17 [ 745s] -- Found fontconfig, version 2.13.1 [ 746s] -- Found harfbuzz, version 2.6.4 [ 746s] -- Found elementary, version 1.24.99 [ 746s] -- Found ecore, version 1.24.99 [ 746s] -- Found ecore-imf, version 1.24.99 [ 750s] -- Checking for module 'ecore-imf-evas' [ 751s] -- Found ecore-imf-evas, version 1.24.99 [ 752s] -- Checking for module 'libtbm' [ 752s] -- Found libtbm, version 3.0.0 [ 753s] -- Checking for module 'cairo' [ 753s] -- Found cairo, version 1.14.2 [ 755s] -- Checking for modules 'capi-network-connection;capi-media-player;capi-media-audio-io' [ 755s] -- Found capi-network-connection, version [ 756s] -- Found capi-media-player, version [ 756s] -- Found capi-media-audio-io, version [ 757s] -- Looking for cap_set_flag in cap [ 757s] -- Looking for cap_set_flag in cap - not found [ 757s] -- Checking for module 'dlog' [ 757s] -- Found dlog, version 1.0 [ 758s] -- Starfish [ 758s] -- 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--param=ssp-buffer-size=4-march=armv7-a-mtune=cortex-a8-mlittle-endian-mfpu=neon-mfloat-abi=softfp-mthumb-Wp,-D__SOFTFP__-Wl,-O1-Wl,--hash-style=gnu-Wa,-mimplicit-it=thumb-g-DSTARFISH_TIZEN_MAJOR_VERSION=6-DSTARFISH_TIZEN_VERSION_6_0 [ 758s] -- LIBRARIES: clipperescargotmp4parsewebmskia_matrix/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/out_tizen/unified_tv/release/lib/libwebrtc.sopthreadcurlsslcryptojpeggifturbojpegrtdlcapi-location-manager-Wl,-soname,liblightweight-web-engine.so.1websocketspng16zfontconfigfreetypeharfbuzzelementaryecore_evasecore_fileecore_conedjeevasectorluameldbusethumb_clientethumbemotionefreeteioeetemileecoreeflecore_imfecore_inputeoeinapthreadmrtdlcairoecore_imf_evasefleoeinapthreadmrtdltbmcapi-base-commoncapi-network-connectioncapi-media-playercapi-media-tooltbmcapi-media-audio-iocapi-media-sound-managercapi-base-common [ 758s] -- 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 [ 758s] -- LDFLAGS: -Wl,--gc-sections-Wl,-rpath=/usr/local/lib-flto [ 758s] -- 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/freetype2/usr/include/libpng16/usr/include/fribidi/usr/include/harfbuzz/usr/include/ector-1/usr/include/efreet-1/usr/include/eio-1/usr/include/efreet-1/usr/include/ecore-ipc-1/usr/include/ecore-imf-1/usr/include/ecore-input-1/usr/include/eeze-1/usr/include/libmount/usr/include/blkid/usr/include/ecore-file-1/usr/include/ecore-con-1/usr/include/eldbus-1/usr/include/dbus-1.0/usr/lib/dbus-1.0/include/usr/include/eet-1/usr/include/emile-1/usr/include/ecore-1/usr/include/glib-2.0/usr/lib/glib-2.0/include/usr/include/efl-1/usr/include/efl-1/interfaces/usr/include/eo-1/usr/include/eina-1/usr/include/eina-1/eina/usr/include/dlog/usr/include/cairo/usr/include/pixman-1/usr/include/ecore-evas-1/usr/include/ecore-input-evas-1/usr/include/ecore-input-1/usr/include/eeze-1/usr/include/libmount/usr/include/blkid/usr/include/ecore-file-1/usr/include/ecore-con-1/usr/include/eldbus-1/usr/include/dbus-1.0/usr/lib/dbus-1.0/include/usr/include/evas-1/usr/include/evas-1/canvas/usr/include/evas-1/gesture/usr/include/uuid/usr/include/freetype2/usr/include/fribidi/usr/include/harfbuzz/usr/include/ecore-1/usr/include/glib-2.0/usr/lib/glib-2.0/include/usr/include/ector-1/usr/include/eet-1/usr/include/emile-1/usr/include/efl-1/usr/include/efl-1/interfaces/usr/include/eo-1/usr/include/eina-1/usr/include/eina-1/eina/usr/include/dlog/usr/include/libpng16/usr/include/ecore-imf-evas-1/usr/include/ecore-imf-1/usr/include/ecore-input-1/usr/include/eeze-1/usr/include/libmount/usr/include/blkid/usr/include/ecore-file-1/usr/include/ecore-con-1/usr/include/eldbus-1/usr/include/dbus-1.0/usr/lib/dbus-1.0/include/usr/include/evas-1/usr/include/evas-1/canvas/usr/include/evas-1/gesture/usr/include/uuid/usr/include/freetype2/usr/include/libpng16/usr/include/fribidi/usr/include/harfbuzz/usr/include/ecore-1/usr/include/glib-2.0/usr/lib/glib-2.0/include/usr/include/ector-1/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/arm/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/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/arm/release/include [ 758s] -- Configuring done [ 759s] -- Generating done [ 759s] -- Build files have been written to: /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0 [ 759s] + ninja starfish.shared_library [ 760s] [1/874] cd /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0 && echo LIBWEBSOCKETS\ TARGET [ 760s] LIBWEBSOCKETS TARGET [ 760s] [2/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/tts/SpeechSynthesis.cpp.o [ 760s] [3/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BatteryManagerBinding.cpp.o [ 760s] [4/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BufferSourceOrDOMStringBinding.cpp.o [ 762s] [5/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AnimationEventInitBinding.cpp.o [ 762s] [6/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferOptionsBinding.cpp.o [ 762s] [7/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ArrayBufferViewOrArrayBufferBinding.cpp.o [ 762s] [8/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferSourceOptionsBinding.cpp.o [ 762s] [9/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioContextOptionsBinding.cpp.o [ 762s] [10/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BufferSourceOrBlobOrDOMStringBinding.cpp.o [ 762s] [11/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/ThreadPool.cpp.o [ 762s] [12/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BlobOrBufferSourceOrUSVStringOrReadableStreamBinding.cpp.o [ 762s] [13/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BlobCustomBinding.cpp.o [ 762s] [14/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioDestinationNodeBinding.cpp.o [ 762s] [15/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AnimationBinding.cpp.o [ 762s] [16/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSConditionRuleBinding.cpp.o [ 762s] [17/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Thread.cpp.o [ 762s] [18/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BlobBinding.cpp.o [ 762s] [19/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioScheduledSourceNodeBinding.cpp.o [ 763s] [20/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSBinding.cpp.o [ 763s] [21/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasImageSourceOrBlobOrImageDataBinding.cpp.o [ 763s] [22/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BaseAudioContextBinding.cpp.o [ 763s] [23/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSMediaRuleBinding.cpp.o [ 763s] [24/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasRenderingContext2DOrWebGLRenderingContextOrImageBitmapRenderingContextBinding.cpp.o [ 763s] [25/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AnimationEventBinding.cpp.o [ 763s] [26/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasRenderingContext2DBinding.cpp.o [ 763s] [27/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferBinding.cpp.o [ 763s] [28/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferSourceNodeBinding.cpp.o [ 763s] [29/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSNamespaceRuleBinding.cpp.o [ 763s] [30/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/StaticStrings.cpp.o [ 763s] [31/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioNodeBinding.cpp.o [ 763s] [32/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSKeywordValueBinding.cpp.o [ 763s] [33/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSFontFaceRuleBinding.cpp.o [ 763s] [34/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/Starfish.cpp.o [ 763s] [35/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSCounterStyleRuleBinding.cpp.o [ 763s] [36/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSNumericValueBinding.cpp.o [ 763s] [37/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSImportRuleBinding.cpp.o [ 763s] [38/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSKeyframeRuleBinding.cpp.o [ 764s] [39/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSKeyframesRuleBinding.cpp.o [ 764s] [40/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CDATASectionBinding.cpp.o [ 764s] [41/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioContextBinding.cpp.o [ 764s] [42/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSGroupingRuleBinding.cpp.o [ 765s] [43/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTHElementBinding.cpp.o [ 765s] [44/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AttrBinding.cpp.o [ 765s] [45/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSNumericTypeBinding.cpp.o [ 765s] [46/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSSupportsRuleBinding.cpp.o [ 765s] [47/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CloseEventInitBinding.cpp.o [ 765s] [48/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CustomEventInitBinding.cpp.o [ 765s] [49/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleValueBinding.cpp.o [ 765s] [50/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrix2DInitBinding.cpp.o [ 765s] [51/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSRuleBinding.cpp.o [ 765s] [52/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSUnitValueBinding.cpp.o [ 765s] [53/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasGradientBinding.cpp.o [ 765s] [54/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleRuleBinding.cpp.o [ 765s] [55/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CompositionEventInitBinding.cpp.o [ 766s] [56/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CoordinatesBinding.cpp.o [ 766s] [57/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMExceptionBinding.cpp.o [ 766s] [58/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleDeclarationBinding.cpp.o [ 766s] [59/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasPatternBinding.cpp.o [ 766s] [60/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CloseEventBinding.cpp.o [ 766s] [61/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CompositionEventBinding.cpp.o [ 766s] [62/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrixInitBinding.cpp.o [ 766s] [63/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CustomEventBinding.cpp.o [ 766s] [64/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMPointInitBinding.cpp.o [ 766s] [65/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMPointReadOnlyBinding.cpp.o [ 766s] [66/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrixReadOnlyBinding.cpp.o [ 766s] [67/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMPointBinding.cpp.o [ 766s] [68/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CharacterDataCustomBinding.cpp.o [ 767s] [69/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrixBinding.cpp.o [ 767s] [70/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleSheetBinding.cpp.o [ 767s] [71/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSRuleListBinding.cpp.o [ 767s] [72/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHeadingElementBinding.cpp.o [ 767s] [73/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMQuadBinding.cpp.o [ 767s] [74/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrCanvasGradientOrCanvasPatternBinding.cpp.o [ 767s] [75/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMRectListBinding.cpp.o [ 767s] [76/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMImplementationBinding.cpp.o [ 767s] [77/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMRectBinding.cpp.o [ 767s] [78/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CommentBinding.cpp.o [ 768s] [79/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringMapBinding.cpp.o [ 768s] [80/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrRTCOAuthCredentialBinding.cpp.o [ 768s] [81/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringListBinding.cpp.o [ 768s] [82/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrSequenceOfdoubleBinding.cpp.o [ 768s] [83/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CharacterDataBinding.cpp.o [ 768s] [84/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrFunctionBinding.cpp.o [ 768s] [85/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrSequenceOfDOMStringBinding.cpp.o [ 768s] [86/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLCanvasElementBinding.cpp.o [ 768s] [87/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMParserBinding.cpp.o [ 768s] [88/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMRectReadOnlyBinding.cpp.o [ 768s] [89/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ErrorEventInitBinding.cpp.o [ 768s] [90/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventSourceInitBinding.cpp.o [ 768s] [91/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EffectTimingBinding.cpp.o [ 768s] [92/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMTokenListBinding.cpp.o [ 769s] [93/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ErrorEventBinding.cpp.o [ 769s] [94/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventInitBinding.cpp.o [ 769s] [95/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventOrDOMStringBinding.cpp.o [ 770s] [96/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventSourceBinding.cpp.o [ 770s] [97/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventModifierInitBinding.cpp.o [ 770s] [98/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrMediaStreamTrackBinding.cpp.o [ 770s] [99/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FocusEventInitBinding.cpp.o [ 770s] [100/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventBinding.cpp.o [ 770s] [101/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentCustomBinding.cpp.o [ 770s] [102/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventTargetBinding.cpp.o [ 770s] [103/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLImageElementOrSVGImageElementBinding.cpp.o [ 770s] [104/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLImageElementOrSVGImageElementOrHTMLVideoElementOrHTMLCanvasElementOrImageBitmapBinding.cpp.o [ 771s] [105/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GeolocationBinding.cpp.o [ 771s] [106/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentHoldable.cpp.o [ 771s] [107/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GeopositionBinding.cpp.o [ 771s] [108/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FocusEventBinding.cpp.o [ 772s] [109/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentTypeBinding.cpp.o [ 772s] [110/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentFragmentBinding.cpp.o [ 774s] [111/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FormDataBinding.cpp.o [ 774s] [112/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GetRootNodeOptionsBinding.cpp.o [ 774s] [113/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GeolocationCustomBinding.cpp.o [ 774s] [114/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ElementBinding.cpp.o [ 775s] [115/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentBinding.cpp.o [ 775s] [116/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLBRElementBinding.cpp.o [ 776s] [117/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLAnchorElementBinding.cpp.o [ 776s] [118/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLAudioElementBinding.cpp.o [ 776s] [119/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDialogElementBinding.cpp.o [ 776s] [120/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLBaseElementBinding.cpp.o [ 776s] [121/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLElementOrlongBinding.cpp.o [ 776s] [122/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLButtonElementBinding.cpp.o [ 776s] [123/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLBodyElementBinding.cpp.o [ 777s] [124/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLAreaElementBinding.cpp.o [ 777s] [125/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDivElementBinding.cpp.o [ 777s] [126/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDListElementBinding.cpp.o [ 777s] [127/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDocumentBinding.cpp.o [ 777s] [128/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLCollectionBinding.cpp.o [ 778s] [129/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFontElementBinding.cpp.o [ 778s] [130/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFieldSetElementBinding.cpp.o [ 778s] [131/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLElementBinding.cpp.o [ 778s] [132/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFormControlsCollectionBinding.cpp.o [ 779s] [133/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHRElementBinding.cpp.o [ 779s] [134/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLInputElementCustomBinding.cpp.o [ 779s] [135/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFormElementBinding.cpp.o [ 779s] [136/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLIFrameElementBinding.cpp.o [ 779s] [137/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHeadElementBinding.cpp.o [ 779s] [138/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLImageElementBinding.cpp.o [ 780s] [139/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLInputElementBinding.cpp.o [ 780s] [140/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLabelElementBinding.cpp.o [ 780s] [141/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLIElementBinding.cpp.o [ 780s] [142/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHtmlElementBinding.cpp.o [ 780s] [143/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLModElementBinding.cpp.o [ 780s] [144/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLMapElementBinding.cpp.o [ 781s] [145/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLegendElementBinding.cpp.o [ 782s] [146/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLinkElementBinding.cpp.o [ 783s] [147/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLMetaElementBinding.cpp.o [ 783s] [148/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptGroupElementBinding.cpp.o [ 784s] [149/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOListElementBinding.cpp.o [ 784s] [150/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLScriptElementOrSVGScriptElementBinding.cpp.o [ 784s] [151/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyframeAnimationOptionsBinding.cpp.o [ 784s] [152/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageDataBinding.cpp.o [ 784s] [153/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageBitmapRenderingContextBinding.cpp.o [ 784s] [154/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLObjectElementBinding.cpp.o [ 784s] [155/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptionElementOrHTMLOptGroupElementBinding.cpp.o [ 785s] [156/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptionElementBinding.cpp.o [ 785s] [157/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyframeEffectOptionsBinding.cpp.o [ 785s] [158/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLParagraphElementBinding.cpp.o [ 785s] [159/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLPreElementBinding.cpp.o [ 786s] [160/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLParamElementBinding.cpp.o [ 786s] [161/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOutputElementBinding.cpp.o [ 786s] [162/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLQuoteElementBinding.cpp.o [ 786s] [163/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptionsCollectionBinding.cpp.o [ 786s] [164/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLSpanElementBinding.cpp.o [ 786s] [165/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLSelectElementBinding.cpp.o [ 786s] [166/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageBitmapBinding.cpp.o [ 787s] [167/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLSourceElementBinding.cpp.o [ 787s] [168/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTFootElementBinding.cpp.o [ 787s] [169/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTHeadElementBinding.cpp.o [ 787s] [170/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLScriptElementBinding.cpp.o [ 788s] [171/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLStyleElementBinding.cpp.o [ 788s] [172/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableCaptionElementBinding.cpp.o [ 788s] [173/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableCellElementBinding.cpp.o [ 788s] [174/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableColElementBinding.cpp.o [ 789s] [175/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageDataCustomBinding.cpp.o [ 789s] [176/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HeadersBinding.cpp.o [ 789s] [177/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageBitmapOptionsBinding.cpp.o [ 789s] [178/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLUListElementBinding.cpp.o [ 790s] [179/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HistoryBinding.cpp.o [ 790s] [180/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTitleElementBinding.cpp.o [ 790s] [181/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLinkElement.cpp.o [ 790s] [182/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableElementBinding.cpp.o [ 790s] [183/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableSectionElementBinding.cpp.o [ 790s] [184/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyboardEventBinding.cpp.o [ 790s] [185/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/InputEventBinding.cpp.o [ 790s] [186/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableRowElementBinding.cpp.o [ 790s] [187/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NotificationBinding.cpp.o [ 790s] [188/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/Path2DBinding.cpp.o [ 790s] [189/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTrackElementBinding.cpp.o [ 790s] [190/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/Path2DOrDOMStringBinding.cpp.o [ 790s] [191/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NotificationOptionsBinding.cpp.o [ 790s] [192/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyboardEventInitBinding.cpp.o [ 790s] [193/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushManagerBinding.cpp.o [ 790s] [194/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTextAreaElementBinding.cpp.o [ 790s] [195/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushSubscriptionBinding.cpp.o [ 790s] [196/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushSubscriptionOptionsBinding.cpp.o [ 790s] [197/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushSubscriptionOptionsInitBinding.cpp.o [ 790s] [198/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLVideoElementBinding.cpp.o [ 791s] [199/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/InputEventInitBinding.cpp.o [ 791s] [200/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLMediaElementBinding.cpp.o [ 791s] [201/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/LocationBinding.cpp.o [ 791s] [202/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaTrackConstraintSetBinding.cpp.o [ 791s] [203/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLUnknownElementBinding.cpp.o [ 792s] [204/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaQueryListEventInitBinding.cpp.o [ 792s] [205/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaListBinding.cpp.o [ 792s] [206/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaQueryListBinding.cpp.o [ 792s] [207/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaStreamConstraintsBinding.cpp.o [ 792s] [208/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaQueryListEventBinding.cpp.o [ 793s] [209/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaSourceBinding.cpp.o [ 793s] [210/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaTrackConstraintsBinding.cpp.o [ 794s] [211/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessageEventBinding.cpp.o [ 794s] [212/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaElementAudioSourceOptionsBinding.cpp.o [ 794s] [213/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessagePortBinding.cpp.o [ 794s] [214/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MouseEventInitBinding.cpp.o [ 794s] [215/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessageEventInitBinding.cpp.o [ 795s] [216/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaElementAudioSourceNodeBinding.cpp.o [ 795s] [217/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessageChannelBinding.cpp.o [ 795s] [218/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ProgressEventInitBinding.cpp.o [ 795s] [219/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NavigatorBinding.cpp.o [ 796s] [220/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MouseEventBinding.cpp.o [ 796s] [221/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PositionErrorBinding.cpp.o [ 796s] [222/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ProgressEventBinding.cpp.o [ 797s] [223/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCErrorInitBinding.cpp.o [ 797s] [224/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelEventInitBinding.cpp.o [ 797s] [225/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaStreamTrackBinding.cpp.o [ 797s] [226/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeOrDOMStringBinding.cpp.o [ 798s] [227/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCSessionDescriptionBinding.cpp.o [ 798s] [228/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeFilterBinding.cpp.o [ 798s] [229/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCErrorBinding.cpp.o [ 798s] [230/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NamedNodeMapBinding.cpp.o [ 799s] [231/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeListBinding.cpp.o [ 799s] [232/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaDevicesBinding.cpp.o [ 799s] [233/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeIteratorBinding.cpp.o [ 799s] [234/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ProcessingInstructionBinding.cpp.o [ 800s] [235/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaStreamBinding.cpp.o [ 800s] [236/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeBinding.cpp.o [ 800s] [237/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceErrorEventInitBinding.cpp.o [ 800s] [238/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCOAuthCredentialBinding.cpp.o [ 801s] [239/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceErrorEventBinding.cpp.o [ 802s] [240/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCConfigurationBinding.cpp.o [ 803s] [241/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCCertificateBinding.cpp.o [ 804s] [242/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelBinding.cpp.o [ 804s] [243/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCAnswerOptionsBinding.cpp.o [ 804s] [244/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDtlsTransportBinding.cpp.o [ 804s] [245/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelEventBinding.cpp.o [ 804s] [246/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RegistrationOptionsBinding.cpp.o [ 804s] [247/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCSessionDescriptionInitBinding.cpp.o [ 804s] [248/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelInitBinding.cpp.o [ 805s] [249/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceCandidatePairBinding.cpp.o [ 805s] [250/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ReadableStreamDefaultReaderBinding.cpp.o [ 805s] [251/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceCandidateBinding.cpp.o [ 805s] [252/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RequestInitBinding.cpp.o [ 805s] [253/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceCandidateInitBinding.cpp.o [ 806s] [254/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceTransportBinding.cpp.o [ 806s] [255/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceServerBinding.cpp.o [ 806s] [256/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ReadableStreamBinding.cpp.o [ 806s] [257/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ReadableStreamDefaultControllerBinding.cpp.o [ 806s] [258/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RequestBinding.cpp.o [ 806s] [259/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCOfferAnswerOptionsBinding.cpp.o [ 806s] [260/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCOfferOptionsBinding.cpp.o [ 807s] [261/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RequestOrUSVStringBinding.cpp.o [ 807s] [262/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGImageElement.cpp.o [ 807s] [263/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionBinding.cpp.o [ 808s] [264/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGElement.cpp.o [ 808s] [265/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpParametersBinding.cpp.o [ 808s] [266/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ResponseInitBinding.cpp.o [ 808s] [267/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceEventInitBinding.cpp.o [ 808s] [268/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpSendParametersBinding.cpp.o [ 808s] [269/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingWorkerInstance.cpp.o [ 808s] [270/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerBinding.cpp.o [ 808s] [271/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerContainerBinding.cpp.o [ 809s] [272/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpTransceiverBinding.cpp.o [ 809s] [273/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGAnimatedLengthBinding.cpp.o [ 809s] [274/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RangeBinding.cpp.o [ 809s] [275/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpReceiverBinding.cpp.o [ 810s] [276/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceEventBinding.cpp.o [ 810s] [277/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerRegistrationBinding.cpp.o [ 810s] [278/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerGlobalScopeBinding.cpp.o [ 810s] [279/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpTransceiverInitBinding.cpp.o [ 810s] [280/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisBinding.cpp.o [ 810s] [281/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ResponseBinding.cpp.o [ 811s] [282/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisEventInitBinding.cpp.o [ 811s] [283/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisEventBinding.cpp.o [ 811s] [284/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisUtteranceBinding.cpp.o [ 811s] [285/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisVoiceBinding.cpp.o [ 811s] [286/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGLengthBinding.cpp.o [ 811s] [287/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpSenderBinding.cpp.o [ 811s] [288/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCSctpTransportBinding.cpp.o [ 811s] [289/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCTrackEventInitBinding.cpp.o [ 812s] [290/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCTrackEventBinding.cpp.o [ 813s] [291/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGCircleElementBinding.cpp.o [ 813s] [292/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextMetricsBinding.cpp.o [ 813s] [293/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGElementBinding.cpp.o [ 813s] [294/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SecurityPolicyViolationEventInitBinding.cpp.o [ 813s] [295/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGClipPathElementBinding.cpp.o [ 813s] [296/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScreenBinding.cpp.o [ 814s] [297/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGDefsElementBinding.cpp.o [ 814s] [298/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGEllipseElementBinding.cpp.o [ 814s] [299/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGGElementBinding.cpp.o [ 814s] [300/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScrollOptionsBinding.cpp.o [ 814s] [301/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScrollToOptionsBinding.cpp.o [ 814s] [302/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGDocumentBinding.cpp.o [ 815s] [303/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGLineElementBinding.cpp.o [ 815s] [304/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGPathElementBinding.cpp.o [ 815s] [305/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGImageElementBinding.cpp.o [ 815s] [306/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGRectElementBinding.cpp.o [ 815s] [307/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGPolygonElementBinding.cpp.o [ 815s] [308/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGPolylineElementBinding.cpp.o [ 815s] [309/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WebGLRenderingContextBinding.cpp.o [ 815s] [310/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptEngineInstance.cpp.o [ 816s] [311/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SecurityPolicyViolationEventBinding.cpp.o [ 816s] [312/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SourceBufferListBinding.cpp.o [ 816s] [313/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingWindowInstance.cpp.o [ 816s] [314/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGStyleElementBinding.cpp.o [ 816s] [315/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGSVGElementBinding.cpp.o [ 816s] [316/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGUseElementBinding.cpp.o [ 816s] [317/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGScriptElementBinding.cpp.o [ 816s] [318/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerGlobalScopeBinding.cpp.o [ 816s] [319/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerGlobalScopeCustomBinding.cpp.o [ 817s] [320/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerLocationBinding.cpp.o [ 817s] [321/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/StorageNamespaceImpl.cpp.o [ 817s] [322/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerNavigatorBinding.cpp.o [ 817s] [323/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGTextElementBinding.cpp.o [ 817s] [324/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SourceBufferBinding.cpp.o [ 817s] [325/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/StyleSheetListBinding.cpp.o [ 818s] [326/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackBinding.cpp.o [ 818s] [327/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/StorageBinding.cpp.o [ 818s] [328/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/testRunnerBinding.cpp.o [ 818s] [329/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingSecurity.cpp.o [ 819s] [330/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackCueListBinding.cpp.o [ 819s] [331/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackCueBinding.cpp.o [ 819s] [332/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchInitBinding.cpp.o [ 820s] [333/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptWrappable.cpp.o [ 820s] [334/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchBinding.cpp.o [ 820s] [335/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TimeRangesBinding.cpp.o [ 820s] [336/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackListBinding.cpp.o [ 820s] [337/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchEventBinding.cpp.o [ 820s] [338/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TransitionEventInitBinding.cpp.o [ 820s] [339/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchListBinding.cpp.o [ 820s] [340/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/UIEventInitBinding.cpp.o [ 821s] [341/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/StyleSheetBinding.cpp.o [ 821s] [342/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TransitionEventBinding.cpp.o [ 821s] [343/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/URLSearchParamsCustomBinding.cpp.o [ 821s] [344/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextBinding.cpp.o [ 821s] [345/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/URLBinding.cpp.o [ 822s] [346/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowOrServiceWorkerBinding.cpp.o [ 822s] [347/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ShadowRootBinding.cpp.o [ 822s] [348/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/UIEventBinding.cpp.o [ 822s] [349/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/URLSearchParamsBinding.cpp.o [ 822s] [350/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WebSocketBinding.cpp.o [ 823s] [351/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/doubleOrAutoKeywordBinding.cpp.o [ 823s] [352/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLHttpRequestUploadBinding.cpp.o [ 823s] [353/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WebViewHoldable.cpp.o [ 823s] [354/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/doubleOrCSSNumericValueBinding.cpp.o [ 823s] [355/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TreeWalkerBinding.cpp.o [ 824s] [356/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingInstance.cpp.o [ 824s] [357/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLHttpRequestEventTargetBinding.cpp.o [ 824s] [358/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/StorageImpl.cpp.o [ 825s] [359/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/CubicBezier.cpp.o [ 825s] [360/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/TimingFunction.cpp.o [ 825s] [361/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/WebStorageNamespaceProvider.cpp.o [ 825s] [362/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/StorageManager.cpp.o [ 825s] [363/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowHoldable.cpp.o [ 825s] [364/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/VTTCueBinding.cpp.o [ 825s] [365/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/Animation.cpp.o [ 826s] [366/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicySourceListDirective.cpp.o [ 826s] [367/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicyDirectiveList.cpp.o [ 826s] [368/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Attribute.cpp.o [ 826s] [369/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMException.cpp.o [ 826s] [370/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/AnimationEvent.cpp.o [ 826s] [371/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicy.cpp.o [ 827s] [372/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLDocumentBinding.cpp.o [ 827s] [373/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowProxy.cpp.o [ 827s] [374/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLHttpRequestBinding.cpp.o [ 827s] [375/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CloseEvent.cpp.o [ 828s] [376/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CSS.cpp.o [ 828s] [377/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrixInit.cpp.o [ 828s] [378/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowBinding.cpp.o [ 829s] [379/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMPointReadOnly.cpp.o [ 829s] [380/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMQuad.cpp.o [ 829s] [381/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRectList.cpp.o [ 829s] [382/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMPoint.cpp.o [ 829s] [383/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Attr.cpp.o [ 830s] [384/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/history/HistoryManager.cpp.o [ 830s] [385/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowCustomBinding.cpp.o [ 830s] [386/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRectReadOnly.cpp.o [ 830s] [387/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRect.cpp.o [ 830s] [388/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/TimingOptions.cpp.o [ 830s] [389/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Comment.cpp.o [ 830s] [390/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrix.cpp.o [ 830s] [391/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CDATASection.cpp.o [ 831s] [392/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Event.cpp.o [ 832s] [393/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMImplementation.cpp.o [ 832s] [394/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrixReadOnly.cpp.o [ 833s] [395/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ExecutionContext.cpp.o [ 834s] [396/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMStringList.cpp.o [ 834s] [397/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMTokenList.cpp.o [ 834s] [398/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CharacterData.cpp.o [ 834s] [399/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMStringMap.cpp.o [ 834s] [400/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/AnimationUtil.cpp.o [ 834s] [401/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMParser.cpp.o [ 835s] [402/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DocumentFragment.cpp.o [ 835s] [403/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLBaseElement.cpp.o [ 835s] [404/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLAreaElement.cpp.o [ 836s] [405/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLButtonElement.cpp.o [ 836s] [406/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFieldSetElement.cpp.o [ 837s] [407/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFontElement.cpp.o [ 837s] [408/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/EventTarget.cpp.o [ 837s] [409/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDivElement.cpp.o [ 837s] [410/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDialogElement.cpp.o [ 838s] [411/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLCollection.cpp.o [ 838s] [412/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLBodyElement.cpp.o [ 838s] [413/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFormControlsCollection.cpp.o [ 838s] [414/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLAnchorElement.cpp.o [ 839s] [415/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHeadingElement.cpp.o [ 839s] [416/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/AnimationTask.cpp.o [ 839s] [417/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHtmlElement.cpp.o [ 839s] [418/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHyperlinkContainer.cpp.o [ 839s] [419/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLabelElement.cpp.o [ 839s] [420/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLListContainer.cpp.o [ 840s] [421/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDocument.cpp.o [ 840s] [422/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLIElement.cpp.o [ 840s] [423/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLegendElement.cpp.o [ 841s] [424/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLIFrameElement.cpp.o [ 842s] [425/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMetaElement.cpp.o [ 842s] [426/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMapElement.cpp.o [ 842s] [427/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFormElement.cpp.o [ 843s] [428/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOutputElement.cpp.o [ 843s] [429/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLObjectElement.cpp.o [ 843s] [430/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLModElement.cpp.o [ 843s] [431/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLImageElement.cpp.o [ 843s] [432/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOListElement.cpp.o [ 843s] [433/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptionsCollection.cpp.o [ 844s] [434/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableColGroupElement.cpp.o [ 844s] [435/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptGroupElement.cpp.o [ 844s] [436/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLParamElement.cpp.o [ 844s] [437/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLInputElement.cpp.o [ 844s] [438/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptionElement.cpp.o [ 844s] [439/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Element.cpp.o [ 845s] [440/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLElement.cpp.o [ 845s] [441/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeListImpl.cpp.o [ 845s] [442/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ImageBitmapOptions.cpp.o [ 846s] [443/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ProcessingInstruction.cpp.o [ 846s] [444/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLQuoteElement.cpp.o [ 846s] [445/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLSourceElement.cpp.o [ 846s] [446/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Document.cpp.o [ 847s] [447/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableCaptionElement.cpp.o [ 847s] [448/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableColElement.cpp.o [ 848s] [449/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableCellElement.cpp.o [ 848s] [450/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableSectionElement.cpp.o [ 848s] [451/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTitleElement.cpp.o [ 848s] [452/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/KeyboardEvent.cpp.o [ 848s] [453/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTextAreaElement.cpp.o [ 848s] [454/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/MessageChannel.cpp.o [ 849s] [455/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext2D.cpp.o [ 849s] [456/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLSelectElement.cpp.o [ 849s] [457/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasPath.cpp.o [ 849s] [458/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTablePartElement.cpp.o [ 849s] [459/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/HTMLCanvasElement.cpp.o [ 849s] [460/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableRowElement.cpp.o [ 849s] [461/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext.cpp.o [ 849s] [462/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageData.cpp.o [ 849s] [463/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext2DMixIn.cpp.o [ 849s] [464/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/TextMetrics.cpp.o [ 849s] [465/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/Path2D.cpp.o [ 849s] [466/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageBitmapRenderingContext.cpp.o [ 849s] [467/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/WebGLRenderingContext.cpp.o [ 849s] [468/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ImageBitmap.cpp.o [ 850s] [469/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableElement.cpp.o [ 850s] [470/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLScriptElement.cpp.o [ 850s] [471/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTrackElement.cpp.o [ 850s] [472/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLUnknownElement.cpp.o [ 850s] [473/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLVideoElement.cpp.o [ 851s] [474/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasGradient.cpp.o [ 851s] [475/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLUListElement.cpp.o [ 851s] [476/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/MessagePort.cpp.o [ 851s] [477/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLStyleElement.cpp.o [ 852s] [478/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTextEditable.cpp.o [ 852s] [479/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/UIEvent.cpp.o [ 852s] [480/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackCueList.cpp.o [ 852s] [481/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeIterator.cpp.o [ 852s] [482/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeList.cpp.o [ 852s] [483/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/WebOrigin.cpp.o [ 853s] [484/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NamedNodeMap.cpp.o [ 853s] [485/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasImageSource.cpp.o [ 853s] [486/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/SelectorQuery.cpp.o [ 853s] [487/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TransitionEvent.cpp.o [ 853s] [488/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Range.cpp.o [ 854s] [489/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Text.cpp.o [ 854s] [490/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageSmoothingQuality.cpp.o [ 854s] [491/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntitySearch.cpp.o [ 854s] [492/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackList.cpp.o [ 855s] [493/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Touch.cpp.o [ 855s] [494/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMediaElement.cpp.o [ 855s] [495/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasPattern.cpp.o [ 855s] [496/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrack.cpp.o [ 855s] [497/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TouchList.cpp.o [ 855s] [498/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackCue.cpp.o [ 856s] [499/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLElementLookupTrie.cpp.o [ 856s] [500/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntityParser.cpp.o [ 856s] [501/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLParserIdioms.cpp.o [ 856s] [502/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Avplay.cpp.o [ 856s] [503/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TouchEvent.cpp.o [ 857s] [504/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/PseudoElement.cpp.o [ 857s] [505/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntityTable.cpp.o [ 858s] [506/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TreeWalker.cpp.o [ 858s] [507/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Node.cpp.o [ 859s] [508/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLElementStack.cpp.o [ 859s] [509/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLFormattingElementList.cpp.o [ 859s] [510/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLConstructionSite.cpp.o [ 860s] [511/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/PreloadScanner.cpp.o [ 860s] [512/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Scrolling.cpp.o [ 860s] [513/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLStackItem.cpp.o [ 860s] [514/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLTokenizer.cpp.o [ 860s] [515/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLParser.cpp.o [ 860s] [516/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/inspector/Inspector.cpp.o [ 860s] [517/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedLength.cpp.o [ 861s] [518/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/builder/html/HTMLDocumentBuilder.cpp.o [ 861s] [519/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGCircleElement.cpp.o [ 861s] [520/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGDocument.cpp.o [ 861s] [521/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/MimeType.cpp.o [ 861s] [522/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Console.cpp.o [ 861s] [523/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/TimeRanges.cpp.o [ 861s] [524/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGEllipseElement.cpp.o [ 861s] [525/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLTreeBuilder.cpp.o [ 862s] [526/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPathElement.cpp.o [ 862s] [527/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLineElement.cpp.o [ 862s] [528/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Request.cpp.o [ 862s] [529/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Body.cpp.o [ 862s] [530/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/RequestData.cpp.o [ 862s] [531/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGRectElement.cpp.o [ 862s] [532/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPolygonElement.cpp.o [ 862s] [533/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/ResponseData.cpp.o [ 862s] [534/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/FetchUtils.cpp.o [ 863s] [535/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Response.cpp.o [ 863s] [536/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Fetch.cpp.o [ 863s] [537/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedCanvas.cpp.o [ 863s] [538/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/HeadersData.cpp.o [ 863s] [539/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGSVGElement.cpp.o [ 863s] [540/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStream.cpp.o [ 863s] [541/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGClipPathElement.cpp.o [ 863s] [542/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPolylineElement.cpp.o [ 863s] [543/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamBuffer.cpp.o [ 863s] [544/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLength.cpp.o [ 863s] [545/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTextElement.cpp.o [ 863s] [546/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGStyleElement.cpp.o [ 864s] [547/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamDefaultReader.cpp.o [ 864s] [548/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamDefaultController.cpp.o [ 864s] [549/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/xml/XMLSerializer.cpp.o [ 864s] [550/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Headers.cpp.o [ 864s] [551/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fileapi/Blob.cpp.o [ 864s] [552/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableObjectBox.cpp.o [ 864s] [553/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableRowBox.cpp.o [ 864s] [554/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGUseElement.cpp.o [ 865s] [555/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGScriptElement.cpp.o [ 867s] [556/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameInline.cpp.o [ 868s] [557/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameCounterText.cpp.o [ 868s] [558/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedObject.cpp.o [ 869s] [559/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameButtonBox.cpp.o [ 869s] [560/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameOptionBox.cpp.o [ 869s] [561/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedIFrame.cpp.o [ 869s] [562/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameOptGroupBox.cpp.o [ 869s] [563/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBoxBlockLayout.cpp.o [ 869s] [564/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameQuoteText.cpp.o [ 869s] [565/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameDocument.cpp.o [ 869s] [566/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/battery/Battery.cpp.o [ 870s] [567/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedImage.cpp.o [ 870s] [568/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableCellBox.cpp.o [ 870s] [569/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBox.cpp.o [ 870s] [570/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedVideo.cpp.o [ 870s] [571/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplaced.cpp.o [ 870s] [572/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableSectionBox.cpp.o [ 870s] [573/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableCaptionBox.cpp.o [ 870s] [574/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameSelectBox.cpp.o [ 870s] [575/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastConfig.cpp.o [ 870s] [576/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastApplication.cpp.o [ 870s] [577/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameInputBox.cpp.o [ 870s] [578/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/SSDPRunnable.cpp.o [ 870s] [579/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableColBox.cpp.o [ 870s] [580/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastServer.cpp.o [ 871s] [581/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGEllipseBox.cpp.o [ 871s] [582/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/DIALRunnable.cpp.o [ 871s] [583/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/LayoutRepaintTracker.cpp.o [ 871s] [584/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameFlexibleBox.cpp.o [ 871s] [585/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPathBox.cpp.o [ 871s] [586/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGClipPathBox.cpp.o [ 871s] [587/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableBox.cpp.o [ 871s] [588/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGCircleBox.cpp.o [ 871s] [589/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGInvisibleBox.cpp.o [ 871s] [590/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/Frame.cpp.o [ 871s] [591/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGBox.cpp.o [ 872s] [592/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPolygonBox.cpp.o [ 872s] [593/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameGridBox.cpp.o [ 872s] [594/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/RepaintRegionTracker.cpp.o [ 872s] [595/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/PositionError.cpp.o [ 872s] [596/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/CanvasFillStrokeSource.cpp.o [ 872s] [597/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGLineBox.cpp.o [ 872s] [598/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBox.cpp.o [ 873s] [599/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/ShadowBlur.cpp.o [ 873s] [600/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/BaseRunnable.cpp.o [ 873s] [601/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTreeBuilder.cpp.o [ 873s] [602/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/Compositor.cpp.o [ 873s] [603/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/image/ImageDecoder.cpp.o [ 873s] [604/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/image/BufferedNativeImageData.cpp.o [ 873s] [605/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCTrackEvent.cpp.o [ 874s] [606/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/TextDecorationData.cpp.o [ 874s] [607/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/Canvas.cpp.o [ 874s] [608/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGRectBox.cpp.o [ 874s] [609/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/StackingContext.cpp.o [ 874s] [610/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGUseBox.cpp.o [ 875s] [611/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/SocketNN.cpp.o [ 875s] [612/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGSVGBox.cpp.o [ 875s] [613/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPolylineBox.cpp.o [ 875s] [614/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Geoposition.cpp.o [ 875s] [615/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBoxInlineLayout.cpp.o [ 875s] [616/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Coordinates.cpp.o [ 875s] [617/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCError.cpp.o [ 875s] [618/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnectionIceErrorEvent.cpp.o [ 875s] [619/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/SourceBufferList.cpp.o [ 876s] [620/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/MediaSource.cpp.o [ 876s] [621/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGTextBox.cpp.o [ 876s] [622/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/Connection.cpp.o [ 876s] [623/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnectionIceEvent.cpp.o [ 876s] [624/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/JobQueue.cpp.o [ 876s] [625/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/font/Font.cpp.o [ 876s] [626/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/IORunnable.cpp.o [ 876s] [627/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Geolocation.cpp.o [ 876s] [628/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/Message.cpp.o [ 876s] [629/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/client/ServiceWorkerClientConnection.cpp.o [ 876s] [630/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerAgent.cpp.o [ 876s] [631/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameTreeBuilderSVG.cpp.o [ 876s] [632/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorker.cpp.o [ 876s] [633/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerContainer.cpp.o [ 876s] [634/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRegistration.cpp.o [ 876s] [635/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCStatsReport.cpp.o [ 876s] [636/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushServiceAgent.cpp.o [ 877s] [637/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushSubscription.cpp.o [ 877s] [638/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushSubscriptionOptions.cpp.o [ 877s] [639/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/message_loop/MessageLoop.cpp.o [ 877s] [640/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRequest.cpp.o [ 877s] [641/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/GeolocationTizen.cpp.o [ 877s] [642/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/message_loop/Timer.cpp.o [ 877s] [643/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerGlobalScope.cpp.o [ 877s] [644/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerExecutor.cpp.o [ 877s] [645/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerHostJobHandler.cpp.o [ 877s] [646/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/Notification.cpp.o [ 877s] [647/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/LWSRunnable.cpp.o [ 877s] [648/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerServer.cpp.o [ 877s] [649/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/NotificationJob.cpp.o [ 877s] [650/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushManager.cpp.o [ 877s] [651/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/NotificationService.cpp.o [ 878s] [652/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCConfiguration.cpp.o [ 878s] [653/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/RegistrationOptions.cpp.o [ 878s] [654/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/profiling/Profiling.cpp.o [ 878s] [655/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDataChannelEvent.cpp.o [ 878s] [656/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCCertificate.cpp.o [ 878s] [657/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/tts/TextAlternativeHelper.cpp.o [ 878s] [658/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ErrorData.cpp.o [ 878s] [659/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDtlsTransport.cpp.o [ 878s] [660/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceServer.cpp.o [ 878s] [661/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/SourceBuffer.cpp.o [ 878s] [662/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceTransport.cpp.o [ 878s] [663/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/MessageServiceWorker.cpp.o [ 878s] [664/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerData.cpp.o [ 879s] [665/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WebWorker.cpp.o [ 879s] [666/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/WebSocket.cpp.o [ 879s] [667/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerLocation.cpp.o [ 879s] [668/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerGlobalScope.cpp.o [ 879s] [669/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerNavigator.cpp.o [ 879s] [670/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerScriptController.cpp.o [ 879s] [671/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerJob.cpp.o [ 879s] [672/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerJobData.cpp.o [ 879s] [673/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceCandidate.cpp.o [ 879s] [674/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/ResourceRequestJob.cpp.o [ 879s] [675/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/ResourceRequest.cpp.o [ 879s] [676/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRegistrationData.cpp.o [ 880s] [677/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/client/ServiceWorkerProcessManager.cpp.o [ 880s] [678/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerHostConnection.cpp.o [ 880s] [679/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCSessionDescription.cpp.o [ 880s] [680/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/AdaptedThread.cpp.o [ 880s] [681/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Mutex.cpp.o [ 880s] [682/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/NetworkURLResourceRequestJobDelegate.cpp.o [ 880s] [683/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Semaphore.cpp.o [ 880s] [684/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCSctpTransport.cpp.o [ 880s] [685/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/profiling/LayoutFlowLoggerBuilder.cpp.o [ 880s] [686/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaDevices.cpp.o [ 880s] [687/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioScheduledSourceNode.cpp.o [ 881s] [688/874] Generating third_party/webrtc/src/out/tizen/arm/release/libwebrtc.so [ 881s] BUILD WEBRTC [ 881s] WARNING at the command-line "--args":1:315: Build argument has no effect. [ 881s] target_cpu="arm" rtc_ssl_root="/usr/include/openssl" 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 [ 881s] ^---- [ 881s] The variable "build_with_chromium" was set as a build argument [ 881s] but never appeared in a declare_args() block in any buildfile. [ 881s] [ 881s] To view all possible args, run "gn args --list " [ 881s] [ 881s] The build continued as if that argument was unspecified. [ 881s] [ 881s] Done. Made 598 targets from 153 files in 7518ms [ 881s] ninja: Entering directory `out/tizen/arm/release' [ 881s] [1/1909] STAMP obj/poison_audio_codecs.stamp [ 881s] [2/1909] STAMP obj/poison_software_video_codecs.stamp [ 881s] [3/1909] STAMP obj/api/video/video_codec_constants.stamp [ 881s] [4/1909] CXX obj/api/video/video_frame/video_content_type.o [ 881s] [5/1909] CXX obj/api/video/video_frame/hdr_metadata.o [ 881s] [6/1909] CC obj/modules/audio_coding/ilbc_c/abs_quant_loop.o [ 881s] [7/1909] CC obj/modules/audio_coding/ilbc_c/cb_construct.o [ 881s] [8/1909] CC obj/modules/audio_coding/ilbc_c/cb_mem_energy_augmentation.o [ 881s] [9/1909] CC obj/modules/audio_coding/ilbc_c/bw_expand.o [ 881s] [10/1909] CC obj/modules/audio_coding/ilbc_c/augmented_cb_corr.o [ 881s] [11/1909] CXX obj/api/transport/field_trial_based_config/field_trial_based_config.o [ 881s] [12/1909] CXX obj/modules/video_processing/video_processing/noise_estimation.o [ 881s] [13/1909] CXX obj/api/transport/bitrate_settings/bitrate_settings.o [ 881s] [14/1909] CXX obj/api/video/video_frame/color_space.o [ 881s] [15/1909] CXX obj/api/video/video_frame/video_frame_buffer.o [ 881s] [16/1909] CXX obj/api/video/video_frame/video_source_interface.o [ 881s] [17/1909] CXX obj/modules/audio_coding/audio_coding/call_statistics.o [ 881s] [18/1909] CC obj/base/third_party/libevent/libevent/poll.o [ 881s] [19/1909] CXX obj/api/video/builtin_video_bitrate_allocator_factory/builtin_video_bitrate_allocator_factory.o [ 881s] [20/1909] CC obj/base/third_party/libevent/libevent/log.o [ 881s] [21/1909] CXX obj/api/transport/media/audio_interfaces/audio_transport.o [ 881s] [22/1909] CC obj/base/third_party/libevent/libevent/select.o [ 881s] [23/1909] CXX obj/api/units/data_rate/data_rate.o [ 881s] [24/1909] STAMP obj/api/call_api.stamp [ 881s] [25/1909] CXX obj/api/units/time_delta/time_delta.o [ 881s] [26/1909] CXX obj/api/transport/media/video_interfaces/video_transport.o [ 881s] [27/1909] CXX obj/api/units/data_size/data_size.o [ 881s] [28/1909] CXX obj/api/units/timestamp/timestamp.o [ 881s] [29/1909] CXX obj/modules/audio_coding/audio_coding/acm_resampler.o [ 881s] [30/1909] CC obj/base/third_party/libevent/libevent/epoll.o [ 881s] [31/1909] CXX obj/api/video/video_frame/video_timing.o [ 881s] [32/1909] CXX obj/modules/audio_coding/audio_network_adaptor/event_log_writer.o [ 881s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 881s] from ../../../../modules/audio_coding/audio_network_adaptor/event_log_writer.cc:20: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] [33/1909] CXX obj/api/video/video_frame/video_frame.o [ 881s] [34/1909] CXX obj/modules/audio_coding/audio_network_adaptor/fec_controller_rplr_based.o [ 881s] [35/1909] CXX obj/api/video/video_stream_encoder/video_stream_encoder_observer.o [ 881s] [36/1909] CXX obj/modules/audio_coding/neteq/audio_multi_vector.o [ 881s] [37/1909] CXX obj/media/rtc_h264_profile_id/h264_profile_level_id.o [ 881s] [38/1909] CXX obj/api/video/video_bitrate_allocation/video_bitrate_allocation.o [ 881s] [39/1909] CXX obj/modules/audio_coding/neteq/audio_vector.o [ 881s] [40/1909] CXX obj/api/video_codecs/video_codecs_api/video_decoder_factory.o [ 881s] [41/1909] CXX obj/modules/audio_coding/ilbc/audio_decoder_ilbc.o [ 881s] [42/1909] CXX obj/modules/audio_coding/g711/audio_encoder_pcm.o [ 881s] [43/1909] CXX obj/api/video/video_frame_i010/i010_buffer.o [ 881s] [44/1909] CXX obj/modules/audio_coding/audio_network_adaptor/fec_controller_plr_based.o [ 881s] [45/1909] CXX obj/modules/congestion_controller/goog_cc/estimators/trendline_estimator.o [ 881s] [46/1909] CXX obj/api/transport/network_control/network_types.o [ 881s] [47/1909] CXX obj/modules/audio_coding/legacy_encoded_audio_frame/legacy_encoded_audio_frame.o [ 881s] [48/1909] CXX obj/api/transport_api/transport.o [ 881s] [49/1909] CC obj/base/third_party/libevent/libevent/evbuffer.o [ 881s] [50/1909] STAMP obj/api/transport_api.stamp [ 881s] [51/1909] CXX obj/api/video/encoded_frame/encoded_frame.o [ 881s] In file included from ../../../../api/video/encoded_frame.h:14, [ 881s] from ../../../../api/video/encoded_frame.cc:11: [ 881s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 881s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 881s] 108 | _codecSpecificInfo = *codec_specific; [ 881s] | ^~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 881s] from ../../../../api/video/encoded_frame.h:14, [ 881s] from ../../../../api/video/encoded_frame.cc:11: [ 881s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 881s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 881s] | ^~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../api/video/encoded_image.h:17, [ 881s] from ../../../../modules/video_coding/encoded_frame.h:16, [ 881s] from ../../../../api/video/encoded_frame.h:14, [ 881s] from ../../../../api/video/encoded_frame.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 881s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 881s] from ../../../../api/video/encoded_frame.h:14, [ 881s] from ../../../../api/video/encoded_frame.cc:11: [ 881s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 881s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] [52/1909] STAMP obj/api/video/video_frame_type.stamp [ 881s] [53/1909] CXX obj/api/video/encoded_image/encoded_image.o [ 881s] [54/1909] CXX obj/modules/audio_coding/audio_encoder_cng/audio_encoder_cng.o [ 881s] [55/1909] CC obj/base/third_party/libevent/libevent/event.o [ 881s] [56/1909] CXX obj/logging/rtc_event_audio/rtc_event_audio_network_adaptation.o [ 881s] [57/1909] CXX obj/api/video_codecs/video_codecs_api/vp8_frame_config.o [ 881s] [58/1909] CXX obj/api/video_codecs/video_codecs_api/video_codec.o [ 881s] [59/1909] STAMP obj/api/libjingle_logging_api.stamp [ 881s] [60/1909] CXX obj/modules/audio_coding/audio_network_adaptor_config/audio_network_adaptor_config.o [ 881s] [61/1909] STAMP obj/api/callfactory_api.stamp [ 881s] [62/1909] CXX obj/api/transport/goog_cc/goog_cc_factory.o [ 881s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 881s] from ../../../../modules/congestion_controller/goog_cc/goog_cc_network_control.h:28, [ 881s] from ../../../../api/transport/goog_cc_factory.cc:16: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] [63/1909] CXX obj/api/audio_options_api/audio_options.o [ 881s] [64/1909] CXX obj/api/libjingle_peerconnection_api/media_transport_config.o [ 881s] [65/1909] CXX obj/api/video_codecs/video_codecs_api/video_decoder.o [ 881s] [66/1909] CXX obj/modules/congestion_controller/transport_feedback/transport_feedback_adapter.o [ 881s] [67/1909] CXX obj/api/rtc_event_log_output_file/rtc_event_log_output_file.o [ 881s] In file included from ../../../../api/rtc_event_log_output_file.cc:14: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] [68/1909] CXX obj/api/audio/audio_frame_api/audio_frame.o [ 881s] [69/1909] CC obj/base/third_party/libevent/libevent/evdns.o [ 881s] [70/1909] CXX obj/stats/rtc_stats/rtc_stats_report.o [ 881s] [71/1909] CXX obj/api/libjingle_peerconnection_api/media_stream_interface.o [ 881s] [72/1909] CXX obj/api/audio_codecs/g711/audio_encoder_g711/audio_encoder_g711.o [ 881s] [73/1909] STAMP obj/api/network_state_predictor_api.stamp [ 881s] [74/1909] CXX obj/api/video_codecs/video_codecs_api/video_encoder_config.o [ 881s] [75/1909] CXX obj/api/libjingle_peerconnection_api/media_types.o [ 881s] [76/1909] CXX obj/api/video/video_frame_i420/i420_buffer.o [ 881s] [77/1909] STAMP obj/api/scoped_refptr.stamp [ 881s] [78/1909] CXX obj/api/audio/aec3_config/echo_canceller3_config.o [ 881s] [79/1909] CXX obj/api/audio_codecs/L16/audio_decoder_L16/audio_decoder_L16.o [ 881s] [80/1909] CXX obj/api/audio_codecs/audio_codecs_api/audio_codec_pair_id.o [ 881s] [81/1909] STAMP obj/api/audio_codecs/opus/audio_decoder_opus_config.stamp [ 881s] [82/1909] CXX obj/modules/module_api/module_common_types.o [ 881s] [83/1909] CXX obj/api/audio_codecs/g722/audio_encoder_g722/audio_encoder_g722.o [ 881s] [84/1909] CXX obj/api/libjingle_peerconnection_api/proxy.o [ 881s] [85/1909] CXX obj/api/libjingle_peerconnection_api/rtc_error.o [ 881s] [86/1909] CXX obj/modules/audio_processing/aec_dump/null_aec_dump_factory/null_aec_dump_factory.o [ 881s] [87/1909] CXX obj/api/rtp_headers/rtp_headers.o [ 881s] [88/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp/fec_private_tables_bursty.o [ 881s] [89/1909] STAMP obj/api/transport/enums.stamp [ 881s] [90/1909] CXX obj/modules/video_coding/video_coding_utility/quality_scaler.o [ 881s] [91/1909] CXX obj/api/audio/aec3_factory/echo_canceller3_factory.o [ 881s] [92/1909] CXX obj/api/libjingle_peerconnection_api/media_transport_interface.o [ 881s] [93/1909] CXX obj/call/call_interfaces/audio_receive_stream.o [ 881s] [94/1909] CXX obj/api/audio_codecs/audio_codecs_api/audio_format.o [ 881s] [95/1909] CXX obj/api/audio_codecs/ilbc/audio_encoder_ilbc/audio_encoder_ilbc.o [ 881s] [96/1909] STAMP obj/modules/audio_coding/isac_bwinfo.stamp [ 881s] [97/1909] CXX obj/api/audio_codecs/audio_codecs_api/audio_decoder.o [ 881s] [98/1909] CXX obj/api/task_queue/default_task_queue_factory/default_task_queue_factory_libevent.o [ 881s] [99/1909] CC obj/base/third_party/libevent/libevent/evutil.o [ 881s] [100/1909] CC obj/base/third_party/libevent/libevent/event_tagging.o [ 881s] [101/1909] CXX obj/api/libjingle_peerconnection_api/sctp_transport_interface.o [ 881s] [102/1909] CXX obj/api/rtc_event_log/rtc_event_log/rtc_event_log.o [ 881s] In file included from ../../../../api/rtc_event_log/rtc_event_log.cc:11: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] [103/1909] CXX obj/api/libjingle_peerconnection_api/jsep.o [ 881s] [104/1909] CC obj/base/third_party/libevent/libevent/buffer.o [ 881s] [105/1909] CXX obj/api/audio_codecs/opus/audio_encoder_opus_config/audio_encoder_multi_channel_opus_config.o [ 881s] ../../../../api/audio_codecs/opus/audio_encoder_multi_channel_opus_config.cc: In member function 'bool webrtc::AudioEncoderMultiChannelOpusConfig::IsOk() const': [ 881s] ../../../../api/audio_codecs/opus/audio_encoder_multi_channel_opus_config.cc:41:20: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits] [ 881s] 41 | if (num_channels < 0 || num_channels >= 255) { [ 881s] | ~~~~~~~~~~~~~^~~ [ 881s] ../../../../api/audio_codecs/opus/audio_encoder_multi_channel_opus_config.cc:50:20: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits] [ 881s] 50 | if (num_channels < 0 || num_streams < 0 || coupled_streams < 0) { [ 881s] | ~~~~~~~~~~~~~^~~ [ 881s] [106/1909] CXX obj/api/libjingle_peerconnection_api/rtp_sender_interface.o [ 881s] [107/1909] CXX obj/modules/audio_coding/audio_coding/acm_receiver.o [ 881s] [108/1909] CC obj/base/third_party/libevent/libevent/evrpc.o [ 881s] [109/1909] CXX obj/api/libjingle_peerconnection_api/dtls_transport_interface.o [ 881s] [110/1909] CXX obj/api/rtc_event_log/rtc_event_log_factory/rtc_event_log_factory.o [ 881s] In file included from ../../../../api/rtc_event_log/rtc_event_log_factory.h:16, [ 881s] from ../../../../api/rtc_event_log/rtc_event_log_factory.cc:11: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] [111/1909] CXX obj/api/audio_codecs/audio_codecs_api/audio_encoder.o [ 881s] [112/1909] STAMP obj/media/rtc_media_config.stamp [ 881s] [113/1909] STAMP obj/api/audio_codecs/ilbc/audio_encoder_ilbc_config.stamp [ 881s] [114/1909] STAMP obj/api/audio_codecs/g722/audio_encoder_g722_config.stamp [ 881s] [115/1909] CXX obj/api/rtc_event_log/rtc_event_log/rtc_event.o [ 881s] [116/1909] CXX obj/call/rtp_receiver/rtp_rtcp_demuxer_helper.o [ 881s] [117/1909] CXX obj/api/libjingle_peerconnection_api/rtp_receiver_interface.o [ 881s] [118/1909] CXX obj/api/audio_codecs/opus/audio_encoder_opus_config/audio_encoder_opus_config.o [ 881s] ../../../../api/audio_codecs/opus/audio_encoder_opus_config.cc: In member function 'bool webrtc::AudioEncoderOpusConfig::IsOk() const': [ 881s] ../../../../api/audio_codecs/opus/audio_encoder_opus_config.cc:64:20: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits] [ 881s] 64 | if (num_channels < 0 || num_channels >= 255) { [ 881s] | ~~~~~~~~~~~~~^~~ [ 881s] [119/1909] STAMP obj/api/audio/echo_control.stamp [ 881s] [120/1909] STAMP obj/webrtc_common.stamp [ 881s] [121/1909] CXX obj/api/video_codecs/video_codecs_api/video_encoder.o [ 881s] [122/1909] CXX obj/api/task_queue/task_queue/task_queue_base.o [ 881s] [123/1909] CXX obj/api/task_queue/global_task_queue_factory/global_task_queue_factory.o [ 881s] [124/1909] CXX obj/api/libjingle_peerconnection_api/jsep_ice_candidate.o [ 881s] In file included from ../../../../api/jsep_ice_candidate.cc:11: [ 881s] ../../../../api/jsep_ice_candidate.h: In member function 'void webrtc::JsepIceCandidate::SetCandidate(const cricket::Candidate&)': [ 881s] ../../../../api/jsep_ice_candidate.h:39:18: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 881s] 39 | candidate_ = candidate; [ 881s] | ^~~~~~~~~ [ 881s] In file included from ../../../../api/jsep_ice_candidate.h:21, [ 881s] from ../../../../api/jsep_ice_candidate.cc:11: [ 881s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 881s] 46 | Candidate(const Candidate&); [ 881s] | ^~~~~~~~~ [ 881s] [125/1909] CXX obj/call/rtp_receiver/rtp_stream_receiver_controller.o [ 881s] [126/1909] CXX obj/stats/rtc_stats/rtcstats_objects.o [ 881s] [127/1909] CXX obj/api/libjingle_peerconnection_api/rtp_parameters.o [ 881s] [128/1909] CC obj/modules/audio_coding/isac_vad/pitch_filter.o [ 881s] [129/1909] CXX obj/api/libjingle_peerconnection_api/rtp_transceiver_interface.o [ 881s] [130/1909] CXX obj/modules/audio_device/audio_device_buffer/fine_audio_buffer.o [ 881s] [131/1909] ASM obj/modules/audio_coding/isac_fix_c_arm_asm/pitch_filter_armv6.o [ 881s] [132/1909] CXX obj/api/libjingle_peerconnection_api/data_channel_interface.o [ 881s] [133/1909] CXX obj/call/call_interfaces/call_config.o [ 881s] [134/1909] CC obj/base/third_party/libevent/libevent/http.o [ 881s] [135/1909] CXX obj/modules/audio_coding/audio_network_adaptor/dtx_controller.o [ 881s] [136/1909] CXX obj/api/libjingle_peerconnection_api/crypto_options.o [ 881s] [137/1909] CXX obj/audio/audio/remix_resample.o [ 881s] [138/1909] CC obj/modules/audio_coding/isac_fix_c/arith_routines_logist.o [ 881s] [139/1909] CXX obj/modules/audio_coding/audio_network_adaptor/debug_dump_writer.o [ 881s] [140/1909] CXX obj/audio/audio/audio_send_stream.o [ 881s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 881s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 881s] from ../../../../audio/audio_send_stream.cc:29: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] In file included from ../../../../audio/audio_send_stream.h:19, [ 881s] from ../../../../audio/audio_send_stream.cc:11: [ 881s] ../../../../call/audio_send_stream.h: In member function 'webrtc::AudioSendStream::Config& webrtc::AudioSendStream::Config::operator=(const webrtc::AudioSendStream::Config&)': [ 881s] ../../../../call/audio_send_stream.h:77:10: warning: implicitly-declared 'webrtc::CryptoOptions& webrtc::CryptoOptions::operator=(const webrtc::CryptoOptions&)' is deprecated [-Wdeprecated-copy] [ 881s] 77 | struct Config { [ 881s] | ^~~~~~ [ 881s] In file included from ../../../../audio/channel_send.h:20, [ 881s] from ../../../../audio/audio_send_stream.h:17, [ 881s] from ../../../../audio/audio_send_stream.cc:11: [ 881s] ../../../../api/crypto/crypto_options.h:23:3: note: because 'webrtc::CryptoOptions' has user-provided 'webrtc::CryptoOptions::CryptoOptions(const webrtc::CryptoOptions&)' [ 881s] 23 | CryptoOptions(const CryptoOptions& other); [ 881s] | ^~~~~~~~~~~~~ [ 881s] ../../../../audio/audio_send_stream.cc: In static member function 'static void webrtc::internal::AudioSendStream::ConfigureStream(webrtc::internal::AudioSendStream*, const webrtc::AudioSendStream::Config&, bool)': [ 881s] ../../../../audio/audio_send_stream.cc:321:21: note: synthesized method 'webrtc::AudioSendStream::Config& webrtc::AudioSendStream::Config::operator=(const webrtc::AudioSendStream::Config&)' first required here [ 881s] 321 | stream->config_ = new_config; [ 881s] | ^~~~~~~~~~ [ 881s] ../../../../audio/audio_send_stream.cc: In member function 'virtual webrtc::AudioSendStream::Stats webrtc::internal::AudioSendStream::GetStats(bool) const': [ 881s] ../../../../audio/audio_send_stream.cc:432:58: warning: implicitly-declared 'webrtc::ANAStats& webrtc::ANAStats::operator=(const webrtc::ANAStats&)' is deprecated [-Wdeprecated-copy] [ 881s] 432 | stats.ana_statistics = channel_send_->GetANAStatistics(); [ 881s] | ^ [ 881s] In file included from ../../../../audio/channel_send.h:19, [ 881s] from ../../../../audio/audio_send_stream.h:17, [ 881s] from ../../../../audio/audio_send_stream.cc:11: [ 881s] ../../../../api/audio_codecs/audio_encoder.h:31:3: note: because 'webrtc::ANAStats' has user-provided 'webrtc::ANAStats::ANAStats(const webrtc::ANAStats&)' [ 881s] 31 | ANAStats(const ANAStats&); [ 881s] | ^~~~~~~~ [ 881s] ../../../../audio/audio_send_stream.cc:435:72: warning: implicitly-declared 'webrtc::AudioProcessingStats& webrtc::AudioProcessingStats::operator=(const webrtc::AudioProcessingStats&)' is deprecated [-Wdeprecated-copy] [ 881s] 435 | audio_state_->audio_processing()->GetStatistics(has_remote_tracks); [ 881s] | ^ [ 881s] In file included from ../../../../call/audio_send_stream.h:31, [ 881s] from ../../../../audio/audio_send_stream.h:19, [ 881s] from ../../../../audio/audio_send_stream.cc:11: [ 881s] ../../../../modules/audio_processing/include/audio_processing_statistics.h:24:3: note: because 'webrtc::AudioProcessingStats' has user-provided 'webrtc::AudioProcessingStats::AudioProcessingStats(const webrtc::AudioProcessingStats&)' [ 881s] 24 | AudioProcessingStats(const AudioProcessingStats& other); [ 881s] | ^~~~~~~~~~~~~~~~~~~~ [ 881s] [141/1909] CXX obj/api/audio_codecs/ilbc/audio_decoder_ilbc/audio_decoder_ilbc.o [ 881s] [142/1909] CXX obj/api/libjingle_peerconnection_api/candidate.o [ 881s] [143/1909] CXX obj/audio/audio/audio_level.o [ 881s] [144/1909] CXX obj/api/audio_codecs/g722/audio_decoder_g722/audio_decoder_g722.o [ 881s] [145/1909] CXX obj/api/audio_codecs/isac/audio_encoder_isac_fix/audio_encoder_isac_fix.o [ 881s] [146/1909] CXX obj/api/libjingle_peerconnection_api/stats_types.o [ 881s] [147/1909] CXX obj/audio/audio/null_audio_poller.o [ 881s] [148/1909] CXX obj/modules/audio_coding/audio_network_adaptor/channel_controller.o [ 881s] [149/1909] CC obj/modules/audio_coding/isac_vad/filter_functions.o [ 881s] [150/1909] CXX obj/modules/audio_coding/neteq/cross_correlation.o [ 881s] [151/1909] CXX obj/api/audio_codecs/isac/audio_decoder_isac_fix/audio_decoder_isac_fix.o [ 881s] [152/1909] CXX obj/modules/audio_coding/neteq/accelerate.o [ 881s] [153/1909] CXX obj/api/audio_codecs/L16/audio_encoder_L16/audio_encoder_L16.o [ 881s] [154/1909] CXX obj/api/audio_codecs/g711/audio_decoder_g711/audio_decoder_g711.o [ 881s] [155/1909] CC obj/modules/audio_coding/isac_neon/entropy_coding_neon.o [ 881s] [156/1909] CXX obj/modules/audio_processing/aecm/aecm_core/aecm_core.o [ 881s] [157/1909] CXX obj/media/rtc_encoder_simulcast_proxy/encoder_simulcast_proxy.o [ 881s] [158/1909] CXX obj/api/video_codecs/rtc_software_fallback_wrappers/video_decoder_software_fallback_wrapper.o [ 881s] ../../../../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)': [ 881s] ../../../../api/video_codecs/video_decoder_software_fallback_wrapper.cc:168:24: warning: this statement may fall through [-Wimplicit-fallthrough=] [ 881s] 168 | RTC_FALLTHROUGH(); [ 881s] | ^ [ 881s] ../../../../api/video_codecs/video_decoder_software_fallback_wrapper.cc:170:5: note: here [ 881s] 170 | case DecoderType::kFallback: [ 881s] | ^~~~ [ 881s] [159/1909] CXX obj/logging/rtc_event_pacing/rtc_event_alr_state.o [ 881s] [160/1909] CC obj/base/third_party/libevent/libevent/strlcpy.o [ 881s] [161/1909] CXX obj/modules/audio_device/audio_device_buffer/audio_device_buffer.o [ 881s] [162/1909] CC obj/base/third_party/libevent/libevent/signal.o [ 881s] [163/1909] AR obj/base/third_party/libevent/libevent.a [ 881s] [164/1909] CXX obj/api/video_codecs/video_codecs_api/vp8_temporal_layers.o [ 881s] [165/1909] CXX obj/audio/audio/channel_receive.o [ 881s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 881s] from ../../../../audio/channel_receive.cc:25: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] [166/1909] CXX obj/audio/utility/audio_frame_operations/audio_frame_operations.o [ 881s] [167/1909] CXX obj/api/video_codecs/video_codecs_api/sdp_video_format.o [ 881s] [168/1909] CXX obj/call/call/call_factory.o [ 881s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 881s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 881s] from ../../../../call/call.h:24, [ 881s] from ../../../../call/call_factory.h:15, [ 881s] from ../../../../call/call_factory.cc:11: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] [169/1909] CXX obj/call/call_interfaces/syncable.o [ 881s] [170/1909] CXX obj/modules/remote_bitrate_estimator/remote_bitrate_estimator/remote_bitrate_estimator_single_stream.o [ 881s] [171/1909] CXX obj/media/rtc_vp9_profile/vp9_profile.o [ 881s] [172/1909] CXX obj/api/create_peerconnection_factory/create_peerconnection_factory.o [ 881s] In file included from ../../../../api/rtc_event_log/rtc_event_log_factory_interface.h:16, [ 881s] from ../../../../api/peer_connection_interface.h:88, [ 881s] from ../../../../api/create_peerconnection_factory.h:20, [ 881s] from ../../../../api/create_peerconnection_factory.cc:11: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] [173/1909] CXX obj/api/video_codecs/vp8_temporal_layers_factory/vp8_temporal_layers_factory.o [ 881s] [174/1909] CXX obj/audio/audio/channel_send.o [ 881s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 881s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 881s] from ../../../../audio/channel_send.cc:25: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] [175/1909] ASM obj/common_audio/common_audio_c_arm_asm/filter_ar_fast_q12_armv7.o [ 881s] [176/1909] CXX obj/common_audio/common_audio/sparse_fir_filter.o [ 881s] [177/1909] CC obj/common_audio/common_audio_c/randomization_functions.o [ 881s] [178/1909] CXX obj/call/call_interfaces/flexfec_receive_stream.o [ 881s] [179/1909] CXX obj/common_audio/common_audio/vad.o [ 881s] [180/1909] CC obj/common_audio/common_audio_c/min_max_operations.o [ 881s] [181/1909] CXX obj/common_audio/common_audio/push_sinc_resampler.o [ 881s] [182/1909] CXX obj/audio/audio/transport_feedback_packet_loss_tracker.o [ 881s] [183/1909] CXX obj/api/video_codecs/rtc_software_fallback_wrappers/video_encoder_software_fallback_wrapper.o [ 881s] ../../../../api/video_codecs/video_encoder_software_fallback_wrapper.cc: In member function 'virtual webrtc::VideoEncoder::EncoderInfo webrtc::{anonymous}::VideoEncoderSoftwareFallbackWrapper::GetEncoderInfo() const': [ 881s] ../../../../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] [ 881s] 287 | : VideoEncoder::ScalingSettings::kOff; [ 881s] | ^~~~ [ 881s] In file included from ../../../../api/video_codecs/video_encoder_software_fallback_wrapper.h:16, [ 881s] from ../../../../api/video_codecs/video_encoder_software_fallback_wrapper.cc:11: [ 881s] ../../../../api/video_codecs/video_encoder.h:106:5: note: because 'webrtc::VideoEncoder::ScalingSettings' has user-provided 'webrtc::VideoEncoder::ScalingSettings::ScalingSettings(const webrtc::VideoEncoder::ScalingSettings&)' [ 881s] 106 | ScalingSettings(const ScalingSettings&); [ 881s] | ^~~~~~~~~~~~~~~ [ 881s] ../../../../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] [ 881s] 289 | info.scaling_settings = default_encoder_info.scaling_settings; [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../api/video_codecs/video_encoder_software_fallback_wrapper.h:16, [ 881s] from ../../../../api/video_codecs/video_encoder_software_fallback_wrapper.cc:11: [ 881s] ../../../../api/video_codecs/video_encoder.h:106:5: note: because 'webrtc::VideoEncoder::ScalingSettings' has user-provided 'webrtc::VideoEncoder::ScalingSettings::ScalingSettings(const webrtc::VideoEncoder::ScalingSettings&)' [ 881s] 106 | ScalingSettings(const ScalingSettings&); [ 881s] | ^~~~~~~~~~~~~~~ [ 881s] [184/1909] CC obj/common_audio/common_audio_c/real_fft.o [ 881s] [185/1909] CC obj/common_audio/common_audio_c/refl_coef_to_lpc.o [ 881s] [186/1909] CC obj/common_audio/common_audio_c/resample_by_2.o [ 881s] [187/1909] CXX obj/call/call_interfaces/audio_state.o [ 881s] [188/1909] CC obj/common_audio/common_audio_c/spl_inl.o [ 881s] [189/1909] CXX obj/logging/rtc_event_video/rtc_event_video_send_stream_config.o [ 881s] [190/1909] CC obj/common_audio/common_audio_c/resample_fractional.o [ 881s] [191/1909] CC obj/common_audio/common_audio_c/resample_48khz.o [ 881s] [192/1909] CC obj/common_audio/common_audio_c/resample.o [ 881s] [193/1909] CXX obj/modules/congestion_controller/goog_cc/estimators/median_slope_estimator.o [ 881s] [194/1909] CC obj/common_audio/common_audio_c/sqrt_of_one_minus_x_squared.o [ 881s] [195/1909] CC obj/common_audio/common_audio_c/filter_ma_fast_q12.o [ 881s] [196/1909] CXX obj/common_audio/common_audio/real_fourier_ooura.o [ 881s] [197/1909] CC obj/common_audio/common_audio_c/spl_init.o [ 881s] [198/1909] CC obj/common_audio/common_audio_c/get_hanning_window.o [ 881s] [199/1909] CC obj/common_audio/common_audio_c/get_scaling_square.o [ 881s] [200/1909] CC obj/common_audio/common_audio_c/ilbc_specific_functions.o [ 881s] [201/1909] CC obj/common_audio/common_audio_c/auto_correlation.o [ 881s] [202/1909] CC obj/common_audio/common_audio_c/copy_set_operations.o [ 881s] [203/1909] CC obj/common_audio/common_audio_c/cross_correlation.o [ 881s] [204/1909] CC obj/common_audio/common_audio_c/division_operations.o [ 881s] [205/1909] CC obj/common_audio/common_audio_c/resample_by_2_internal.o [ 881s] [206/1909] CC obj/common_audio/common_audio_c/levinson_durbin.o [ 881s] [207/1909] CC obj/common_audio/common_audio_c/ring_buffer.o [ 881s] [208/1909] CC obj/common_audio/common_audio_c/lpc_to_refl_coef.o [ 881s] [209/1909] CC obj/common_audio/common_audio_c/vector_scaling_operations.o [ 881s] [210/1909] CXX obj/modules/audio_coding/neteq/decision_logic.o [ 881s] [211/1909] CC obj/modules/audio_processing/agc/agc_legacy_c/digital_agc.o [ 881s] [212/1909] CXX obj/call/bitrate_configurator/rtp_bitrate_configurator.o [ 881s] ../../../../call/rtp_bitrate_configurator.cc: In member function 'absl::optional webrtc::RtpBitrateConfigurator::UpdateWithClientPreferences(const webrtc::BitrateSettings&)': [ 881s] ../../../../call/rtp_bitrate_configurator.cc:62:26: warning: implicitly-declared 'webrtc::BitrateSettings& webrtc::BitrateSettings::operator=(const webrtc::BitrateSettings&)' is deprecated [-Wdeprecated-copy] [ 881s] 62 | bitrate_config_mask_ = bitrate_mask; [ 881s] | ^~~~~~~~~~~~ [ 881s] In file included from ../../../../call/rtp_bitrate_configurator.h:16, [ 881s] from ../../../../call/rtp_bitrate_configurator.cc:11: [ 881s] ../../../../api/transport/bitrate_settings.h:27:3: note: because 'webrtc::BitrateSettings' has user-provided 'webrtc::BitrateSettings::BitrateSettings(const webrtc::BitrateSettings&)' [ 881s] 27 | BitrateSettings(const BitrateSettings&); [ 881s] | ^~~~~~~~~~~~~~~ [ 881s] [213/1909] CXX obj/common_audio/common_audio_cc/dot_product_with_scale.o [ 881s] [214/1909] CXX obj/common_audio/fir_filter_factory/fir_filter_c.o [ 881s] [215/1909] CXX obj/common_audio/fir_filter_factory/fir_filter_factory.o [ 881s] [216/1909] CXX obj/audio/audio/audio_transport_impl.o [ 881s] [217/1909] CC obj/modules/audio_coding/ilbc_c/chebyshev.o [ 881s] [218/1909] CC obj/modules/audio_coding/ilbc_c/comp_corr.o [ 881s] [219/1909] CC obj/modules/audio_coding/ilbc_c/constants.o [ 881s] [220/1909] CC obj/modules/audio_coding/ilbc_c/create_augmented_vec.o [ 881s] [221/1909] CXX obj/api/libjingle_peerconnection_api/peer_connection_interface.o [ 881s] In file included from ../../../../api/rtc_event_log/rtc_event_log_factory_interface.h:16, [ 881s] from ../../../../api/peer_connection_interface.h:88, [ 881s] from ../../../../api/peer_connection_interface.cc:11: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] [222/1909] CC obj/modules/audio_coding/ilbc_c/decode.o [ 881s] [223/1909] CXX obj/api/video/video_stream_encoder_create/video_stream_encoder_create.o [ 881s] In file included from ../../../../modules/video_coding/generic_decoder.h:17, [ 881s] from ../../../../modules/video_coding/decoder_database.h:17, [ 881s] from ../../../../modules/video_coding/video_coding_impl.h:21, [ 881s] from ../../../../video/video_stream_encoder.h:30, [ 881s] from ../../../../api/video/video_stream_encoder_create.cc:15: [ 881s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 881s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 881s] 108 | _codecSpecificInfo = *codec_specific; [ 881s] | ^~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 881s] from ../../../../modules/video_coding/generic_decoder.h:17, [ 881s] from ../../../../modules/video_coding/decoder_database.h:17, [ 881s] from ../../../../modules/video_coding/video_coding_impl.h:21, [ 881s] from ../../../../video/video_stream_encoder.h:30, [ 881s] from ../../../../api/video/video_stream_encoder_create.cc:15: [ 881s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 881s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 881s] | ^~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../api/video/video_frame.h:16, [ 881s] from ../../../../api/video/video_stream_encoder_create.h:18, [ 881s] from ../../../../api/video/video_stream_encoder_create.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 881s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 881s] from ../../../../modules/video_coding/generic_decoder.h:17, [ 881s] from ../../../../modules/video_coding/decoder_database.h:17, [ 881s] from ../../../../modules/video_coding/video_coding_impl.h:21, [ 881s] from ../../../../video/video_stream_encoder.h:30, [ 881s] from ../../../../api/video/video_stream_encoder_create.cc:15: [ 881s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 881s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] [224/1909] CXX obj/call/simulated_network/simulated_network.o [ 881s] ../../../../call/simulated_network.cc: In member function 'bool webrtc::CoDelSimulation::DropDequeuedPacket(webrtc::Timestamp, webrtc::Timestamp, webrtc::DataSize, webrtc::DataSize)': [ 881s] ../../../../call/simulated_network.cc:80:1: warning: control reaches end of non-void function [-Wreturn-type] [ 881s] 80 | } [ 881s] | ^ [ 881s] [225/1909] CC obj/modules/audio_coding/ilbc_c/decoder_interpolate_lsf.o [ 881s] [226/1909] CC obj/modules/audio_coding/ilbc_c/decode_residual.o [ 881s] [227/1909] CXX obj/media/rtc_media_base/adapted_video_track_source.o [ 881s] [228/1909] CXX obj/common_audio/common_audio_neon/sinc_resampler_neon.o [ 881s] [229/1909] CC obj/common_audio/common_audio_c/energy.o [ 881s] [230/1909] CC obj/common_audio/common_audio_c/auto_corr_to_refl_coef.o [ 881s] [231/1909] CC obj/common_audio/common_audio_c/spl_sqrt.o [ 881s] [232/1909] CC obj/common_audio/common_audio_c/downsample_fast.o [ 881s] [233/1909] CXX obj/call/rtp_receiver/rtcp_demuxer.o [ 881s] [234/1909] CC obj/modules/audio_coding/ilbc_c/do_plc.o [ 881s] [235/1909] CC obj/common_audio/common_audio_c/filter_ar.o [ 881s] [236/1909] CC obj/common_audio/common_audio_c/vad_gmm.o [ 881s] [237/1909] CXX obj/call/call/receive_time_calculator.o [ 881s] [238/1909] CC obj/common_audio/common_audio_c/vad_filterbank.o [ 881s] [239/1909] CC obj/common_audio/common_audio_c/splitting_filter.o [ 881s] [240/1909] CC obj/common_audio/common_audio_c/webrtc_vad.o [ 881s] [241/1909] CC obj/common_audio/common_audio_c/vad_sp.o [ 881s] [242/1909] CC obj/common_audio/common_audio_c/complex_fft.o [ 881s] [243/1909] CXX obj/common_audio/common_audio_neon/fir_filter_neon.o [ 881s] [244/1909] CXX obj/audio/audio/audio_receive_stream.o [ 881s] In file included from ../../../../audio/audio_receive_stream.h:20, [ 881s] from ../../../../audio/audio_receive_stream.cc:11: [ 881s] ../../../../call/audio_receive_stream.h: In member function 'webrtc::AudioReceiveStream::Config& webrtc::AudioReceiveStream::Config::operator=(const webrtc::AudioReceiveStream::Config&)': [ 881s] ../../../../call/audio_receive_stream.h:91:10: warning: implicitly-declared 'webrtc::CryptoOptions& webrtc::CryptoOptions::operator=(const webrtc::CryptoOptions&)' is deprecated [-Wdeprecated-copy] [ 881s] 91 | struct Config { [ 881s] | ^~~~~~ [ 881s] In file included from ../../../../call/audio_receive_stream.h:22, [ 881s] from ../../../../audio/audio_receive_stream.h:20, [ 881s] from ../../../../audio/audio_receive_stream.cc:11: [ 881s] ../../../../api/crypto/crypto_options.h:23:3: note: because 'webrtc::CryptoOptions' has user-provided 'webrtc::CryptoOptions::CryptoOptions(const webrtc::CryptoOptions&)' [ 881s] 23 | CryptoOptions(const CryptoOptions& other); [ 881s] | ^~~~~~~~~~~~~ [ 881s] ../../../../audio/audio_receive_stream.cc: In static member function 'static void webrtc::internal::AudioReceiveStream::ConfigureStream(webrtc::internal::AudioReceiveStream*, const webrtc::AudioReceiveStream::Config&, bool)': [ 881s] ../../../../audio/audio_receive_stream.cc:397:21: note: synthesized method 'webrtc::AudioReceiveStream::Config& webrtc::AudioReceiveStream::Config::operator=(const webrtc::AudioReceiveStream::Config&)' first required here [ 881s] 397 | stream->config_ = new_config; [ 881s] | ^~~~~~~~~~ [ 881s] [245/1909] STAMP obj/common_audio/fir_filter.stamp [ 881s] [246/1909] ASM obj/common_audio/common_audio_c_arm_asm/complex_bit_reverse_arm.o [ 881s] [247/1909] ASM obj/common_audio/third_party/spl_sqrt_floor/spl_sqrt_floor/spl_sqrt_floor_arm.o [ 881s] [248/1909] CXX obj/common_audio/common_audio/push_resampler.o [ 881s] [249/1909] CC obj/common_audio/common_audio_neon_c/cross_correlation_neon.o [ 881s] [250/1909] CC obj/common_audio/common_audio_c/vad_core.o [ 881s] [251/1909] CC obj/common_audio/common_audio_neon_c/downsample_fast_neon.o [ 881s] [252/1909] CXX obj/call/bitrate_allocator/bitrate_allocator.o [ 881s] [253/1909] CXX obj/common_audio/common_audio/audio_util.o [ 881s] [254/1909] CXX obj/common_audio/common_audio/wav_header.o [ 881s] [255/1909] CXX obj/audio/audio/audio_state.o [ 881s] [256/1909] CXX obj/common_audio/common_audio/window_generator.o [ 881s] [257/1909] CC obj/common_audio/common_audio_neon_c/min_max_operations_neon.o [ 881s] [258/1909] CXX obj/common_audio/common_audio/smoothing_filter.o [ 881s] [259/1909] CXX obj/call/call_interfaces/audio_send_stream.o [ 881s] [260/1909] CXX obj/common_audio/common_audio/sinc_resampler.o [ 881s] [261/1909] CXX obj/modules/audio_mixer/audio_frame_manipulator/audio_frame_manipulator.o [ 881s] [262/1909] CC obj/common_audio/third_party/fft4g/fft4g/fft4g.o [ 881s] [263/1909] CXX obj/call/rtp_sender/rtp_payload_params.o [ 881s] [264/1909] STAMP obj/common_audio/third_party/fft4g/fft4g.stamp [ 881s] [265/1909] CXX obj/call/rtp_receiver/rtx_receive_stream.o [ 881s] [266/1909] CXX obj/common_audio/common_audio/wav_file.o [ 881s] [267/1909] CXX obj/common_audio/common_audio/resampler.o [ 881s] [268/1909] CXX obj/call/rtp_interfaces/rtp_config.o [ 881s] [269/1909] CXX obj/call/call/flexfec_receive_stream_impl.o [ 881s] [270/1909] CXX obj/logging/ice_log/rtc_event_ice_candidate_pair_config.o [ 881s] [271/1909] CXX obj/common_audio/common_audio/real_fourier.o [ 881s] [272/1909] CXX obj/common_video/common_video/sps_parser.o [ 881s] [273/1909] CXX obj/common_audio/common_audio/channel_buffer.o [ 881s] [274/1909] CXX obj/common_video/common_video/pps_parser.o [ 881s] [275/1909] CXX obj/logging/rtc_event_bwe/rtc_event_probe_result_failure.o [ 881s] [276/1909] CXX obj/logging/rtc_event_bwe/rtc_event_probe_cluster_created.o [ 881s] [277/1909] CXX obj/common_audio/common_audio/audio_converter.o [ 881s] [278/1909] STAMP obj/modules/audio_processing/agc/gain_map.stamp [ 881s] [279/1909] CXX obj/call/rtp_receiver/rtp_demuxer.o [ 881s] [280/1909] CXX obj/common_video/common_video/i420_buffer_pool.o [ 881s] [281/1909] CXX obj/logging/rtc_event_bwe/rtc_event_bwe_update_loss_based.o [ 881s] [282/1909] CXX obj/logging/rtc_event_audio/rtc_event_audio_playout.o [ 881s] [283/1909] CXX obj/logging/ice_log/rtc_event_dtls_writable_state.o [ 881s] [284/1909] CXX obj/common_video/common_video/h264_common.o [ 881s] [285/1909] CXX obj/media/rtc_constants/constants.o [ 881s] [286/1909] CXX obj/common_video/common_video/video_render_frames.o [ 881s] [287/1909] CXX obj/logging/ice_log/rtc_event_ice_candidate_pair.o [ 881s] [288/1909] CXX obj/logging/rtc_event_bwe/rtc_event_bwe_update_delay_based.o [ 881s] [289/1909] CXX obj/modules/audio_device/audio_device_impl/audio_mixer_manager_pulse_linux.o [ 881s] [290/1909] CXX obj/common_video/common_video/video_frame_buffer.o [ 881s] [291/1909] CXX obj/common_video/common_video/h264_bitstream_parser.o [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../common_video/h264/h264_bitstream_parser.h:16, [ 881s] from ../../../../common_video/h264/h264_bitstream_parser.cc:10: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../common_video/h264/h264_bitstream_parser.h:19, [ 881s] from ../../../../common_video/h264/h264_bitstream_parser.cc:10: [ 881s] ../../../../common_video/h264/sps_parser.h:29:5: note: because 'webrtc::SpsParser::SpsState' has user-provided 'webrtc::SpsParser::SpsState::SpsState(const webrtc::SpsParser::SpsState&)' [ 881s] 29 | SpsState(const SpsState&); [ 881s] | ^~~~~~~~ [ 881s] [292/1909] CXX obj/common_video/common_video/bitrate_adjuster.o [ 881s] [293/1909] CXX obj/common_video/common_video/incoming_video_stream.o [ 881s] [294/1909] CXX obj/modules/audio_processing/agc2/adaptive_digital/saturation_protector.o [ 881s] [295/1909] CXX obj/call/video_stream_api/video_send_stream.o [ 881s] In file included from ../../../../call/video_send_stream.cc:11: [ 881s] ../../../../call/video_send_stream.h: In member function 'webrtc::VideoSendStream::Config& webrtc::VideoSendStream::Config::operator=(webrtc::VideoSendStream::Config&&)': [ 881s] ../../../../call/video_send_stream.h:112:10: warning: implicitly-declared 'webrtc::RtpConfig& webrtc::RtpConfig::operator=(const webrtc::RtpConfig&)' is deprecated [-Wdeprecated-copy] [ 881s] 112 | struct Config { [ 881s] | ^~~~~~ [ 881s] In file included from ../../../../call/video_send_stream.h:30, [ 881s] from ../../../../call/video_send_stream.cc:11: [ 881s] ../../../../call/rtp_config.h:71:3: note: because 'webrtc::RtpConfig' has user-provided 'webrtc::RtpConfig::RtpConfig(const webrtc::RtpConfig&)' [ 881s] 71 | RtpConfig(const RtpConfig&); [ 881s] | ^~~~~~~~~ [ 881s] ../../../../call/rtp_config.h: In member function 'webrtc::RtpConfig& webrtc::RtpConfig::operator=(const webrtc::RtpConfig&)': [ 881s] ../../../../call/rtp_config.h:69:8: warning: implicitly-declared 'webrtc::RtpConfig::Flexfec& webrtc::RtpConfig::Flexfec::operator=(const webrtc::RtpConfig::Flexfec&)' is deprecated [-Wdeprecated-copy] [ 881s] 69 | struct RtpConfig { [ 881s] | ^~~~~~~~~ [ 881s] ../../../../call/rtp_config.h:126:5: note: because 'webrtc::RtpConfig::Flexfec' has user-provided 'webrtc::RtpConfig::Flexfec::Flexfec(const webrtc::RtpConfig::Flexfec&)' [ 881s] 126 | Flexfec(const Flexfec&); [ 881s] | ^~~~~~~ [ 881s] ../../../../call/rtp_config.h:69:8: warning: implicitly-declared 'webrtc::RtpConfig::Rtx& webrtc::RtpConfig::Rtx::operator=(const webrtc::RtpConfig::Rtx&)' is deprecated [-Wdeprecated-copy] [ 881s] 69 | struct RtpConfig { [ 881s] | ^~~~~~~~~ [ 881s] ../../../../call/rtp_config.h:147:5: note: because 'webrtc::RtpConfig::Rtx' has user-provided 'webrtc::RtpConfig::Rtx::Rtx(const webrtc::RtpConfig::Rtx&)' [ 881s] 147 | Rtx(const Rtx&); [ 881s] | ^~~ [ 881s] In file included from ../../../../call/video_send_stream.cc:11: [ 881s] ../../../../call/video_send_stream.h: In member function 'webrtc::VideoSendStream::Config& webrtc::VideoSendStream::Config::operator=(webrtc::VideoSendStream::Config&&)': [ 881s] ../../../../call/video_send_stream.h:112:10: note: synthesized method 'webrtc::RtpConfig& webrtc::RtpConfig::operator=(const webrtc::RtpConfig&)' first required here [ 881s] 112 | struct Config { [ 881s] | ^~~~~~ [ 881s] ../../../../call/video_send_stream.h:112:10: warning: implicitly-declared 'webrtc::CryptoOptions& webrtc::CryptoOptions::operator=(const webrtc::CryptoOptions&)' is deprecated [-Wdeprecated-copy] [ 881s] In file included from ../../../../call/video_send_stream.h:21, [ 881s] from ../../../../call/video_send_stream.cc:11: [ 881s] ../../../../api/crypto/crypto_options.h:23:3: note: because 'webrtc::CryptoOptions' has user-provided 'webrtc::CryptoOptions::CryptoOptions(const webrtc::CryptoOptions&)' [ 881s] 23 | CryptoOptions(const CryptoOptions& other); [ 881s] | ^~~~~~~~~~~~~ [ 881s] ../../../../call/video_send_stream.cc: At global scope: [ 881s] ../../../../call/video_send_stream.cc:84:73: note: synthesized method 'webrtc::VideoSendStream::Config& webrtc::VideoSendStream::Config::operator=(webrtc::VideoSendStream::Config&&)' first required here [ 881s] 84 | VideoSendStream::Config& VideoSendStream::Config::operator=(Config&&) = default; [ 881s] | ^~~~~~~ [ 881s] [296/1909] AR obj/media/librtc_constants.a [ 881s] [297/1909] CXX obj/common_video/common_video/webrtc_libyuv.o [ 881s] [298/1909] CXX obj/logging/rtc_event_bwe/rtc_event_route_change.o [ 881s] [299/1909] CXX obj/logging/rtc_event_bwe/rtc_event_probe_result_success.o [ 881s] [300/1909] CXX obj/logging/rtc_event_log_impl_encoder/var_int.o [ 881s] [301/1909] CXX obj/call/call/degraded_call.o [ 881s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 881s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 881s] from ../../../../call/call.h:24, [ 881s] from ../../../../call/degraded_call.h:27, [ 881s] from ../../../../call/degraded_call.cc:14: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] [302/1909] CXX obj/media/rtc_media_base/media_constants.o [ 881s] [303/1909] CXX obj/modules/audio_mixer/audio_mixer_impl/audio_mixer_impl.o [ 881s] [304/1909] CXX obj/modules/video_coding/video_coding_utility/decoded_frames_history.o [ 881s] In file included from ../../../../api/video/encoded_frame.h:14, [ 881s] from ../../../../modules/video_coding/utility/decoded_frames_history.h:19, [ 881s] from ../../../../modules/video_coding/utility/decoded_frames_history.cc:11: [ 881s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 881s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 881s] 108 | _codecSpecificInfo = *codec_specific; [ 881s] | ^~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 881s] from ../../../../api/video/encoded_frame.h:14, [ 881s] from ../../../../modules/video_coding/utility/decoded_frames_history.h:19, [ 881s] from ../../../../modules/video_coding/utility/decoded_frames_history.cc:11: [ 881s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 881s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 881s] | ^~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../modules/video_coding/utility/decoded_frames_history.h:18, [ 881s] from ../../../../modules/video_coding/utility/decoded_frames_history.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 881s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 881s] from ../../../../api/video/encoded_frame.h:14, [ 881s] from ../../../../modules/video_coding/utility/decoded_frames_history.h:19, [ 881s] from ../../../../modules/video_coding/utility/decoded_frames_history.cc:11: [ 881s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 881s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] [305/1909] CXX obj/modules/audio_processing/agc2/adaptive_digital/adaptive_mode_level_estimator.o [ 881s] [306/1909] CXX obj/logging/ice_log/rtc_event_dtls_transport_state.o [ 881s] [307/1909] CXX obj/logging/rtc_event_audio/rtc_event_audio_send_stream_config.o [ 881s] [308/1909] CXX obj/logging/rtc_event_audio/rtc_event_audio_receive_stream_config.o [ 881s] [309/1909] CXX obj/logging/rtc_event_log_impl_encoder/rtc_event_log_encoder_common.o [ 881s] [310/1909] CXX obj/logging/ice_log/ice_logger.o [ 881s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 881s] from ../../../../logging/rtc_event_log/ice_logger.cc:14: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../logging/rtc_event_log/ice_logger.cc: In member function 'void webrtc::IceEventLog::LogCandidatePairConfig(webrtc::IceCandidatePairConfigType, uint32_t, const webrtc::IceCandidatePairDescription&)': [ 881s] ../../../../logging/rtc_event_log/ice_logger.cc:28:51: warning: implicitly-declared 'webrtc::IceCandidatePairDescription& webrtc::IceCandidatePairDescription::operator=(const webrtc::IceCandidatePairDescription&)' is deprecated [-Wdeprecated-copy] [ 881s] 28 | candidate_pair_desc_by_id_[candidate_pair_id] = candidate_pair_desc; [ 881s] | ^~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../logging/rtc_event_log/ice_logger.h:17, [ 881s] from ../../../../logging/rtc_event_log/ice_logger.cc:11: [ 881s] ../../../../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&)' [ 881s] 69 | explicit IceCandidatePairDescription( [ 881s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 881s] [311/1909] CXX obj/logging/rtc_event_log_impl_encoder/blob_encoding.o [ 881s] [312/1909] CXX obj/logging/rtc_event_log_impl_base/rtc_event_log_factory.o [ 881s] In file included from ../../../../api/rtc_event_log/rtc_event_log_factory.h:16, [ 881s] from ../../../../logging/rtc_event_log/rtc_event_log_factory.h:16, [ 881s] from ../../../../logging/rtc_event_log/rtc_event_log_factory.cc:11: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] [313/1909] CXX obj/logging/rtc_event_rtp_rtcp/rtc_event_rtcp_packet_incoming.o [ 881s] [314/1909] CXX obj/logging/rtc_event_rtp_rtcp/rtc_event_rtcp_packet_outgoing.o [ 881s] [315/1909] CXX obj/media/rtc_audio_video/adm_helpers.o [ 881s] [316/1909] CXX obj/media/rtc_audio_video/unhandled_packets_buffer.o [ 881s] [317/1909] STAMP obj/modules/module_fec_api.stamp [ 881s] [318/1909] STAMP obj/api/fec_controller_api.stamp [ 881s] [319/1909] CXX obj/common_video/common_video/sps_vui_rewriter.o [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../common_video/h264/sps_vui_rewriter.h:18, [ 881s] from ../../../../common_video/h264/sps_vui_rewriter.cc:12: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../common_video/h264/sps_vui_rewriter.h:19, [ 881s] from ../../../../common_video/h264/sps_vui_rewriter.cc:12: [ 881s] ../../../../common_video/h264/sps_parser.h:29:5: note: because 'webrtc::SpsParser::SpsState' has user-provided 'webrtc::SpsParser::SpsState::SpsState(const webrtc::SpsParser::SpsState&)' [ 881s] 29 | SpsState(const SpsState&); [ 881s] | ^~~~~~~~ [ 881s] [320/1909] CXX obj/logging/rtc_event_log_impl_encoder/delta_encoding.o [ 881s] [321/1909] CXX obj/media/rtc_media_base/turn_utils.o [ 881s] [322/1909] CXX obj/call/fake_network/fake_network_pipe.o [ 881s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 881s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 881s] from ../../../../call/call.h:24, [ 881s] from ../../../../call/fake_network_pipe.h:24, [ 881s] from ../../../../call/fake_network_pipe.cc:18: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../api/test/simulated_network.h:20, [ 881s] from ../../../../call/fake_network_pipe.h:23, [ 881s] from ../../../../call/fake_network_pipe.cc:18: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../call/fake_network_pipe.h:22, [ 881s] from ../../../../call/fake_network_pipe.cc:18: [ 881s] ../../../../api/call/transport.h:24:3: note: because 'webrtc::PacketOptions' has user-provided 'webrtc::PacketOptions::PacketOptions(const webrtc::PacketOptions&)' [ 881s] 24 | PacketOptions(const PacketOptions&); [ 881s] | ^~~~~~~~~~~~~ [ 881s] [323/1909] CXX obj/common_video/generic_frame_descriptor/generic_frame_descriptor/generic_frame_info.o [ 881s] [324/1909] CXX obj/media/rtc_audio_video/apm_helpers.o [ 881s] [325/1909] CXX obj/call/rtp_sender/rtp_video_sender.o [ 881s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 881s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 881s] from ../../../../call/rtp_video_sender.h:26, [ 881s] from ../../../../call/rtp_video_sender.cc:11: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] [326/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp/dtmf_queue.o [ 881s] [327/1909] CXX obj/modules/video_processing/video_processing/skin_detection.o [ 881s] [328/1909] CXX obj/modules/remote_bitrate_estimator/remote_bitrate_estimator/overuse_detector.o [ 881s] [329/1909] CXX obj/logging/rtc_event_video/rtc_event_video_receive_stream_config.o [ 881s] [330/1909] CXX obj/media/rtc_media_base/video_common.o [ 881s] [331/1909] CXX obj/call/video_stream_api/video_receive_stream.o [ 881s] In file included from ../../../../call/video_receive_stream.cc:11: [ 881s] ../../../../call/video_receive_stream.h: In member function 'webrtc::VideoReceiveStream::Config& webrtc::VideoReceiveStream::Config::operator=(webrtc::VideoReceiveStream::Config&&)': [ 881s] ../../../../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] [ 881s] 120 | struct Config { [ 881s] | ^~~~~~ [ 881s] ../../../../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&)' [ 881s] 151 | Rtp(const Rtp&); [ 881s] | ^~~ [ 881s] ../../../../call/video_receive_stream.h:120:10: warning: implicitly-declared 'webrtc::CryptoOptions& webrtc::CryptoOptions::operator=(const webrtc::CryptoOptions&)' is deprecated [-Wdeprecated-copy] [ 881s] 120 | struct Config { [ 881s] | ^~~~~~ [ 881s] In file included from ../../../../call/video_receive_stream.h:21, [ 881s] from ../../../../call/video_receive_stream.cc:11: [ 881s] ../../../../api/crypto/crypto_options.h:23:3: note: because 'webrtc::CryptoOptions' has user-provided 'webrtc::CryptoOptions::CryptoOptions(const webrtc::CryptoOptions&)' [ 881s] 23 | CryptoOptions(const CryptoOptions& other); [ 881s] | ^~~~~~~~~~~~~ [ 881s] ../../../../call/video_receive_stream.cc: At global scope: [ 881s] ../../../../call/video_receive_stream.cc:79:5: note: synthesized method 'webrtc::VideoReceiveStream::Config& webrtc::VideoReceiveStream::Config::operator=(webrtc::VideoReceiveStream::Config&&)' first required here [ 881s] 79 | default; [ 881s] | ^~~~~~~ [ 881s] [332/1909] CXX obj/media/rtc_audio_video/simulcast.o [ 881s] [333/1909] CXX obj/logging/rtc_event_rtp_rtcp/rtc_event_rtp_packet_incoming.o [ 881s] [334/1909] CXX obj/media/rtc_media_base/video_broadcaster.o [ 881s] ../../../../media/base/video_broadcaster.cc: In member function 'void rtc::VideoBroadcaster::UpdateWants()': [ 881s] ../../../../media/base/video_broadcaster.cc:132:20: warning: implicitly-declared 'rtc::VideoSinkWants& rtc::VideoSinkWants::operator=(const rtc::VideoSinkWants&)' is deprecated [-Wdeprecated-copy] [ 881s] 132 | current_wants_ = wants; [ 881s] | ^~~~~ [ 881s] In file included from ../../../../media/base/video_broadcaster.h:16, [ 881s] from ../../../../media/base/video_broadcaster.cc:11: [ 881s] ../../../../api/video/video_source_interface.h:26:3: note: because 'rtc::VideoSinkWants' has user-provided 'rtc::VideoSinkWants::VideoSinkWants(const rtc::VideoSinkWants&)' [ 881s] 26 | VideoSinkWants(const VideoSinkWants&); [ 881s] | ^~~~~~~~~~~~~~ [ 881s] [335/1909] CXX obj/pc/media_protocol_names/media_protocol_names.o [ 881s] [336/1909] CXX obj/logging/rtc_stream_config/rtc_stream_config.o [ 881s] [337/1909] CXX obj/logging/rtc_event_rtp_rtcp/rtc_event_rtp_packet_outgoing.o [ 881s] [338/1909] STAMP obj/rtc_base/atomicops.stamp [ 881s] [339/1909] CXX obj/media/rtc_media_base/rid_description.o [ 881s] [340/1909] CXX obj/modules/video_processing/video_processing/denoiser_filter_c.o [ 881s] [341/1909] CXX obj/media/rtc_media_base/video_adapter.o [ 881s] [342/1909] CXX obj/media/rtc_media_base/rtp_utils.o [ 881s] ../../../../media/base/rtp_utils.cc: In function 'absl::string_view cricket::RtpPacketTypeToString(cricket::RtpPacketType)': [ 881s] ../../../../media/base/rtp_utils.cc:324:1: warning: control reaches end of non-void function [-Wreturn-type] [ 881s] 324 | } [ 881s] | ^ [ 881s] [343/1909] CXX obj/modules/remote_bitrate_estimator/remote_bitrate_estimator/inter_arrival.o [ 881s] [344/1909] CXX obj/pc/peerconnection/audio_track.o [ 881s] [345/1909] CXX obj/media/rtc_media_base/video_source_base.o [ 881s] ../../../../media/base/video_source_base.cc: In member function 'virtual void rtc::VideoSourceBase::AddOrUpdateSink(rtc::VideoSinkInterface*, const rtc::VideoSinkWants&)': [ 881s] ../../../../media/base/video_source_base.cc:30:24: warning: implicitly-declared 'rtc::VideoSinkWants& rtc::VideoSinkWants::operator=(const rtc::VideoSinkWants&)' is deprecated [-Wdeprecated-copy] [ 881s] 30 | sink_pair->wants = wants; [ 881s] | ^~~~~ [ 881s] In file included from ../../../../media/base/video_source_base.h:18, [ 881s] from ../../../../media/base/video_source_base.cc:11: [ 881s] ../../../../api/video/video_source_interface.h:26:3: note: because 'rtc::VideoSinkWants' has user-provided 'rtc::VideoSinkWants::VideoSinkWants(const rtc::VideoSinkWants&)' [ 881s] 26 | VideoSinkWants(const VideoSinkWants&); [ 881s] | ^~~~~~~~~~~~~~ [ 881s] [346/1909] CC obj/modules/audio_coding/g722_c/g722_interface.o [ 881s] [347/1909] CXX obj/media/rtc_audio_video/payload_type_mapper.o [ 881s] ../../../../media/engine/payload_type_mapper.cc: In member function 'absl::optional cricket::PayloadTypeMapper::ToAudioCodec(const webrtc::SdpAudioFormat&)': [ 881s] ../../../../media/engine/payload_type_mapper.cc:132:21: warning: redundant move in return statement [-Wredundant-move] [ 881s] 132 | return std::move(codec); [ 881s] | ~~~~~~~~~^~~~~~~ [ 881s] ../../../../media/engine/payload_type_mapper.cc:132:21: note: remove 'std::move' call [ 881s] [348/1909] CXX obj/modules/video_coding/nack_module/histogram.o [ 881s] [349/1909] CC obj/modules/audio_coding/ilbc_c/energy_inverse.o [ 881s] [350/1909] CC obj/modules/audio_coding/ilbc_c/encode.o [ 881s] [351/1909] CXX obj/rtc_base/rtc_base/async_resolver_interface.o [ 881s] [352/1909] CC obj/modules/audio_coding/ilbc_c/enh_upsample.o [ 881s] [353/1909] CC obj/modules/audio_coding/ilbc_c/enhancer.o [ 881s] [354/1909] CC obj/modules/audio_coding/ilbc_c/filtered_cb_vecs.o [ 881s] [355/1909] CC obj/modules/audio_coding/ilbc_c/frame_classify.o [ 881s] [356/1909] CXX obj/modules/video_capture/video_capture_module/video_capture_factory.o [ 881s] [357/1909] CXX obj/pc/rtc_pc_base/channel_manager.o [ 881s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 881s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 881s] from ../../../../call/call.h:24, [ 881s] from ../../../../pc/channel_manager.h:23, [ 881s] from ../../../../pc/channel_manager.cc:11: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 881s] from ../../../../pc/channel_interface.h:20, [ 881s] from ../../../../pc/channel.h:33, [ 881s] from ../../../../pc/channel_manager.h:28, [ 881s] from ../../../../pc/channel_manager.cc:11: [ 881s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 881s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 881s] 423 | SctpDataContentDescription* as_sctp() override; [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 881s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 881s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 881s] | ^~~~~~~~~~~ [ 881s] [358/1909] CXX obj/modules/audio_coding/audio_coding_opus_common/audio_coder_opus_common.o [ 881s] [359/1909] CC obj/modules/audio_coding/ilbc_c/gain_dequant.o [ 881s] [360/1909] CC obj/modules/audio_coding/ilbc_c/gain_quant.o [ 881s] [361/1909] CXX obj/modules/video_coding/video_coding/frame_object.o [ 881s] In file included from ../../../../api/video/encoded_frame.h:14, [ 881s] from ../../../../modules/video_coding/frame_object.h:15, [ 881s] from ../../../../modules/video_coding/frame_object.cc:11: [ 881s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 881s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 881s] 108 | _codecSpecificInfo = *codec_specific; [ 881s] | ^~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 881s] from ../../../../api/video/encoded_frame.h:14, [ 881s] from ../../../../modules/video_coding/frame_object.h:15, [ 881s] from ../../../../modules/video_coding/frame_object.cc:11: [ 881s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 881s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 881s] | ^~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../modules/video_coding/frame_object.h:14, [ 881s] from ../../../../modules/video_coding/frame_object.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 881s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 881s] from ../../../../api/video/encoded_frame.h:14, [ 881s] from ../../../../modules/video_coding/frame_object.h:15, [ 881s] from ../../../../modules/video_coding/frame_object.cc:11: [ 881s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 881s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] [362/1909] CC obj/modules/audio_coding/ilbc_c/cb_mem_energy_calc.o [ 881s] [363/1909] CC obj/modules/audio_coding/ilbc_c/abs_quant.o [ 881s] [364/1909] CXX obj/modules/audio_coding/g711/audio_decoder_pcm.o [ 881s] [365/1909] CXX obj/modules/audio_coding/g722/audio_encoder_g722.o [ 881s] [366/1909] CC obj/modules/audio_coding/g711_c/g711_interface.o [ 881s] [367/1909] CC obj/modules/audio_coding/ilbc_c/cb_mem_energy.o [ 881s] [368/1909] CC obj/modules/audio_coding/ilbc_c/enhancer_interface.o [ 881s] [369/1909] CC obj/modules/audio_coding/ilbc_c/cb_update_best_index.o [ 881s] [370/1909] CXX obj/modules/audio_coding/g722/audio_decoder_g722.o [ 881s] [371/1909] CC obj/modules/audio_coding/ilbc_c/cb_search_core.o [ 881s] [372/1909] CXX obj/rtc_base/rtc_base/data_rate_limiter.o [ 881s] [373/1909] CXX obj/modules/video_capture/video_capture_module/video_capture_impl.o [ 881s] [374/1909] CC obj/modules/audio_coding/ilbc_c/get_cd_vec.o [ 881s] [375/1909] CC obj/modules/audio_coding/ilbc_c/cb_search.o [ 881s] [376/1909] CXX obj/rtc_base/rate_limiter/rate_limiter.o [ 881s] [377/1909] CC obj/modules/audio_coding/ilbc_c/get_lsp_poly.o [ 881s] [378/1909] CXX obj/modules/audio_coding/audio_network_adaptor/audio_network_adaptor_impl.o [ 881s] [379/1909] CXX obj/modules/audio_coding/audio_network_adaptor/bitrate_controller.o [ 881s] [380/1909] CC obj/modules/audio_coding/ilbc_c/hp_input.o [ 881s] [381/1909] CC obj/modules/audio_coding/ilbc_c/hp_output.o [ 881s] [382/1909] CXX obj/media/rtc_media_base/stream_params.o [ 881s] [383/1909] CC obj/modules/audio_coding/ilbc_c/index_conv_dec.o [ 881s] [384/1909] CC obj/modules/audio_coding/ilbc_c/get_sync_seq.o [ 881s] [385/1909] CC obj/modules/audio_coding/ilbc_c/index_conv_enc.o [ 881s] [386/1909] CC obj/modules/audio_coding/ilbc_c/interpolate_samples.o [ 881s] [387/1909] CXX obj/modules/audio_coding/audio_network_adaptor/frame_length_controller.o [ 881s] [388/1909] CC obj/modules/audio_coding/ilbc_c/init_encode.o [ 881s] [389/1909] CC obj/modules/audio_coding/ilbc_c/init_decode.o [ 881s] [390/1909] CC obj/modules/audio_coding/ilbc_c/ilbc.o [ 881s] [391/1909] CC obj/modules/audio_coding/ilbc_c/interpolate.o [ 881s] [392/1909] CC obj/modules/audio_coding/ilbc_c/lpc_encode.o [ 881s] [393/1909] CXX obj/rtc_base/rtc_base/crc32.o [ 881s] [394/1909] CC obj/modules/audio_coding/ilbc_c/lsf_check.o [ 881s] [395/1909] CXX obj/rtc_base/rtc_base/async_invoker.o [ 881s] [396/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp/contributing_sources.o [ 881s] [397/1909] CXX obj/rtc_base/rtc_base/async_packet_socket.o [ 881s] [398/1909] CXX obj/modules/audio_coding/audio_network_adaptor/controller.o [ 881s] [399/1909] ASM obj/modules/audio_coding/isac_fix_c_arm_asm/lattice_armv7.o [ 881s] [400/1909] CC obj/modules/audio_coding/isac_fix_c/filterbank_tables.o [ 881s] [401/1909] CC obj/modules/audio_coding/isac_fix_c/transform.o [ 881s] [402/1909] CC obj/modules/audio_coding/ilbc_c/lsf_interpolate_to_poly_dec.o [ 881s] [403/1909] CC obj/modules/audio_coding/isac_fix_c/filters.o [ 881s] [404/1909] CC obj/modules/audio_coding/isac_neon/filterbanks_neon.o [ 881s] [405/1909] CC obj/modules/audio_coding/ilbc_c/lsf_interpolate_to_poly_enc.o [ 881s] [406/1909] CC obj/modules/audio_coding/isac_fix_c/filterbanks.o [ 881s] [407/1909] CXX obj/rtc_base/rtc_base/crypt_string.o [ 881s] [408/1909] CXX obj/call/rtp_sender/rtp_transport_controller_send.o [ 881s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 881s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 881s] from ../../../../call/rtp_transport_controller_send.h:23, [ 881s] from ../../../../call/rtp_transport_controller_send.cc:20: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../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*)': [ 881s] ../../../../call/rtp_transport_controller_send.cc:90:74: warning: implicitly-declared 'webrtc::TargetRateConstraints& webrtc::TargetRateConstraints::operator=(const webrtc::TargetRateConstraints&)' is deprecated [-Wdeprecated-copy] [ 881s] 90 | initial_config_.constraints = ConvertConstraints(bitrate_config, clock_); [ 881s] | ^ [ 881s] In file included from ../../../../api/transport/network_control.h:16, [ 881s] from ../../../../api/transport/goog_cc_factory.h:16, [ 881s] from ../../../../call/rtp_transport_controller_send.cc:15: [ 881s] ../../../../api/transport/network_types.h:48:3: note: because 'webrtc::TargetRateConstraints' has user-provided 'webrtc::TargetRateConstraints::TargetRateConstraints(const webrtc::TargetRateConstraints&)' [ 881s] 48 | TargetRateConstraints(const TargetRateConstraints&); [ 881s] | ^~~~~~~~~~~~~~~~~~~~~ [ 881s] ../../../../call/rtp_transport_controller_send.cc: In member function 'virtual void webrtc::RtpTransportControllerSend::OnNetworkRouteChanged(const string&, const rtc::NetworkRoute&)': [ 881s] ../../../../call/rtp_transport_controller_send.cc:255:64: warning: implicitly-declared 'webrtc::TargetRateConstraints& webrtc::TargetRateConstraints::operator=(const webrtc::TargetRateConstraints&)' is deprecated [-Wdeprecated-copy] [ 881s] 255 | msg.constraints = ConvertConstraints(bitrate_config, clock_); [ 881s] | ^ [ 881s] In file included from ../../../../api/transport/network_control.h:16, [ 881s] from ../../../../api/transport/goog_cc_factory.h:16, [ 881s] from ../../../../call/rtp_transport_controller_send.cc:15: [ 881s] ../../../../api/transport/network_types.h:48:3: note: because 'webrtc::TargetRateConstraints' has user-provided 'webrtc::TargetRateConstraints::TargetRateConstraints(const webrtc::TargetRateConstraints&)' [ 881s] 48 | TargetRateConstraints(const TargetRateConstraints&); [ 881s] | ^~~~~~~~~~~~~~~~~~~~~ [ 881s] ../../../../call/rtp_transport_controller_send.cc: In member function 'void webrtc::RtpTransportControllerSend::MaybeCreateControllers()': [ 881s] ../../../../call/rtp_transport_controller_send.cc:466:41: warning: implicitly-declared 'webrtc::StreamsConfig& webrtc::StreamsConfig::operator=(const webrtc::StreamsConfig&)' is deprecated [-Wdeprecated-copy] [ 881s] 466 | initial_config_.stream_based_config = streams_config_; [ 881s] | ^~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../api/transport/network_control.h:16, [ 881s] from ../../../../api/transport/goog_cc_factory.h:16, [ 881s] from ../../../../call/rtp_transport_controller_send.cc:15: [ 881s] ../../../../api/transport/network_types.h:32:3: note: because 'webrtc::StreamsConfig' has user-provided 'webrtc::StreamsConfig::StreamsConfig(const webrtc::StreamsConfig&)' [ 881s] 32 | StreamsConfig(const StreamsConfig&); [ 881s] | ^~~~~~~~~~~~~ [ 881s] ../../../../call/rtp_transport_controller_send.cc: In member function 'void webrtc::RtpTransportControllerSend::UpdateInitialConstraints(webrtc::TargetRateConstraints)': [ 881s] ../../../../call/rtp_transport_controller_send.cc:487:33: warning: implicitly-declared 'webrtc::TargetRateConstraints& webrtc::TargetRateConstraints::operator=(const webrtc::TargetRateConstraints&)' is deprecated [-Wdeprecated-copy] [ 881s] 487 | initial_config_.constraints = new_contraints; [ 881s] | ^~~~~~~~~~~~~~ [ 881s] In file included from ../../../../api/transport/network_control.h:16, [ 881s] from ../../../../api/transport/goog_cc_factory.h:16, [ 881s] from ../../../../call/rtp_transport_controller_send.cc:15: [ 881s] ../../../../api/transport/network_types.h:48:3: note: because 'webrtc::TargetRateConstraints' has user-provided 'webrtc::TargetRateConstraints::TargetRateConstraints(const webrtc::TargetRateConstraints&)' [ 881s] 48 | TargetRateConstraints(const TargetRateConstraints&); [ 881s] | ^~~~~~~~~~~~~~~~~~~~~ [ 881s] [409/1909] CC obj/modules/audio_coding/isac_neon/filters_neon.o [ 881s] [410/1909] CC obj/modules/audio_coding/ilbc_c/lsf_to_lsp.o [ 881s] [411/1909] CC obj/modules/audio_coding/ilbc_c/my_corr.o [ 881s] [412/1909] CXX obj/media/rtc_simulcast_encoder_adapter/simulcast_encoder_adapter.o [ 881s] ../../../../media/engine/simulcast_encoder_adapter.cc: In member function 'virtual int webrtc::SimulcastEncoderAdapter::InitEncode(const webrtc::VideoCodec*, int, size_t)': [ 881s] ../../../../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] [ 881s] 278 | encoder_info_ = streaminfos_[0].encoder->GetEncoderInfo(); [ 881s] | ^ [ 881s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:19, [ 881s] from ../../../../media/engine/simulcast_encoder_adapter.h:23, [ 881s] from ../../../../media/engine/simulcast_encoder_adapter.cc:11: [ 881s] ../../../../api/video_codecs/video_encoder.h:130:5: note: because 'webrtc::VideoEncoder::EncoderInfo' has user-provided 'webrtc::VideoEncoder::EncoderInfo::EncoderInfo(const webrtc::VideoEncoder::EncoderInfo&)' [ 881s] 130 | EncoderInfo(const EncoderInfo&); [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/video_codecs/video_encoder.h: In member function 'webrtc::VideoEncoder::EncoderInfo& webrtc::VideoEncoder::EncoderInfo::operator=(const webrtc::VideoEncoder::EncoderInfo&)': [ 881s] ../../../../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] [ 881s] 125 | struct EncoderInfo { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/video_codecs/video_encoder.h:106:5: note: because 'webrtc::VideoEncoder::ScalingSettings' has user-provided 'webrtc::VideoEncoder::ScalingSettings::ScalingSettings(const webrtc::VideoEncoder::ScalingSettings&)' [ 881s] 106 | ScalingSettings(const ScalingSettings&); [ 881s] | ^~~~~~~~~~~~~~~ [ 881s] ../../../../media/engine/simulcast_encoder_adapter.cc: In member function 'virtual int webrtc::SimulcastEncoderAdapter::InitEncode(const webrtc::VideoCodec*, int, size_t)': [ 881s] ../../../../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 [ 881s] 278 | encoder_info_ = streaminfos_[0].encoder->GetEncoderInfo(); [ 881s] | ^ [ 881s] ../../../../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] [ 881s] 285 | encoder_info_.scaling_settings = VideoEncoder::ScalingSettings::kOff; [ 881s] | ^~~~ [ 881s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:19, [ 881s] from ../../../../media/engine/simulcast_encoder_adapter.h:23, [ 881s] from ../../../../media/engine/simulcast_encoder_adapter.cc:11: [ 881s] ../../../../api/video_codecs/video_encoder.h:106:5: note: because 'webrtc::VideoEncoder::ScalingSettings' has user-provided 'webrtc::VideoEncoder::ScalingSettings::ScalingSettings(const webrtc::VideoEncoder::ScalingSettings&)' [ 881s] 106 | ScalingSettings(const ScalingSettings&); [ 881s] | ^~~~~~~~~~~~~~~ [ 881s] [413/1909] CXX obj/modules/video_coding/webrtc_multiplex/multiplex_encoder_adapter.o [ 881s] ../../../../modules/video_coding/codecs/multiplex/multiplex_encoder_adapter.cc: In member function 'virtual int webrtc::MultiplexEncoderAdapter::InitEncode(const webrtc::VideoCodec*, int, size_t)': [ 881s] ../../../../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] [ 881s] 96 | encoder_info_ = EncoderInfo(); [ 881s] | ^ [ 881s] In file included from ../../../../modules/video_coding/codecs/multiplex/include/multiplex_encoder_adapter.h:19, [ 881s] from ../../../../modules/video_coding/codecs/multiplex/multiplex_encoder_adapter.cc:11: [ 881s] ../../../../api/video_codecs/video_encoder.h:130:5: note: because 'webrtc::VideoEncoder::EncoderInfo' has user-provided 'webrtc::VideoEncoder::EncoderInfo::EncoderInfo(const webrtc::VideoEncoder::EncoderInfo&)' [ 881s] 130 | EncoderInfo(const EncoderInfo&); [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/video_codecs/video_encoder.h: In member function 'webrtc::VideoEncoder::EncoderInfo& webrtc::VideoEncoder::EncoderInfo::operator=(const webrtc::VideoEncoder::EncoderInfo&)': [ 881s] ../../../../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] [ 881s] 125 | struct EncoderInfo { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/video_codecs/video_encoder.h:106:5: note: because 'webrtc::VideoEncoder::ScalingSettings' has user-provided 'webrtc::VideoEncoder::ScalingSettings::ScalingSettings(const webrtc::VideoEncoder::ScalingSettings&)' [ 881s] 106 | ScalingSettings(const ScalingSettings&); [ 881s] | ^~~~~~~~~~~~~~~ [ 881s] ../../../../modules/video_coding/codecs/multiplex/multiplex_encoder_adapter.cc: In member function 'virtual int webrtc::MultiplexEncoderAdapter::InitEncode(const webrtc::VideoCodec*, int, size_t)': [ 881s] ../../../../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 [ 881s] 96 | encoder_info_ = EncoderInfo(); [ 881s] | ^ [ 881s] [414/1909] CC obj/modules/audio_coding/ilbc_c/lsp_to_lsf.o [ 881s] [415/1909] CXX obj/media/rtc_media_base/codec.o [ 881s] [416/1909] CC obj/modules/audio_coding/ilbc_c/lsf_to_poly.o [ 881s] [417/1909] CC obj/modules/audio_coding/ilbc_c/nearest_neighbor.o [ 881s] [418/1909] CC obj/modules/audio_coding/ilbc_c/poly_to_lsf.o [ 881s] [419/1909] CXX obj/modules/audio_coding/audio_coding/audio_coding_module.o [ 881s] [420/1909] CC obj/modules/audio_coding/ilbc_c/simple_lsf_quant.o [ 881s] [421/1909] CC obj/modules/audio_coding/ilbc_c/poly_to_lsp.o [ 881s] [422/1909] CC obj/modules/audio_coding/ilbc_c/refiner.o [ 881s] [423/1909] CC obj/modules/audio_coding/ilbc_c/simple_lsf_dequant.o [ 881s] [424/1909] CC obj/modules/audio_coding/ilbc_c/smooth_out_data.o [ 881s] [425/1909] CC obj/modules/audio_coding/ilbc_c/sort_sq.o [ 881s] [426/1909] CC obj/modules/audio_coding/ilbc_c/simple_interpolate_lsf.o [ 881s] [427/1909] CC obj/modules/audio_coding/ilbc_c/simple_lpc_analysis.o [ 881s] [428/1909] CXX obj/rtc_base/rtc_numerics/moving_average.o [ 881s] [429/1909] CC obj/modules/audio_coding/ilbc_c/split_vq.o [ 881s] [430/1909] CC obj/modules/audio_coding/ilbc_c/state_construct.o [ 881s] [431/1909] CC obj/modules/audio_coding/ilbc_c/swap_bytes.o [ 881s] [432/1909] CC obj/modules/audio_coding/isac_fix_c/isacfix.o [ 881s] [433/1909] CC obj/modules/audio_coding/ilbc_c/smooth.o [ 881s] [434/1909] CC obj/modules/audio_coding/ilbc_c/window32_w32.o [ 881s] [435/1909] CC obj/modules/audio_coding/ilbc_c/pack_bits.o [ 881s] [436/1909] CC obj/modules/audio_coding/ilbc_c/state_search.o [ 881s] [437/1909] CC obj/modules/audio_coding/ilbc_c/vq4.o [ 881s] [438/1909] CC obj/modules/audio_coding/ilbc_c/xcorr_coef.o [ 881s] [439/1909] CC obj/modules/audio_coding/ilbc_c/vq3.o [ 881s] [440/1909] CC obj/modules/audio_coding/isac_fix_c/arith_routines.o [ 881s] [441/1909] CXX obj/pc/rtc_pc_base/transport_stats.o [ 881s] [442/1909] CC obj/modules/audio_coding/isac_fix_c/decode.o [ 881s] [443/1909] CC obj/modules/audio_coding/isac_fix_c/initialize.o [ 881s] [444/1909] CC obj/modules/audio_coding/ilbc_c/unpack_bits.o [ 881s] [445/1909] CC obj/modules/audio_coding/isac_fix_c/lpc_tables.o [ 881s] [446/1909] CC obj/modules/audio_coding/isac_fix_c/pitch_gain_tables.o [ 881s] [447/1909] CC obj/modules/audio_coding/isac_fix_c/pitch_lag_tables.o [ 881s] [448/1909] CC obj/modules/audio_coding/isac_fix_c/spectrum_ar_model_tables.o [ 881s] [449/1909] CC obj/modules/audio_coding/isac_fix_c/pitch_filter.o [ 881s] [450/1909] CXX obj/modules/audio_coding/ilbc/audio_encoder_ilbc.o [ 881s] [451/1909] CC obj/modules/audio_coding/isac_fix_c/decode_bwe.o [ 881s] [452/1909] CXX obj/modules/audio_coding/neteq/histogram.o [ 881s] [453/1909] CC obj/modules/audio_coding/isac_fix_c/lattice.o [ 881s] [454/1909] CC obj/modules/audio_coding/isac_fix_c/pitch_estimator_c.o [ 881s] [455/1909] CXX obj/rtc_base/rtc_base/helpers.o [ 881s] [456/1909] CC obj/modules/audio_coding/isac_fix_c/arith_routines_hist.o [ 881s] [457/1909] CC obj/modules/audio_coding/isac_fix_c/pitch_estimator.o [ 881s] [458/1909] CC obj/modules/audio_coding/isac_fix_c/decode_plc.o [ 881s] [459/1909] CXX obj/rtc_base/rtc_numerics/samples_stats_counter.o [ 881s] [460/1909] CC obj/modules/audio_coding/isac_fix_c/bandwidth_estimator.o [ 881s] [461/1909] CC obj/modules/audio_coding/isac_fix_c/lpc_masking_model.o [ 881s] [462/1909] CC obj/modules/audio_coding/isac_neon/lattice_neon.o [ 881s] [463/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp/playout_delay_oracle.o [ 881s] [464/1909] CC obj/modules/audio_coding/isac_neon/transform_neon.o [ 881s] [465/1909] CC obj/modules/audio_coding/isac_fix_common/transform_tables.o [ 881s] [466/1909] CXX obj/modules/audio_coding/audio_network_adaptor/controller_manager.o [ 881s] [467/1909] CC obj/modules/audio_coding/isac_fix_c/encode.o [ 881s] [468/1909] CC obj/modules/audio_coding/isac_vad/isac_vad.o [ 881s] [469/1909] CXX obj/modules/audio_coding/neteq/random_vector.o [ 881s] [470/1909] CXX obj/modules/audio_coding/neteq/normal.o [ 881s] [471/1909] CXX obj/media/rtc_media_base/media_channel.o [ 881s] [472/1909] CC obj/modules/audio_coding/isac_fix_common/fft.o [ 881s] [473/1909] CXX obj/modules/audio_coding/neteq/merge.o [ 881s] [474/1909] CXX obj/modules/audio_coding/isac_common/locked_bandwidth_info.o [ 881s] [475/1909] CXX obj/modules/audio_coding/neteq/nack_tracker.o [ 881s] [476/1909] CXX obj/rtc_base/rtc_base/file_rotating_stream.o [ 881s] [477/1909] CXX obj/modules/audio_coding/isac_fix/audio_decoder_isacfix.o [ 881s] [478/1909] CXX obj/modules/audio_coding/neteq/neteq.o [ 881s] [479/1909] CC obj/modules/audio_coding/isac_vad/pitch_estimator.o [ 881s] [480/1909] CC obj/modules/audio_coding/isac_fix_c/entropy_coding.o [ 881s] [481/1909] CXX obj/media/rtc_media_base/media_engine.o [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../api/audio_codecs/audio_decoder_factory.h:17, [ 881s] from ../../../../media/base/media_engine.h:22, [ 881s] from ../../../../media/base/media_engine.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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]' [ 881s] ../../../../media/base/media_engine.cc:52:26: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../media/base/media_engine.h:25, [ 881s] from ../../../../media/base/media_engine.cc:11: [ 881s] ../../../../api/rtp_parameters.h:342:3: note: because 'webrtc::RtpFecParameters' has user-provided 'webrtc::RtpFecParameters::RtpFecParameters(const webrtc::RtpFecParameters&)' [ 881s] 342 | RtpFecParameters(const RtpFecParameters&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../api/audio_codecs/audio_decoder_factory.h:17, [ 881s] from ../../../../media/base/media_engine.h:22, [ 881s] from ../../../../media/base/media_engine.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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]' [ 881s] ../../../../media/base/media_engine.cc:52:26: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../media/base/media_engine.h:25, [ 881s] from ../../../../media/base/media_engine.cc:11: [ 881s] ../../../../api/rtp_parameters.h:359:3: note: because 'webrtc::RtpRtxParameters' has user-provided 'webrtc::RtpRtxParameters::RtpRtxParameters(const webrtc::RtpRtxParameters&)' [ 881s] 359 | RtpRtxParameters(const RtpRtxParameters&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] [482/1909] CXX obj/modules/audio_coding/isac_fix/audio_encoder_isacfix.o [ 881s] [483/1909] CXX obj/modules/audio_coding/neteq/delay_peak_detector.o [ 881s] [484/1909] CC obj/system_wrappers/cpu_features_linux/cpu_features_linux.o [ 881s] [485/1909] STAMP obj/system_wrappers/cpu_features_api.stamp [ 881s] [486/1909] CXX obj/modules/audio_coding/neteq/dtmf_buffer.o [ 881s] [487/1909] CXX obj/modules/audio_coding/neteq/dsp_helper.o [ 881s] [488/1909] CXX obj/rtc_base/experiments/normalize_simulcast_size_experiment/normalize_simulcast_size_experiment.o [ 881s] [489/1909] CXX obj/modules/audio_coding/neteq/expand_uma_logger.o [ 881s] [490/1909] CXX obj/modules/audio_coding/neteq/dtmf_tone_generator.o [ 881s] [491/1909] CC obj/modules/audio_coding/pcm16b_c/pcm16b.o [ 881s] [492/1909] CXX obj/modules/audio_coding/neteq/post_decode_vad.o [ 881s] [493/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp/receive_statistics_impl.o [ 881s] [494/1909] STAMP obj/modules/audio_coding/pcm16b_c.stamp [ 881s] [495/1909] CXX obj/modules/audio_coding/neteq/tick_timer.o [ 881s] [496/1909] CXX obj/modules/audio_device/audio_device_impl/alsasymboltable_linux.o [ 881s] [497/1909] CXX obj/modules/audio_coding/neteq/buffer_level_filter.o [ 881s] [498/1909] CXX obj/modules/audio_coding/neteq/sync_buffer.o [ 881s] [499/1909] CXX obj/modules/audio_coding/neteq/preemptive_expand.o [ 881s] [500/1909] CXX obj/modules/audio_coding/neteq/packet.o [ 881s] [501/1909] CXX obj/modules/audio_device/audio_device_impl/pulseaudiosymboltable_linux.o [ 881s] [502/1909] CXX obj/media/rtc_data/sctp_transport.o [ 881s] [503/1909] CXX obj/rtc_base/network/sent_packet/sent_packet.o [ 881s] [504/1909] CXX obj/modules/audio_coding/neteq/time_stretch.o [ 881s] [505/1909] CXX obj/modules/audio_coding/neteq/decoder_database.o [ 881s] [506/1909] CXX obj/modules/audio_coding/neteq/expand.o [ 881s] [507/1909] CXX obj/media/rtc_media_base/rtp_data_engine.o [ 881s] [508/1909] CXX obj/modules/audio_coding/pcm16b/audio_decoder_pcm16b.o [ 881s] [509/1909] CXX obj/modules/audio_coding/neteq/timestamp_scaler.o [ 881s] [510/1909] CXX obj/modules/audio_coding/neteq/packet_buffer.o [ 881s] [511/1909] CXX obj/modules/audio_coding/neteq/background_noise.o [ 881s] [512/1909] CXX obj/modules/audio_coding/neteq/red_payload_splitter.o [ 881s] [513/1909] CXX obj/modules/audio_coding/pcm16b/audio_encoder_pcm16b.o [ 881s] [514/1909] CXX obj/modules/audio_coding/pcm16b/pcm16b_common.o [ 881s] [515/1909] CXX obj/pc/rtc_pc_base/srtp_transport.o [ 881s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 881s] from ../../../../pc/rtp_transport.h:18, [ 881s] from ../../../../pc/srtp_transport.h:24, [ 881s] from ../../../../pc/srtp_transport.cc:11: [ 881s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 881s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 881s] 423 | SctpDataContentDescription* as_sctp() override; [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 881s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 881s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 881s] | ^~~~~~~~~~~ [ 881s] [516/1909] CXX obj/modules/audio_coding/neteq/delay_manager.o [ 881s] [517/1909] CXX obj/media/rtc_audio_video/webrtc_media_engine.o [ 881s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 881s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 881s] from ../../../../call/call.h:24, [ 881s] from ../../../../media/engine/webrtc_media_engine.h:19, [ 881s] from ../../../../media/engine/webrtc_media_engine.cc:11: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 881s] from ../../../../pc/channel_interface.h:20, [ 881s] from ../../../../pc/channel.h:33, [ 881s] from ../../../../media/engine/webrtc_voice_engine.h:28, [ 881s] from ../../../../media/engine/webrtc_media_engine.cc:21: [ 881s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 881s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 881s] 423 | SctpDataContentDescription* as_sctp() override; [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 881s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 881s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 881s] | ^~~~~~~~~~~ [ 881s] [518/1909] CXX obj/modules/audio_device/audio_device_generic/audio_device_generic.o [ 881s] [519/1909] CXX obj/modules/audio_device/audio_device_impl/audio_device_dummy.o [ 881s] [520/1909] CXX obj/modules/audio_coding/webrtc_cng/webrtc_cng.o [ 881s] [521/1909] CXX obj/modules/audio_device/audio_device_impl/latebindingsymboltable_linux.o [ 881s] [522/1909] CXX obj/pc/peerconnection/data_channel.o [ 881s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 881s] from ../../../../pc/channel_interface.h:20, [ 881s] from ../../../../pc/channel.h:33, [ 881s] from ../../../../pc/data_channel.h:23, [ 881s] from ../../../../pc/data_channel.cc:11: [ 881s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 881s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 881s] 423 | SctpDataContentDescription* as_sctp() override; [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 881s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 881s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 881s] | ^~~~~~~~~~~ [ 881s] [523/1909] CXX obj/modules/audio_coding/neteq/comfort_noise.o [ 881s] [524/1909] CXX obj/modules/audio_device/audio_device_impl/audio_device_data_observer.o [ 881s] [525/1909] CXX obj/modules/audio_processing/apm_logging/apm_data_dumper.o [ 881s] [526/1909] CXX obj/modules/audio_coding/neteq/statistics_calculator.o [ 881s] [527/1909] CXX obj/modules/audio_processing/audio_processing/typing_detection.o [ 881s] [528/1909] CXX obj/modules/audio_processing/audio_buffer/three_band_filter_bank.o [ 881s] [529/1909] CXX obj/modules/audio_device/audio_device_impl/file_audio_device_factory.o [ 881s] [530/1909] CXX obj/call/call/call.o [ 881s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 881s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 881s] from ../../../../call/call.h:24, [ 881s] from ../../../../call/call.cc:27: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] In file included from ../../../../api/video/encoded_frame.h:14, [ 881s] from ../../../../modules/video_coding/frame_buffer2.h:21, [ 881s] from ../../../../video/video_receive_stream.h:23, [ 881s] from ../../../../call/call.cc:66: [ 881s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 881s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 881s] 108 | _codecSpecificInfo = *codec_specific; [ 881s] | ^~~~~~~~~~~~~~ [ 881s] In file included from ../../../../call/rtp_payload_params.h:21, [ 881s] from ../../../../call/rtp_video_sender.h:25, [ 881s] from ../../../../call/rtp_transport_controller_send.h:24, [ 881s] from ../../../../call/call.cc:31: [ 881s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 881s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 881s] | ^~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../call/call.cc:20: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 881s] from ../../../../call/rtp_payload_params.h:21, [ 881s] from ../../../../call/rtp_video_sender.h:25, [ 881s] from ../../../../call/rtp_transport_controller_send.h:24, [ 881s] from ../../../../call/call.cc:31: [ 881s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 881s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] [531/1909] CC obj/modules/audio_processing/audio_processing_c/noise_suppression_x.o [ 881s] [532/1909] CXX obj/pc/rtc_pc_base/dtls_srtp_transport.o [ 881s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 881s] from ../../../../pc/rtp_transport.h:18, [ 881s] from ../../../../pc/srtp_transport.h:24, [ 881s] from ../../../../pc/dtls_srtp_transport.h:21, [ 881s] from ../../../../pc/dtls_srtp_transport.cc:11: [ 881s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 881s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 881s] 423 | SctpDataContentDescription* as_sctp() override; [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 881s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 881s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 881s] | ^~~~~~~~~~~ [ 881s] [533/1909] CXX obj/modules/audio_processing/audio_processing/normalized_covariance_estimator.o [ 881s] [534/1909] CXX obj/modules/audio_device/audio_device_impl/file_audio_device.o [ 881s] [535/1909] CXX obj/modules/audio_processing/audio_buffer/splitting_filter.o [ 881s] [536/1909] CC obj/modules/audio_processing/audio_processing_c/nsx_core_c.o [ 881s] [537/1909] CXX obj/modules/audio_processing/audio_processing/level_estimator_impl.o [ 881s] [538/1909] CXX obj/modules/audio_processing/api/audio_processing.o [ 881s] [539/1909] CC obj/modules/audio_processing/audio_processing_c/nsx_core_neon.o [ 881s] [540/1909] CXX obj/video/video_stream_encoder_impl/encoder_overshoot_detector.o [ 881s] [541/1909] CXX obj/modules/audio_mixer/audio_mixer_impl/default_output_rate_calculator.o [ 881s] [542/1909] CXX obj/modules/audio_processing/audio_processing/wpd_node.o [ 881s] [543/1909] CXX obj/modules/audio_device/audio_device_impl/audio_device_alsa_linux.o [ 881s] [544/1909] CXX obj/modules/audio_processing/audio_processing/aec_dump.o [ 881s] [545/1909] CXX obj/modules/audio_processing/audio_processing/rms_level.o [ 881s] [546/1909] CXX obj/modules/audio_processing/aec3/aec3/echo_path_variability.o [ 881s] [547/1909] CXX obj/modules/audio_processing/audio_processing/mean_variance_estimator.o [ 881s] [548/1909] CXX obj/modules/audio_processing/audio_processing/moving_moments.o [ 881s] [549/1909] CXX obj/modules/audio_processing/config/config.o [ 881s] [550/1909] CXX obj/modules/audio_processing/audio_processing_statistics/audio_processing_statistics.o [ 881s] [551/1909] CXX obj/modules/audio_mixer/audio_mixer_impl/frame_combiner.o [ 881s] [552/1909] CXX obj/modules/audio_processing/audio_processing/wpd_tree.o [ 881s] [553/1909] CC obj/modules/audio_processing/audio_processing_c/nsx_core.o [ 881s] [554/1909] STAMP obj/modules/audio_processing/gain_control_interface.stamp [ 881s] [555/1909] CXX obj/modules/audio_device/audio_device_impl/audio_mixer_manager_alsa_linux.o [ 881s] [556/1909] CXX obj/modules/audio_processing/audio_processing/gain_controller2.o [ 881s] [557/1909] CXX obj/modules/audio_processing/audio_processing/transient_detector.o [ 881s] [558/1909] CXX obj/modules/audio_processing/audio_processing/low_cut_filter.o [ 881s] [559/1909] CXX obj/modules/audio_processing/audio_processing/gain_control_impl.o [ 881s] [560/1909] CXX obj/modules/audio_processing/audio_processing/noise_suppression_impl.o [ 881s] [561/1909] CXX obj/modules/audio_processing/aec3/aec3/downsampled_render_buffer.o [ 881s] [562/1909] CXX obj/modules/audio_processing/audio_processing/moving_max.o [ 881s] [563/1909] CXX obj/modules/audio_processing/audio_buffer/audio_buffer.o [ 881s] [564/1909] CXX obj/modules/audio_device/audio_device_impl/audio_device_impl.o [ 881s] [565/1909] CXX obj/modules/audio_processing/audio_processing/voice_detection_impl.o [ 881s] [566/1909] CXX obj/modules/audio_processing/audio_processing/circular_buffer.o [ 881s] [567/1909] CXX obj/modules/audio_device/audio_device_impl/audio_device_pulse_linux.o [ 881s] In file included from /usr/include/string.h:494, [ 881s] from ../../../../modules/audio_device/linux/audio_device_pulse_linux.cc:11: [ 881s] In function 'char* strncpy(char*, const char*, size_t)', [ 881s] inlined from 'int32_t webrtc::AudioDeviceLinuxPulse::GetDefaultDeviceInfo(bool, char*, uint16_t&)' at ../../../../modules/audio_device/linux/audio_device_pulse_linux.cc:1528:12: [ 881s] /usr/include/bits/string_fortified.h:106:34: warning: 'char* __builtin_strncpy(char*, const char*, unsigned int)' output may be truncated copying 119 bytes from a string of length 127 [-Wstringop-truncation] [ 881s] 106 | return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest)); [ 881s] | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 881s] [568/1909] CXX obj/modules/audio_processing/aec3/aec3/clockdrift_detector.o [ 881s] [569/1909] CXX obj/modules/audio_processing/aec3/aec3/erl_estimator.o [ 881s] [570/1909] CXX obj/modules/audio_processing/audio_processing/transient_suppressor.o [ 881s] [571/1909] CXX obj/video/video_stream_encoder_impl/frame_encode_metadata_writer.o [ 881s] [572/1909] CXX obj/modules/audio_processing/audio_processing/gain_control_for_experimental_agc.o [ 881s] [573/1909] CXX obj/modules/audio_coding/neteq/neteq_impl.o [ 881s] [574/1909] CXX obj/modules/audio_device/audio_device_impl/test_audio_device.o [ 881s] [575/1909] CXX obj/modules/audio_processing/aec3/aec3/aec3_fft.o [ 881s] [576/1909] CXX obj/modules/audio_processing/audio_processing/residual_echo_detector.o [ 881s] [577/1909] CXX obj/modules/audio_processing/aec/aec/aec_resampler.o [ 881s] [578/1909] CXX obj/modules/audio_processing/aec3/aec3/api_call_jitter_metrics.o [ 881s] [579/1909] CXX obj/modules/audio_processing/aec3/aec3/echo_audibility.o [ 881s] [580/1909] CXX obj/modules/audio_processing/aec3/aec3/block_framer.o [ 881s] [581/1909] CXX obj/modules/audio_processing/aec3/aec3/block_processor_metrics.o [ 881s] [582/1909] CXX obj/modules/audio_processing/audio_processing/echo_control_mobile_impl.o [ 881s] [583/1909] CXX obj/modules/audio_processing/aec3/aec3/echo_path_delay_estimator.o [ 881s] [584/1909] CXX obj/modules/audio_processing/audio_processing/echo_cancellation_impl.o [ 881s] [585/1909] CXX obj/modules/audio_processing/aec/aec/echo_cancellation.o [ 881s] [586/1909] CXX obj/modules/audio_processing/aec3/aec3/aec3_common.o [ 881s] [587/1909] CXX obj/modules/audio_processing/aec3/aec3/aec_state.o [ 881s] [588/1909] CXX obj/modules/audio_processing/aec3/aec3/cascaded_biquad_filter.o [ 881s] [589/1909] CXX obj/modules/audio_processing/aec3/aec3/decimator.o [ 881s] [590/1909] CXX obj/modules/audio_processing/aec3/aec3/block_delay_buffer.o [ 881s] [591/1909] CXX obj/modules/audio_processing/noise_suppression_proxy/noise_suppression_proxy.o [ 881s] [592/1909] CXX obj/modules/audio_processing/aec3/aec3/fft_buffer.o [ 881s] [593/1909] CXX obj/modules/audio_processing/aec3/aec3/block_processor.o [ 881s] [594/1909] CXX obj/modules/audio_processing/aec3/aec3/moving_average.o [ 881s] [595/1909] CXX obj/modules/audio_processing/gain_control_config_proxy/gain_control_config_proxy.o [ 881s] ../../../../modules/audio_processing/gain_control_config_proxy.cc: In function 'webrtc::AudioProcessing::Config::GainController1::Mode webrtc::{anonymous}::InterfaceModeToConfigMode(webrtc::GainControl::Mode)': [ 881s] ../../../../modules/audio_processing/gain_control_config_proxy.cc:27:1: warning: control reaches end of non-void function [-Wreturn-type] [ 881s] 27 | } [ 881s] | ^ [ 881s] [596/1909] CXX obj/modules/audio_processing/aec3/aec3/erle_estimator.o [ 881s] [597/1909] CXX obj/modules/audio_processing/aec3/aec3/matched_filter_lag_aggregator.o [ 881s] [598/1909] CXX obj/modules/audio_processing/aec3/aec3/frame_blocker.o [ 881s] [599/1909] CXX obj/modules/audio_processing/aec3/aec3/fullband_erle_estimator.o [ 881s] [600/1909] CXX obj/modules/audio_processing/aec3/aec3/filter_analyzer.o [ 881s] [601/1909] CXX obj/modules/audio_processing/aec3/aec3/matrix_buffer.o [ 881s] [602/1909] CXX obj/modules/audio_processing/aec3/aec3/render_delay_controller_metrics.o [ 881s] [603/1909] CXX obj/modules/audio_processing/aec3/aec3/main_filter_update_gain.o [ 881s] [604/1909] CXX obj/modules/audio_processing/aec3/aec3/render_reverb_model.o [ 881s] [605/1909] CXX obj/modules/audio_processing/aec3/aec3/reverb_model_fallback.o [ 881s] [606/1909] CXX obj/modules/audio_processing/aec/aec_core/aec_core_neon.o [ 881s] [607/1909] CXX obj/modules/audio_processing/aec3/aec3/render_buffer.o [ 881s] [608/1909] CXX obj/modules/audio_processing/aec3/aec3/reverb_model.o [ 881s] [609/1909] CXX obj/modules/audio_processing/aec3/aec3/comfort_noise_generator.o [ 881s] [610/1909] CXX obj/modules/audio_processing/aec3/aec3/adaptive_fir_filter.o [ 881s] [611/1909] CXX obj/modules/audio_processing/agc/level_estimation/utility.o [ 881s] [612/1909] CXX obj/modules/audio_processing/aecm/aecm_core/echo_control_mobile.o [ 881s] [613/1909] CXX obj/modules/audio_processing/aec3/aec3/render_delay_controller.o [ 881s] [614/1909] CXX obj/modules/audio_processing/aec3/aec3/echo_remover.o [ 881s] [615/1909] CC obj/modules/audio_processing/agc/agc_legacy_c/analog_agc.o [ 881s] [616/1909] CXX obj/modules/audio_processing/aec3/aec3/reverb_frequency_response.o [ 881s] [617/1909] CXX obj/modules/audio_processing/aec3/aec3/echo_canceller3.o [ 881s] [618/1909] CXX obj/modules/audio_processing/aec3/aec3/reverb_decay_estimator.o [ 881s] [619/1909] CXX obj/modules/audio_processing/aec3/aec3/echo_remover_metrics.o [ 881s] [620/1909] CXX obj/modules/audio_processing/aec3/aec3/reverb_model_estimator.o [ 881s] [621/1909] CXX obj/modules/audio_processing/aec3/aec3/residual_echo_estimator.o [ 881s] [622/1909] CXX obj/modules/audio_processing/aec3/aec3/render_signal_analyzer.o [ 881s] [623/1909] CXX obj/modules/audio_processing/aec3/aec3/subtractor_output.o [ 881s] [624/1909] CXX obj/modules/audio_processing/aec/aec_core/aec_core.o [ 881s] [625/1909] CXX obj/modules/audio_processing/agc2/biquad_filter/biquad_filter.o [ 881s] [626/1909] CXX obj/modules/audio_processing/agc2/common/agc2_common.o [ 881s] [627/1909] CXX obj/modules/audio_processing/aec3/aec3/subtractor_output_analyzer.o [ 881s] [628/1909] CXX obj/modules/audio_processing/vad/vad/gmm.o [ 881s] [629/1909] CXX obj/modules/audio_processing/aec3/aec3/matched_filter.o [ 881s] [630/1909] CXX obj/modules/audio_processing/aec3/aec3/stationarity_estimator.o [ 881s] [631/1909] CXX obj/modules/audio_processing/aec3/aec3/shadow_filter_update_gain.o [ 881s] [632/1909] CXX obj/modules/audio_processing/aec3/aec3/render_delay_buffer.o [ 881s] [633/1909] CXX obj/modules/audio_processing/aec3/aec3/vector_buffer.o [ 881s] [634/1909] CXX obj/modules/audio_processing/utility/ooura_fft/ooura_fft.o [ 881s] [635/1909] CXX obj/modules/audio_processing/agc/level_estimation/loudness_histogram.o [ 881s] [636/1909] CXX obj/modules/audio_processing/aecm/aecm_core/aecm_core_neon.o [ 881s] [637/1909] CXX obj/modules/audio_processing/aecm/aecm_core/aecm_core_c.o [ 881s] [638/1909] CXX obj/modules/audio_processing/aec3/aec3/subtractor.o [ 881s] [639/1909] CXX obj/modules/audio_processing/aec3/aec3/subband_erle_estimator.o [ 881s] [640/1909] CXX obj/modules/audio_processing/aec3/aec3/signal_dependent_erle_estimator.o [ 881s] [641/1909] CXX obj/modules/audio_processing/agc2/fixed_digital/interpolated_gain_curve.o [ 881s] [642/1909] CXX obj/modules/audio_processing/utility/ooura_fft/ooura_fft_neon.o [ 881s] [643/1909] CXX obj/modules/audio_processing/agc/level_estimation/agc.o [ 881s] [644/1909] CXX obj/modules/audio_processing/agc2/gain_applier/gain_applier.o [ 881s] [645/1909] CXX obj/modules/audio_processing/agc2/noise_level_estimator/down_sampler.o [ 881s] [646/1909] CXX obj/modules/audio_processing/agc2/fixed_digital/fixed_digital_level_estimator.o [ 881s] [647/1909] CXX obj/modules/audio_processing/agc2/adaptive_digital/adaptive_agc.o [ 881s] [648/1909] CXX obj/modules/audio_processing/agc2/fixed_digital/limiter.o [ 881s] [649/1909] CXX obj/modules/audio_processing/utility/block_mean_calculator/block_mean_calculator.o [ 881s] [650/1909] CXX obj/modules/audio_processing/agc2/noise_level_estimator/noise_spectrum_estimator.o [ 881s] [651/1909] CXX obj/modules/audio_processing/agc2/adaptive_digital/adaptive_digital_gain_applier.o [ 881s] [652/1909] CXX obj/modules/audio_processing/vad/vad/pitch_internal.o [ 881s] [653/1909] CXX obj/modules/audio_processing/agc2/noise_level_estimator/signal_classifier.o [ 881s] [654/1909] CXX obj/modules/audio_processing/agc2/rnn_vad_with_level/vad_with_level.o [ 881s] [655/1909] CXX obj/modules/audio_processing/agc2/rnn_vad/rnn_vad/rnn.o [ 881s] [656/1909] CXX obj/modules/audio_processing/utility/legacy_delay_estimator/delay_estimator_wrapper.o [ 881s] [657/1909] CXX obj/modules/audio_processing/agc2/level_estimation_agc/adaptive_mode_level_estimator_agc.o [ 881s] [658/1909] CXX obj/modules/audio_processing/agc2/noise_level_estimator/noise_level_estimator.o [ 881s] [659/1909] CXX obj/modules/audio_processing/aec3/aec3/suppression_filter.o [ 881s] [660/1909] CXX obj/modules/audio_processing/agc2/rnn_vad/rnn_vad/features_extraction.o [ 881s] [661/1909] CXX obj/modules/audio_processing/agc2/rnn_vad/rnn_vad/auto_correlation.o [ 881s] [662/1909] CXX obj/modules/audio_processing/vad/vad/pole_zero_filter.o [ 881s] [663/1909] CXX obj/modules/audio_processing/agc2/rnn_vad/rnn_vad/spectral_features.o [ 881s] [664/1909] CXX obj/modules/audio_processing/utility/legacy_delay_estimator/delay_estimator.o [ 881s] [665/1909] CXX obj/modules/audio_processing/agc2/rnn_vad/rnn_vad/spectral_features_internal.o [ 881s] [666/1909] CXX obj/modules/audio_processing/agc/agc/agc_manager_direct.o [ 881s] [667/1909] CXX obj/modules/audio_processing/agc2/rnn_vad/rnn_vad/pitch_search_internal.o [ 881s] [668/1909] CXX obj/modules/audio_processing/agc2/rnn_vad/rnn_vad/pitch_search.o [ 881s] [669/1909] CXX obj/modules/audio_processing/agc2/rnn_vad/rnn_vad/lp_residual.o [ 881s] [670/1909] CXX obj/modules/audio_processing/vad/vad/vad_circular_buffer.o [ 881s] [671/1909] CXX obj/modules/audio_processing/vad/vad/pitch_based_vad.o [ 881s] [672/1909] CXX obj/modules/audio_processing/aec3/aec3/suppression_gain.o [ 881s] [673/1909] CXX obj/modules/audio_processing/vad/vad/standalone_vad.o [ 881s] [674/1909] CXX obj/modules/audio_processing/vad/vad/voice_activity_detector.o [ 881s] [675/1909] CXX obj/modules/audio_processing/audio_processing/audio_processing_impl.o [ 881s] ../../../../modules/audio_processing/audio_processing_impl.cc: In member function 'virtual webrtc::AudioProcessing::Config webrtc::AudioProcessingImpl::GetConfig() const': [ 881s] ../../../../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] [ 881s] 1784 | return config_; [ 881s] | ^~~~~~~ [ 881s] In file included from ../../../../modules/audio_processing/audio_buffer.h:21, [ 881s] from ../../../../modules/audio_processing/audio_processing_impl.h:19, [ 881s] from ../../../../modules/audio_processing/audio_processing_impl.cc:11: [ 881s] ../../../../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&)' [ 881s] 367 | Config& operator=(const Config& config) { [ 881s] | ^~~~~~~~ [ 881s] ../../../../modules/audio_processing/audio_processing_impl.cc: In function 'webrtc::NoiseSuppression::Level webrtc::{anonymous}::NsConfigLevelToInterfaceLevel(webrtc::AudioProcessing::Config::NoiseSuppression::Level)': [ 881s] ../../../../modules/audio_processing/audio_processing_impl.cc:126:5: warning: control reaches end of non-void function [-Wreturn-type] [ 881s] 126 | default: [ 881s] | ^~~~~~~ [ 881s] ../../../../modules/audio_processing/audio_processing_impl.cc: In function 'webrtc::GainControl::Mode webrtc::{anonymous}::Agc1ConfigModeToInterfaceMode(webrtc::AudioProcessing::Config::GainController1::Mode)': [ 881s] ../../../../modules/audio_processing/audio_processing_impl.cc:142:1: warning: control reaches end of non-void function [-Wreturn-type] [ 881s] 142 | } [ 881s] | ^ [ 881s] [676/1909] CXX obj/modules/audio_processing/utility/pffft_wrapper/pffft_wrapper.o [ 881s] [677/1909] CXX obj/modules/audio_processing/vad/vad/vad_audio_proc.o [ 881s] [678/1909] CXX obj/modules/pacing/interval_budget/interval_budget.o [ 881s] [679/1909] CXX obj/modules/congestion_controller/goog_cc/pushback_controller/congestion_window_pushback_controller.o [ 881s] [680/1909] CXX obj/modules/bitrate_controller/bitrate_controller/bitrate_controller.o [ 881s] [681/1909] CXX obj/modules/congestion_controller/goog_cc/link_capacity_estimator/link_capacity_estimator.o [ 881s] [682/1909] CXX obj/modules/remote_bitrate_estimator/remote_bitrate_estimator/bwe_defines.o [ 881s] [683/1909] CXX obj/modules/congestion_controller/goog_cc/estimators/acknowledged_bitrate_estimator.o [ 881s] [684/1909] CXX obj/modules/congestion_controller/goog_cc/alr_detector/alr_detector.o [ 881s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 881s] from ../../../../modules/congestion_controller/goog_cc/alr_detector.cc:19: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] [685/1909] CXX obj/modules/congestion_controller/goog_cc/estimators/bitrate_estimator.o [ 881s] [686/1909] CXX obj/modules/congestion_controller/goog_cc/goog_cc/overuse_predictor.o [ 881s] [687/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp/fec_private_tables_random.o [ 881s] [688/1909] CXX obj/modules/bitrate_controller/bitrate_controller/loss_based_bandwidth_estimation.o [ 881s] [689/1909] CXX obj/modules/congestion_controller/congestion_controller/receive_side_congestion_controller.o [ 881s] [690/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtcp_nack_stats.o [ 881s] [691/1909] CXX obj/modules/pacing/pacing/bitrate_prober.o [ 881s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 881s] from ../../../../modules/pacing/bitrate_prober.cc:18: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] [692/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp/forward_error_correction_internal.o [ 881s] [693/1909] CXX obj/modules/congestion_controller/rtp/control_handler/control_handler.o [ 881s] [694/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp/packet_loss_stats.o [ 881s] [695/1909] CXX obj/modules/congestion_controller/goog_cc/delay_based_bwe/delay_based_bwe.o [ 881s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 881s] from ../../../../modules/congestion_controller/goog_cc/delay_based_bwe.cc:22: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] [696/1909] CXX obj/modules/congestion_controller/rtp/transport_feedback/send_time_history.o [ 881s] [697/1909] CXX obj/modules/bitrate_controller/bitrate_controller/bitrate_controller_impl.o [ 881s] [698/1909] CXX obj/modules/congestion_controller/goog_cc/probe_controller/probe_controller.o [ 881s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 881s] from ../../../../modules/congestion_controller/goog_cc/probe_controller.h:22, [ 881s] from ../../../../modules/congestion_controller/goog_cc/probe_controller.cc:11: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] [699/1909] CXX obj/modules/pacing/pacing/round_robin_packet_queue.o [ 881s] [700/1909] CXX obj/media/rtc_audio_video/webrtc_voice_engine.o [ 881s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 881s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 881s] from ../../../../call/call.h:24, [ 881s] from ../../../../media/engine/webrtc_voice_engine.h:24, [ 881s] from ../../../../media/engine/webrtc_voice_engine.cc:11: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 881s] from ../../../../pc/channel_interface.h:20, [ 881s] from ../../../../pc/channel.h:33, [ 881s] from ../../../../media/engine/webrtc_voice_engine.h:28, [ 881s] from ../../../../media/engine/webrtc_voice_engine.cc:11: [ 881s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 881s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 881s] 423 | SctpDataContentDescription* as_sctp() override; [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 881s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 881s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../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&)': [ 881s] ../../../../media/engine/webrtc_voice_engine.cc:725:30: warning: implicitly-declared 'webrtc::CryptoOptions& webrtc::CryptoOptions::operator=(const webrtc::CryptoOptions&)' is deprecated [-Wdeprecated-copy] [ 881s] 725 | config_.crypto_options = crypto_options; [ 881s] | ^~~~~~~~~~~~~~ [ 881s] In file included from ../../../../call/audio_receive_stream.h:22, [ 881s] from ../../../../call/call.h:19, [ 881s] from ../../../../media/engine/webrtc_voice_engine.h:24, [ 881s] from ../../../../media/engine/webrtc_voice_engine.cc:11: [ 881s] ../../../../api/crypto/crypto_options.h:23:3: note: because 'webrtc::CryptoOptions' has user-provided 'webrtc::CryptoOptions::CryptoOptions(const webrtc::CryptoOptions&)' [ 881s] 23 | CryptoOptions(const CryptoOptions& other); [ 881s] | ^~~~~~~~~~~~~ [ 881s] ../../../../media/engine/webrtc_voice_engine.cc: In member function 'webrtc::RTCError cricket::WebRtcVoiceMediaChannel::WebRtcAudioSendStream::SetRtpParameters(const webrtc::RtpParameters&)': [ 881s] ../../../../media/engine/webrtc_voice_engine.cc:924:23: warning: implicitly-declared 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' is deprecated [-Wdeprecated-copy] [ 881s] 924 | rtp_parameters_ = parameters; [ 881s] | ^~~~~~~~~~ [ 881s] In file included from ../../../../api/rtp_receiver_interface.h:25, [ 881s] from ../../../../media/engine/webrtc_voice_engine.h:20, [ 881s] from ../../../../media/engine/webrtc_voice_engine.cc:11: [ 881s] ../../../../api/rtp_parameters.h:624:3: note: because 'webrtc::RtpParameters' has user-provided 'webrtc::RtpParameters::RtpParameters(const webrtc::RtpParameters&)' [ 881s] 624 | RtpParameters(const RtpParameters&); [ 881s] | ^~~~~~~~~~~~~ [ 881s] ../../../../api/rtp_parameters.h: In member function 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)': [ 881s] ../../../../api/rtp_parameters.h:622:19: warning: implicitly-declared 'webrtc::RtcpParameters& webrtc::RtcpParameters::operator=(const webrtc::RtcpParameters&)' is deprecated [-Wdeprecated-copy] [ 881s] 622 | struct RTC_EXPORT RtpParameters { [ 881s] | ^~~~~~~~~~~~~ [ 881s] ../../../../api/rtp_parameters.h:589:3: note: because 'webrtc::RtcpParameters' has user-provided 'webrtc::RtcpParameters::RtcpParameters(const webrtc::RtcpParameters&)' [ 881s] 589 | RtcpParameters(const RtcpParameters&); [ 881s] | ^~~~~~~~~~~~~~ [ 881s] ../../../../media/engine/webrtc_voice_engine.cc: In member function 'webrtc::RTCError cricket::WebRtcVoiceMediaChannel::WebRtcAudioSendStream::SetRtpParameters(const webrtc::RtpParameters&)': [ 881s] ../../../../media/engine/webrtc_voice_engine.cc:924:23: note: synthesized method 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' first required here [ 881s] 924 | rtp_parameters_ = parameters; [ 881s] | ^~~~~~~~~~ [ 881s] ../../../../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&)': [ 881s] ../../../../media/engine/webrtc_voice_engine.cc:1089:30: warning: implicitly-declared 'webrtc::CryptoOptions& webrtc::CryptoOptions::operator=(const webrtc::CryptoOptions&)' is deprecated [-Wdeprecated-copy] [ 881s] 1089 | config_.crypto_options = crypto_options; [ 881s] | ^~~~~~~~~~~~~~ [ 881s] In file included from ../../../../call/audio_receive_stream.h:22, [ 881s] from ../../../../call/call.h:19, [ 881s] from ../../../../media/engine/webrtc_voice_engine.h:24, [ 881s] from ../../../../media/engine/webrtc_voice_engine.cc:11: [ 881s] ../../../../api/crypto/crypto_options.h:23:3: note: because 'webrtc::CryptoOptions' has user-provided 'webrtc::CryptoOptions::CryptoOptions(const webrtc::CryptoOptions&)' [ 881s] 23 | CryptoOptions(const CryptoOptions& other); [ 881s] | ^~~~~~~~~~~~~ [ 881s] ../../../../media/engine/webrtc_voice_engine.cc: In member function 'virtual webrtc::RtpParameters cricket::WebRtcVoiceMediaChannel::GetRtpReceiveParameters(uint32_t) const': [ 881s] ../../../../media/engine/webrtc_voice_engine.cc:1449:47: warning: implicitly-declared 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' is deprecated [-Wdeprecated-copy] [ 881s] 1449 | rtp_params = it->second->GetRtpParameters(); [ 881s] | ^ [ 881s] In file included from ../../../../api/rtp_receiver_interface.h:25, [ 881s] from ../../../../media/engine/webrtc_voice_engine.h:20, [ 881s] from ../../../../media/engine/webrtc_voice_engine.cc:11: [ 881s] ../../../../api/rtp_parameters.h:624:3: note: because 'webrtc::RtpParameters' has user-provided 'webrtc::RtpParameters::RtpParameters(const webrtc::RtpParameters&)' [ 881s] 624 | RtpParameters(const RtpParameters&); [ 881s] | ^~~~~~~~~~~~~ [ 881s] ../../../../media/engine/webrtc_voice_engine.cc: In member function 'virtual bool cricket::WebRtcVoiceMediaChannel::GetStats(cricket::VoiceMediaInfo*)': [ 881s] ../../../../media/engine/webrtc_voice_engine.cc:2216:34: warning: implicitly-declared 'webrtc::ANAStats& webrtc::ANAStats::operator=(const webrtc::ANAStats&)' is deprecated [-Wdeprecated-copy] [ 881s] 2216 | sinfo.ana_statistics = stats.ana_statistics; [ 881s] | ^~~~~~~~~~~~~~ [ 881s] In file included from ../../../../api/audio_codecs/audio_encoder_factory.h:19, [ 881s] from ../../../../media/engine/webrtc_voice_engine.h:19, [ 881s] from ../../../../media/engine/webrtc_voice_engine.cc:11: [ 881s] ../../../../api/audio_codecs/audio_encoder.h:31:3: note: because 'webrtc::ANAStats' has user-provided 'webrtc::ANAStats::ANAStats(const webrtc::ANAStats&)' [ 881s] 31 | ANAStats(const ANAStats&); [ 881s] | ^~~~~~~~ [ 881s] ../../../../media/engine/webrtc_voice_engine.cc:2217:34: warning: implicitly-declared 'webrtc::AudioProcessingStats& webrtc::AudioProcessingStats::operator=(const webrtc::AudioProcessingStats&)' is deprecated [-Wdeprecated-copy] [ 881s] 2217 | sinfo.apm_statistics = stats.apm_statistics; [ 881s] | ^~~~~~~~~~~~~~ [ 881s] In file included from ../../../../api/media_stream_interface.h:31, [ 881s] from ../../../../api/rtp_receiver_interface.h:22, [ 881s] from ../../../../media/engine/webrtc_voice_engine.h:20, [ 881s] from ../../../../media/engine/webrtc_voice_engine.cc:11: [ 881s] ../../../../modules/audio_processing/include/audio_processing_statistics.h:24:3: note: because 'webrtc::AudioProcessingStats' has user-provided 'webrtc::AudioProcessingStats::AudioProcessingStats(const webrtc::AudioProcessingStats&)' [ 881s] 24 | AudioProcessingStats(const AudioProcessingStats& other); [ 881s] | ^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../api/audio_codecs/audio_encoder_factory.h:17, [ 881s] from ../../../../media/engine/webrtc_voice_engine.h:19, [ 881s] from ../../../../media/engine/webrtc_voice_engine.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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]' [ 881s] ../../../../api/rtp_parameters.h:622:19: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../api/rtp_receiver_interface.h:25, [ 881s] from ../../../../media/engine/webrtc_voice_engine.h:20, [ 881s] from ../../../../media/engine/webrtc_voice_engine.cc:11: [ 881s] ../../../../api/rtp_parameters.h:342:3: note: because 'webrtc::RtpFecParameters' has user-provided 'webrtc::RtpFecParameters::RtpFecParameters(const webrtc::RtpFecParameters&)' [ 881s] 342 | RtpFecParameters(const RtpFecParameters&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../api/audio_codecs/audio_encoder_factory.h:17, [ 881s] from ../../../../media/engine/webrtc_voice_engine.h:19, [ 881s] from ../../../../media/engine/webrtc_voice_engine.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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]' [ 881s] ../../../../api/rtp_parameters.h:622:19: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../api/rtp_receiver_interface.h:25, [ 881s] from ../../../../media/engine/webrtc_voice_engine.h:20, [ 881s] from ../../../../media/engine/webrtc_voice_engine.cc:11: [ 881s] ../../../../api/rtp_parameters.h:359:3: note: because 'webrtc::RtpRtxParameters' has user-provided 'webrtc::RtpRtxParameters::RtpRtxParameters(const webrtc::RtpRtxParameters&)' [ 881s] 359 | RtpRtxParameters(const RtpRtxParameters&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] [701/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtp_format_vp8.o [ 881s] [702/1909] CXX obj/modules/pacing/pacing/paced_sender.o [ 881s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 881s] from ../../../../modules/pacing/paced_sender.cc:17: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] [703/1909] CXX obj/modules/remote_bitrate_estimator/remote_bitrate_estimator/aimd_rate_control.o [ 881s] [704/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtp_format_video_generic.o [ 881s] [705/1909] CXX obj/modules/congestion_controller/goog_cc/estimators/probe_bitrate_estimator.o [ 881s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 881s] from ../../../../modules/congestion_controller/goog_cc/probe_bitrate_estimator.cc:18: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] [706/1909] CXX obj/modules/congestion_controller/rtp/transport_feedback/transport_feedback_adapter.o [ 881s] [707/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp/remote_ntp_time_estimator.o [ 881s] [708/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtp_header_extension_size.o [ 881s] [709/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtp_header_parser.o [ 881s] [710/1909] CXX obj/modules/pacing/pacing/packet_router.o [ 881s] [711/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtp_format_vp9.o [ 881s] [712/1909] CXX obj/modules/bitrate_controller/bitrate_controller/send_side_bandwidth_estimation.o [ 881s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 881s] from ../../../../modules/bitrate_controller/send_side_bandwidth_estimation.cc:21: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] [713/1909] CXX obj/modules/remote_bitrate_estimator/remote_bitrate_estimator/overuse_estimator.o [ 881s] [714/1909] CXX obj/modules/congestion_controller/congestion_controller/send_side_congestion_controller.o [ 881s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 881s] from ../../../../modules/congestion_controller/goog_cc/probe_controller.h:22, [ 881s] from ../../../../modules/congestion_controller/send_side_congestion_controller.cc:28: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] [715/1909] CXX obj/modules/remote_bitrate_estimator/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.o [ 881s] [716/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp/flexfec_header_reader_writer.o [ 881s] [717/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp/time_util.o [ 881s] [718/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp/forward_error_correction.o [ 881s] [719/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp/tmmbr_help.o [ 881s] [720/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/extended_jitter_report.o [ 881s] [721/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/app.o [ 881s] [722/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/common_header.o [ 881s] [723/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtp_sequence_number_map.o [ 881s] [724/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtp_format.o [ 881s] [725/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/rrtr.o [ 881s] [726/1909] CXX obj/modules/congestion_controller/goog_cc/goog_cc/goog_cc_network_control.o [ 881s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 881s] from ../../../../modules/congestion_controller/goog_cc/goog_cc_network_control.h:28, [ 881s] from ../../../../modules/congestion_controller/goog_cc/goog_cc_network_control.cc:11: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] [727/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/report_block_data.o [ 881s] [728/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp/ulpfec_header_reader_writer.o [ 881s] [729/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/rtcp_packet.o [ 881s] [730/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtp_packet_history.o [ 881s] [731/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/bye.o [ 881s] [732/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/fir.o [ 881s] [733/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtp_utility.o [ 881s] [734/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/rtpfb.o [ 881s] [735/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/report_block.o [ 881s] [736/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/extended_reports.o [ 881s] [737/1909] CXX obj/modules/remote_bitrate_estimator/remote_bitrate_estimator/remote_estimator_proxy.o [ 881s] [738/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtp_sender_audio.o [ 881s] ../../../../modules/rtp_rtcp/source/rtp_sender_audio.cc: In function 'const char* webrtc::{anonymous}::FrameTypeToString(webrtc::AudioFrameType)': [ 881s] ../../../../modules/rtp_rtcp/source/rtp_sender_audio.cc:42:1: warning: control reaches end of non-void function [-Wreturn-type] [ 881s] 42 | } [ 881s] | ^ [ 881s] [739/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/tmmb_item.o [ 881s] [740/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp/ulpfec_receiver_impl.o [ 881s] [741/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/rtp_rtcp_defines.o [ 881s] [742/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp/ulpfec_generator.o [ 881s] [743/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/target_bitrate.o [ 881s] [744/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtp_format_h264.o [ 881s] ../../../../modules/rtp_rtcp/source/rtp_format_h264.cc: In member function 'bool webrtc::RtpDepacketizerH264::ProcessStapAOrSingleNalu(webrtc::RtpDepacketizer::ParsedPayload*, const uint8_t*)': [ 881s] ../../../../modules/rtp_rtcp/source/rtp_format_h264.cc:516:51: warning: this statement may fall through [-Wimplicit-fallthrough=] [ 881s] 516 | parsed_payload->video_header().frame_type = [ 881s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ [ 881s] 517 | VideoFrameType::kVideoFrameKey; [ 881s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 881s] ../../../../modules/rtp_rtcp/source/rtp_format_h264.cc:519:7: note: here [ 881s] 519 | case H264::NaluType::kSlice: { [ 881s] | ^~~~ [ 881s] [745/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/rtp_generic_frame_descriptor.o [ 881s] [746/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/sender_report.o [ 881s] [747/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/tmmbr.o [ 881s] [748/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/tmmbn.o [ 881s] [749/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/sdes.o [ 881s] [750/1909] CXX obj/modules/video_coding/video_coding/rtt_filter.o [ 881s] [751/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/compound_packet.o [ 881s] [752/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/rapid_resync_request.o [ 881s] [753/1909] CC obj/modules/third_party/g711/g711_3p/g711.o [ 881s] [754/1909] STAMP obj/modules/third_party/g711/g711_3p.stamp [ 881s] [755/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/psfb.o [ 881s] [756/1909] STAMP obj/modules/audio_coding/g711_c.stamp [ 881s] [757/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/loss_notification.o [ 881s] [758/1909] CXX obj/modules/video_coding/video_codec_interface/video_coding_defines.o [ 881s] [759/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/dlrr.o [ 881s] [760/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/pli.o [ 881s] [761/1909] CXX obj/modules/video_coding/packet/packet.o [ 881s] [762/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp/flexfec_sender.o [ 881s] [763/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtp_rtcp_impl.o [ 881s] [764/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp/flexfec_receiver.o [ 881s] [765/1909] CC obj/modules/third_party/g722/g722_3p/g722_decode.o [ 881s] [766/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/rtp_generic_frame_descriptor_extension.o [ 881s] [767/1909] CC obj/modules/third_party/g722/g722_3p/g722_encode.o [ 881s] [768/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/nack.o [ 881s] [769/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/remb.o [ 881s] [770/1909] STAMP obj/modules/third_party/g722/g722_3p.stamp [ 881s] [771/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/receiver_report.o [ 881s] [772/1909] STAMP obj/modules/audio_coding/g722_c.stamp [ 881s] [773/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/rtp_header_extension_map.o [ 881s] [774/1909] CC obj/modules/third_party/fft/fft/fft.o [ 881s] [775/1909] CXX obj/modules/video_coding/video_codec_interface/video_codec_interface.o [ 881s] [776/1909] STAMP obj/modules/third_party/fft/fft.stamp [ 881s] [777/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/rtp_header_extensions.o [ 881s] [778/1909] CXX obj/modules/video_coding/video_coding/inter_frame_delay.o [ 881s] [779/1909] CXX obj/modules/video_coding/video_coding/fec_controller_default.o [ 881s] [780/1909] CXX obj/modules/rtp_rtcp/rtp_video_header/rtp_video_header.o [ 881s] [781/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/transport_feedback.o [ 881s] [782/1909] CXX obj/modules/video_coding/video_coding/loss_notification_controller.o [ 881s] [783/1909] CXX obj/modules/video_coding/video_coding/codec_timer.o [ 881s] [784/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtp_sender.o [ 881s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 881s] from ../../../../modules/rtp_rtcp/source/rtp_sender.cc:22: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] [785/1909] CXX obj/modules/video_capture/video_capture_internal_impl/device_info_linux.o [ 881s] [786/1909] CXX obj/video/video_stream_encoder_impl/video_stream_encoder.o [ 881s] In file included from ../../../../modules/video_coding/generic_decoder.h:17, [ 881s] from ../../../../modules/video_coding/decoder_database.h:17, [ 881s] from ../../../../modules/video_coding/video_coding_impl.h:21, [ 881s] from ../../../../video/video_stream_encoder.h:30, [ 881s] from ../../../../video/video_stream_encoder.cc:11: [ 881s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 881s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 881s] 108 | _codecSpecificInfo = *codec_specific; [ 881s] | ^~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 881s] from ../../../../modules/video_coding/generic_decoder.h:17, [ 881s] from ../../../../modules/video_coding/decoder_database.h:17, [ 881s] from ../../../../modules/video_coding/video_coding_impl.h:21, [ 881s] from ../../../../video/video_stream_encoder.h:30, [ 881s] from ../../../../video/video_stream_encoder.cc:11: [ 881s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 881s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 881s] | ^~~~~~~~~~~~~~~~~ [ 881s] ../../../../video/video_stream_encoder.cc: In member function 'void webrtc::VideoStreamEncoder::VideoSourceProxy::SetSource(rtc::VideoSourceInterface*, const webrtc::DegradationPreference&)': [ 881s] ../../../../video/video_stream_encoder.cc:216:42: warning: implicitly-declared 'rtc::VideoSinkWants& rtc::VideoSinkWants::operator=(const rtc::VideoSinkWants&)' is deprecated [-Wdeprecated-copy] [ 881s] 216 | wants = GetActiveSinkWantsInternal(); [ 881s] | ^ [ 881s] In file included from ../../../../api/video/video_stream_encoder_interface.h:20, [ 881s] from ../../../../video/video_stream_encoder.h:23, [ 881s] from ../../../../video/video_stream_encoder.cc:11: [ 881s] ../../../../api/video/video_source_interface.h:26:3: note: because 'rtc::VideoSinkWants' has user-provided 'rtc::VideoSinkWants::VideoSinkWants(const rtc::VideoSinkWants&)' [ 881s] 26 | VideoSinkWants(const VideoSinkWants&); [ 881s] | ^~~~~~~~~~~~~~ [ 881s] ../../../../video/video_stream_encoder.cc: In member function 'void webrtc::VideoStreamEncoder::EncodeVideoFrame(const webrtc::VideoFrame&, int64_t)': [ 881s] ../../../../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] [ 881s] 1294 | encoder_info_ = info; [ 881s] | ^~~~ [ 881s] In file included from ../../../../api/video/video_stream_encoder_interface.h:21, [ 881s] from ../../../../video/video_stream_encoder.h:23, [ 881s] from ../../../../video/video_stream_encoder.cc:11: [ 881s] ../../../../api/video_codecs/video_encoder.h:130:5: note: because 'webrtc::VideoEncoder::EncoderInfo' has user-provided 'webrtc::VideoEncoder::EncoderInfo::EncoderInfo(const webrtc::VideoEncoder::EncoderInfo&)' [ 881s] 130 | EncoderInfo(const EncoderInfo&); [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/video_codecs/video_encoder.h: In member function 'webrtc::VideoEncoder::EncoderInfo& webrtc::VideoEncoder::EncoderInfo::operator=(const webrtc::VideoEncoder::EncoderInfo&)': [ 881s] ../../../../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] [ 881s] 125 | struct EncoderInfo { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/video_codecs/video_encoder.h:106:5: note: because 'webrtc::VideoEncoder::ScalingSettings' has user-provided 'webrtc::VideoEncoder::ScalingSettings::ScalingSettings(const webrtc::VideoEncoder::ScalingSettings&)' [ 881s] 106 | ScalingSettings(const ScalingSettings&); [ 881s] | ^~~~~~~~~~~~~~~ [ 881s] ../../../../video/video_stream_encoder.cc: In member function 'void webrtc::VideoStreamEncoder::EncodeVideoFrame(const webrtc::VideoFrame&, int64_t)': [ 881s] ../../../../video/video_stream_encoder.cc:1294:19: note: synthesized method 'webrtc::VideoEncoder::EncoderInfo& webrtc::VideoEncoder::EncoderInfo::operator=(const webrtc::VideoEncoder::EncoderInfo&)' first required here [ 881s] 1294 | encoder_info_ = info; [ 881s] | ^~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../api/video/video_bitrate_allocation.h:20, [ 881s] from ../../../../api/video/video_bitrate_allocator.h:14, [ 881s] from ../../../../video/video_stream_encoder.h:20, [ 881s] from ../../../../video/video_stream_encoder.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 881s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 881s] from ../../../../modules/video_coding/generic_decoder.h:17, [ 881s] from ../../../../modules/video_coding/decoder_database.h:17, [ 881s] from ../../../../modules/video_coding/video_coding_impl.h:21, [ 881s] from ../../../../video/video_stream_encoder.h:30, [ 881s] from ../../../../video/video_stream_encoder.cc:11: [ 881s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 881s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] ../../../../video/video_stream_encoder.cc: In member function 'virtual void webrtc::VideoStreamEncoder::AdaptDown(webrtc::AdaptationObserverInterface::AdaptReason)': [ 881s] ../../../../video/video_stream_encoder.cc:1682:24: warning: this statement may fall through [-Wimplicit-fallthrough=] [ 881s] 1682 | RTC_FALLTHROUGH(); [ 881s] | ^ [ 881s] ../../../../video/video_stream_encoder.cc:1684:5: note: here [ 881s] 1684 | case DegradationPreference::MAINTAIN_FRAMERATE: { [ 881s] | ^~~~ [ 881s] ../../../../video/video_stream_encoder.cc: In member function 'virtual void webrtc::VideoStreamEncoder::AdaptUp(webrtc::AdaptationObserverInterface::AdaptReason)': [ 881s] ../../../../video/video_stream_encoder.cc:1764:24: warning: this statement may fall through [-Wimplicit-fallthrough=] [ 881s] 1764 | RTC_FALLTHROUGH(); [ 881s] | ^ [ 881s] ../../../../video/video_stream_encoder.cc:1766:5: note: here [ 881s] 1766 | case DegradationPreference::MAINTAIN_FRAMERATE: { [ 881s] | ^~~~ [ 881s] [787/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtp_sender_video.o [ 881s] [788/1909] CXX obj/modules/video_capture/video_capture_module/device_info_impl.o [ 881s] [789/1909] CXX obj/modules/video_processing/video_processing_neon/denoiser_filter_neon.o [ 881s] [790/1909] CXX obj/modules/video_coding/video_coding_utility/vp8_header_parser.o [ 881s] [791/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtcp_sender.o [ 881s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 881s] from ../../../../modules/rtp_rtcp/source/rtcp_sender.cc:20: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../modules/rtp_rtcp/source/rtcp_sender.cc: In member function 'std::unique_ptr webrtc::RTCPSender::BuildLossNotification(const webrtc::RTCPSender::RtcpContext&)': [ 881s] ../../../../modules/rtp_rtcp/source/rtcp_sender.cc:612:19: warning: redundant move in return statement [-Wredundant-move] [ 881s] 612 | return std::move(loss_notification); [ 881s] | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~ [ 881s] ../../../../modules/rtp_rtcp/source/rtcp_sender.cc:612:19: note: remove 'std::move' call [ 881s] ../../../../modules/rtp_rtcp/source/rtcp_sender.cc: In member function 'std::unique_ptr webrtc::RTCPSender::BuildExtendedReports(const webrtc::RTCPSender::RtcpContext&)': [ 881s] ../../../../modules/rtp_rtcp/source/rtcp_sender.cc:673:19: warning: redundant move in return statement [-Wredundant-move] [ 881s] 673 | return std::move(xr); [ 881s] | ~~~~~~~~~^~~~ [ 881s] ../../../../modules/rtp_rtcp/source/rtcp_sender.cc:673:19: note: remove 'std::move' call [ 881s] [792/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtcp_receiver.o [ 881s] [793/1909] CXX obj/modules/video_coding/video_coding_utility/frame_dropper.o [ 881s] [794/1909] CXX obj/modules/video_coding/video_coding/h264_sprop_parameter_sets.o [ 881s] [795/1909] CXX obj/modules/utility/utility/process_thread_impl.o [ 881s] [796/1909] CXX obj/modules/video_coding/video_coding/timestamp_map.o [ 881s] [797/1909] CXX obj/modules/video_coding/encoded_frame/encoded_frame.o [ 881s] In file included from ../../../../modules/video_coding/encoded_frame.cc:11: [ 881s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 881s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 881s] 108 | _codecSpecificInfo = *codec_specific; [ 881s] | ^~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 881s] from ../../../../modules/video_coding/encoded_frame.cc:11: [ 881s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 881s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 881s] | ^~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../api/video/encoded_image.h:17, [ 881s] from ../../../../modules/video_coding/encoded_frame.h:16, [ 881s] from ../../../../modules/video_coding/encoded_frame.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 881s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 881s] from ../../../../modules/video_coding/encoded_frame.cc:11: [ 881s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 881s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] [798/1909] CXX obj/modules/video_coding/video_coding/receiver.o [ 881s] In file included from ../../../../modules/video_coding/receiver.cc:21: [ 881s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 881s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 881s] 108 | _codecSpecificInfo = *codec_specific; [ 881s] | ^~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 881s] from ../../../../modules/video_coding/receiver.cc:21: [ 881s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 881s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 881s] | ^~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../api/video/video_frame.h:16, [ 881s] from ../../../../modules/video_coding/include/video_coding.h:15, [ 881s] from ../../../../modules/video_coding/receiver.h:17, [ 881s] from ../../../../modules/video_coding/receiver.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 881s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 881s] from ../../../../modules/video_coding/receiver.cc:21: [ 881s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 881s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] [799/1909] CXX obj/modules/video_coding/video_coding_utility/framerate_controller.o [ 881s] [800/1909] CXX obj/media/rtc_audio_video/webrtc_video_engine.o [ 881s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 881s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 881s] from ../../../../call/call.h:24, [ 881s] from ../../../../media/engine/webrtc_video_engine.h:27, [ 881s] from ../../../../media/engine/webrtc_video_engine.cc:11: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 881s] from ../../../../pc/channel_interface.h:20, [ 881s] from ../../../../pc/channel.h:33, [ 881s] from ../../../../media/engine/webrtc_voice_engine.h:28, [ 881s] from ../../../../media/engine/webrtc_video_engine.cc:31: [ 881s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 881s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 881s] 423 | SctpDataContentDescription* as_sctp() override; [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 881s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 881s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../media/engine/webrtc_video_engine.cc: In member function 'virtual webrtc::RtpParameters cricket::WebRtcVideoChannel::GetRtpReceiveParameters(uint32_t) const': [ 881s] ../../../../media/engine/webrtc_video_engine.cc:868:47: warning: implicitly-declared 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' is deprecated [-Wdeprecated-copy] [ 881s] 868 | rtp_params = it->second->GetRtpParameters(); [ 881s] | ^ [ 881s] In file included from ../../../../call/audio_receive_stream.h:24, [ 881s] from ../../../../call/call.h:19, [ 881s] from ../../../../media/engine/webrtc_video_engine.h:27, [ 881s] from ../../../../media/engine/webrtc_video_engine.cc:11: [ 881s] ../../../../api/rtp_parameters.h:624:3: note: because 'webrtc::RtpParameters' has user-provided 'webrtc::RtpParameters::RtpParameters(const webrtc::RtpParameters&)' [ 881s] 624 | RtpParameters(const RtpParameters&); [ 881s] | ^~~~~~~~~~~~~ [ 881s] ../../../../api/rtp_parameters.h: In member function 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)': [ 881s] ../../../../api/rtp_parameters.h:622:19: warning: implicitly-declared 'webrtc::RtcpParameters& webrtc::RtcpParameters::operator=(const webrtc::RtcpParameters&)' is deprecated [-Wdeprecated-copy] [ 881s] 622 | struct RTC_EXPORT RtpParameters { [ 881s] | ^~~~~~~~~~~~~ [ 881s] ../../../../api/rtp_parameters.h:589:3: note: because 'webrtc::RtcpParameters' has user-provided 'webrtc::RtcpParameters::RtcpParameters(const webrtc::RtcpParameters&)' [ 881s] 589 | RtcpParameters(const RtcpParameters&); [ 881s] | ^~~~~~~~~~~~~~ [ 881s] ../../../../media/engine/webrtc_video_engine.cc: In member function 'virtual webrtc::RtpParameters cricket::WebRtcVideoChannel::GetRtpReceiveParameters(uint32_t) const': [ 881s] ../../../../media/engine/webrtc_video_engine.cc:868:47: note: synthesized method 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' first required here [ 881s] 868 | rtp_params = it->second->GetRtpParameters(); [ 881s] | ^ [ 881s] ../../../../media/engine/webrtc_video_engine.cc: In member function 'virtual bool cricket::WebRtcVideoChannel::AddSendStream(const cricket::StreamParams&)': [ 881s] ../../../../media/engine/webrtc_video_engine.cc:1105:27: warning: implicitly-declared 'webrtc::CryptoOptions& webrtc::CryptoOptions::operator=(const webrtc::CryptoOptions&)' is deprecated [-Wdeprecated-copy] [ 881s] 1105 | config.crypto_options = crypto_options_; [ 881s] | ^~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../call/audio_receive_stream.h:22, [ 881s] from ../../../../call/call.h:19, [ 881s] from ../../../../media/engine/webrtc_video_engine.h:27, [ 881s] from ../../../../media/engine/webrtc_video_engine.cc:11: [ 881s] ../../../../api/crypto/crypto_options.h:23:3: note: because 'webrtc::CryptoOptions' has user-provided 'webrtc::CryptoOptions::CryptoOptions(const webrtc::CryptoOptions&)' [ 881s] 23 | CryptoOptions(const CryptoOptions& other); [ 881s] | ^~~~~~~~~~~~~ [ 881s] ../../../../media/engine/webrtc_video_engine.cc: In member function 'bool cricket::WebRtcVideoChannel::AddRecvStream(const cricket::StreamParams&, bool)': [ 881s] ../../../../media/engine/webrtc_video_engine.cc:1228:27: warning: implicitly-declared 'webrtc::CryptoOptions& webrtc::CryptoOptions::operator=(const webrtc::CryptoOptions&)' is deprecated [-Wdeprecated-copy] [ 881s] 1228 | config.crypto_options = crypto_options_; [ 881s] | ^~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../call/audio_receive_stream.h:22, [ 881s] from ../../../../call/call.h:19, [ 881s] from ../../../../media/engine/webrtc_video_engine.h:27, [ 881s] from ../../../../media/engine/webrtc_video_engine.cc:11: [ 881s] ../../../../api/crypto/crypto_options.h:23:3: note: because 'webrtc::CryptoOptions' has user-provided 'webrtc::CryptoOptions::CryptoOptions(const webrtc::CryptoOptions&)' [ 881s] 23 | CryptoOptions(const CryptoOptions& other); [ 881s] | ^~~~~~~~~~~~~ [ 881s] ../../../../media/engine/webrtc_video_engine.cc: In member function 'webrtc::RTCError cricket::WebRtcVideoChannel::WebRtcVideoSendStream::SetRtpParameters(const webrtc::RtpParameters&)': [ 881s] ../../../../media/engine/webrtc_video_engine.cc:2006:21: warning: implicitly-declared 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' is deprecated [-Wdeprecated-copy] [ 881s] 2006 | rtp_parameters_ = new_parameters; [ 881s] | ^~~~~~~~~~~~~~ [ 881s] In file included from ../../../../call/audio_receive_stream.h:24, [ 881s] from ../../../../call/call.h:19, [ 881s] from ../../../../media/engine/webrtc_video_engine.h:27, [ 881s] from ../../../../media/engine/webrtc_video_engine.cc:11: [ 881s] ../../../../api/rtp_parameters.h:624:3: note: because 'webrtc::RtpParameters' has user-provided 'webrtc::RtpParameters::RtpParameters(const webrtc::RtpParameters&)' [ 881s] 624 | RtpParameters(const RtpParameters&); [ 881s] | ^~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../media/engine/webrtc_video_engine.h:20, [ 881s] from ../../../../media/engine/webrtc_video_engine.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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]' [ 881s] ../../../../api/rtp_parameters.h:622:19: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../call/audio_receive_stream.h:24, [ 881s] from ../../../../call/call.h:19, [ 881s] from ../../../../media/engine/webrtc_video_engine.h:27, [ 881s] from ../../../../media/engine/webrtc_video_engine.cc:11: [ 881s] ../../../../api/rtp_parameters.h:342:3: note: because 'webrtc::RtpFecParameters' has user-provided 'webrtc::RtpFecParameters::RtpFecParameters(const webrtc::RtpFecParameters&)' [ 881s] 342 | RtpFecParameters(const RtpFecParameters&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../media/engine/webrtc_video_engine.h:20, [ 881s] from ../../../../media/engine/webrtc_video_engine.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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]' [ 881s] ../../../../api/rtp_parameters.h:622:19: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../call/audio_receive_stream.h:24, [ 881s] from ../../../../call/call.h:19, [ 881s] from ../../../../media/engine/webrtc_video_engine.h:27, [ 881s] from ../../../../media/engine/webrtc_video_engine.cc:11: [ 881s] ../../../../api/rtp_parameters.h:359:3: note: because 'webrtc::RtpRtxParameters' has user-provided 'webrtc::RtpRtxParameters::RtpRtxParameters(const webrtc::RtpRtxParameters&)' [ 881s] 359 | RtpRtxParameters(const RtpRtxParameters&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] [801/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/rtp_packet.o [ 881s] [802/1909] CXX obj/modules/video_coding/video_coding_utility/default_video_bitrate_allocator.o [ 881s] [803/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/rtp_packet_to_send.o [ 881s] [804/1909] CXX obj/modules/video_coding/video_coding/jitter_estimator.o [ 881s] [805/1909] CXX obj/modules/video_capture/video_capture_internal_impl/video_capture_linux.o [ 881s] [806/1909] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/rtp_packet_received.o [ 881s] [807/1909] CXX obj/modules/video_coding/video_coding/media_opt_util.o [ 881s] [808/1909] CXX obj/modules/video_coding/video_coding_utility/simulcast_utility.o [ 881s] [809/1909] CXX obj/modules/video_coding/webrtc_h264/h264.o [ 881s] [810/1909] CXX obj/modules/video_coding/video_coding_utility/simulcast_rate_allocator.o [ 881s] [811/1909] CXX obj/modules/video_coding/video_coding/decoder_database.o [ 881s] In file included from ../../../../modules/video_coding/generic_decoder.h:17, [ 881s] from ../../../../modules/video_coding/decoder_database.h:17, [ 881s] from ../../../../modules/video_coding/decoder_database.cc:11: [ 881s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 881s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 881s] 108 | _codecSpecificInfo = *codec_specific; [ 881s] | ^~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 881s] from ../../../../modules/video_coding/generic_decoder.h:17, [ 881s] from ../../../../modules/video_coding/decoder_database.h:17, [ 881s] from ../../../../modules/video_coding/decoder_database.cc:11: [ 881s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 881s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 881s] | ^~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../api/rtp_headers.h:18, [ 881s] from ../../../../modules/include/module_common_types.h:18, [ 881s] from ../../../../modules/video_coding/generic_decoder.h:16, [ 881s] from ../../../../modules/video_coding/decoder_database.h:17, [ 881s] from ../../../../modules/video_coding/decoder_database.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 881s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 881s] from ../../../../modules/video_coding/generic_decoder.h:17, [ 881s] from ../../../../modules/video_coding/decoder_database.h:17, [ 881s] from ../../../../modules/video_coding/decoder_database.cc:11: [ 881s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 881s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] [812/1909] CXX obj/modules/video_coding/video_coding/frame_buffer.o [ 881s] In file included from ../../../../modules/video_coding/frame_buffer.h:20, [ 881s] from ../../../../modules/video_coding/frame_buffer.cc:11: [ 881s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 881s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 881s] 108 | _codecSpecificInfo = *codec_specific; [ 881s] | ^~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 881s] from ../../../../modules/video_coding/frame_buffer.h:20, [ 881s] from ../../../../modules/video_coding/frame_buffer.cc:11: [ 881s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 881s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 881s] | ^~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../api/video/encoded_image.h:17, [ 881s] from ../../../../modules/video_coding/encoded_frame.h:16, [ 881s] from ../../../../modules/video_coding/frame_buffer.h:20, [ 881s] from ../../../../modules/video_coding/frame_buffer.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 881s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 881s] from ../../../../modules/video_coding/frame_buffer.h:20, [ 881s] from ../../../../modules/video_coding/frame_buffer.cc:11: [ 881s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 881s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] [813/1909] CXX obj/modules/video_coding/video_coding/session_info.o [ 881s] [814/1909] CXX obj/modules/video_coding/video_coding/timing.o [ 881s] [815/1909] CXX obj/modules/video_coding/video_coding/video_codec_initializer.o [ 881s] [816/1909] CXX obj/modules/video_coding/webrtc_h264/h264_color_space.o [ 881s] [817/1909] CXX obj/modules/video_coding/webrtc_h264/h264_decoder_impl.o [ 881s] [818/1909] CXX obj/p2p/rtc_p2p/connection_info.o [ 881s] [819/1909] CXX obj/modules/video_coding/webrtc_h264/h264_encoder_impl.o [ 881s] [820/1909] CXX obj/modules/video_coding/video_coding/generic_decoder.o [ 881s] In file included from ../../../../modules/video_coding/generic_decoder.h:17, [ 881s] from ../../../../modules/video_coding/generic_decoder.cc:11: [ 881s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 881s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 881s] 108 | _codecSpecificInfo = *codec_specific; [ 881s] | ^~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 881s] from ../../../../modules/video_coding/generic_decoder.h:17, [ 881s] from ../../../../modules/video_coding/generic_decoder.cc:11: [ 881s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 881s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 881s] | ^~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../api/rtp_headers.h:18, [ 881s] from ../../../../modules/include/module_common_types.h:18, [ 881s] from ../../../../modules/video_coding/generic_decoder.h:16, [ 881s] from ../../../../modules/video_coding/generic_decoder.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 881s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 881s] from ../../../../modules/video_coding/generic_decoder.h:17, [ 881s] from ../../../../modules/video_coding/generic_decoder.cc:11: [ 881s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 881s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] [821/1909] CXX obj/modules/video_coding/video_coding/decoding_state.o [ 881s] In file included from ../../../../modules/video_coding/frame_buffer.h:20, [ 881s] from ../../../../modules/video_coding/decoding_state.cc:15: [ 881s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 881s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 881s] 108 | _codecSpecificInfo = *codec_specific; [ 881s] | ^~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 881s] from ../../../../modules/video_coding/frame_buffer.h:20, [ 881s] from ../../../../modules/video_coding/decoding_state.cc:15: [ 881s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 881s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 881s] | ^~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../api/rtp_headers.h:18, [ 881s] from ../../../../modules/include/module_common_types.h:18, [ 881s] from ../../../../modules/video_coding/decoding_state.cc:14: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 881s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 881s] from ../../../../modules/video_coding/frame_buffer.h:20, [ 881s] from ../../../../modules/video_coding/decoding_state.cc:15: [ 881s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 881s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] [822/1909] CXX obj/p2p/rtc_p2p/basic_async_resolver_factory.o [ 881s] [823/1909] CXX obj/modules/video_coding/video_coding/video_receiver.o [ 881s] In file included from ../../../../modules/video_coding/generic_decoder.h:17, [ 881s] from ../../../../modules/video_coding/decoder_database.h:17, [ 881s] from ../../../../modules/video_coding/video_receiver.cc:20: [ 881s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 881s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 881s] 108 | _codecSpecificInfo = *codec_specific; [ 881s] | ^~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 881s] from ../../../../modules/video_coding/generic_decoder.h:17, [ 881s] from ../../../../modules/video_coding/decoder_database.h:17, [ 881s] from ../../../../modules/video_coding/video_receiver.cc:20: [ 881s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 881s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 881s] | ^~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../api/rtp_headers.h:18, [ 881s] from ../../../../modules/video_coding/video_receiver.cc:15: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 881s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 881s] from ../../../../modules/video_coding/generic_decoder.h:17, [ 881s] from ../../../../modules/video_coding/decoder_database.h:17, [ 881s] from ../../../../modules/video_coding/video_receiver.cc:20: [ 881s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 881s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] [824/1909] CXX obj/modules/video_coding/video_coding/packet_buffer.o [ 881s] In file included from ../../../../api/video/encoded_frame.h:14, [ 881s] from ../../../../modules/video_coding/packet_buffer.cc:19: [ 881s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 881s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 881s] 108 | _codecSpecificInfo = *codec_specific; [ 881s] | ^~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 881s] from ../../../../api/video/encoded_frame.h:14, [ 881s] from ../../../../modules/video_coding/packet_buffer.cc:19: [ 881s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 881s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 881s] | ^~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/packet_buffer.h:21, [ 881s] from ../../../../modules/video_coding/packet_buffer.cc:11: [ 881s] ../../../../modules/video_coding/packet.h: In member function 'webrtc::VCMPacket& webrtc::VCMPacket::operator=(const webrtc::VCMPacket&)': [ 881s] ../../../../modules/video_coding/packet.h:34:7: warning: implicitly-declared 'webrtc::RTPVideoHeader& webrtc::RTPVideoHeader::operator=(const webrtc::RTPVideoHeader&)' is deprecated [-Wdeprecated-copy] [ 881s] 34 | class VCMPacket { [ 881s] | ^~~~~~~~~ [ 881s] In file included from ../../../../modules/include/module_common_types.h:22, [ 881s] from ../../../../modules/video_coding/packet_buffer.h:20, [ 881s] from ../../../../modules/video_coding/packet_buffer.cc:11: [ 881s] ../../../../modules/rtp_rtcp/source/rtp_video_header.h:51:3: note: because 'webrtc::RTPVideoHeader' has user-provided 'webrtc::RTPVideoHeader::RTPVideoHeader(const webrtc::RTPVideoHeader&)' [ 881s] 51 | RTPVideoHeader(const RTPVideoHeader& other); [ 881s] | ^~~~~~~~~~~~~~ [ 881s] ../../../../modules/video_coding/packet_buffer.cc: In member function 'virtual bool webrtc::video_coding::PacketBuffer::InsertPacket(webrtc::VCMPacket*)': [ 881s] ../../../../modules/video_coding/packet_buffer.cc:121:28: note: synthesized method 'webrtc::VCMPacket& webrtc::VCMPacket::operator=(const webrtc::VCMPacket&)' first required here [ 881s] 121 | data_buffer_[index] = *packet; [ 881s] | ^~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../api/rtp_headers.h:18, [ 881s] from ../../../../modules/include/module_common_types.h:18, [ 881s] from ../../../../modules/video_coding/packet_buffer.h:20, [ 881s] from ../../../../modules/video_coding/packet_buffer.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 881s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 881s] from ../../../../api/video/encoded_frame.h:14, [ 881s] from ../../../../modules/video_coding/packet_buffer.cc:19: [ 881s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 881s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../api/rtp_headers.h:18, [ 881s] from ../../../../modules/include/module_common_types.h:18, [ 881s] from ../../../../modules/video_coding/packet_buffer.h:20, [ 881s] from ../../../../modules/video_coding/packet_buffer.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/include/module_common_types.h:22, [ 881s] from ../../../../modules/video_coding/packet_buffer.h:20, [ 881s] from ../../../../modules/video_coding/packet_buffer.cc:11: [ 881s] ../../../../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&)' [ 881s] 39 | GenericDescriptorInfo(const GenericDescriptorInfo& other); [ 881s] | ^~~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../api/rtp_headers.h:18, [ 881s] from ../../../../modules/include/module_common_types.h:18, [ 881s] from ../../../../modules/video_coding/packet_buffer.h:20, [ 881s] from ../../../../modules/video_coding/packet_buffer.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/packet.h:20, [ 881s] from ../../../../modules/video_coding/packet_buffer.h:21, [ 881s] from ../../../../modules/video_coding/packet_buffer.cc:11: [ 881s] ../../../../modules/rtp_rtcp/source/rtp_generic_frame_descriptor.h:32:3: note: because 'webrtc::RtpGenericFrameDescriptor' has user-provided 'webrtc::RtpGenericFrameDescriptor::RtpGenericFrameDescriptor(const webrtc::RtpGenericFrameDescriptor&)' [ 881s] 32 | RtpGenericFrameDescriptor(const RtpGenericFrameDescriptor&); [ 881s] | ^~~~~~~~~~~~~~~~~~~~~~~~~ [ 881s] [825/1909] CXX obj/p2p/rtc_p2p/transport_description.o [ 881s] [826/1909] CXX obj/modules/video_coding/video_coding/h264_sps_pps_tracker.o [ 881s] In file included from ../../../../api/video/encoded_frame.h:14, [ 881s] from ../../../../modules/video_coding/frame_object.h:15, [ 881s] from ../../../../modules/video_coding/h264_sps_pps_tracker.cc:20: [ 881s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 881s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 881s] 108 | _codecSpecificInfo = *codec_specific; [ 881s] | ^~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 881s] from ../../../../api/video/encoded_frame.h:14, [ 881s] from ../../../../modules/video_coding/frame_object.h:15, [ 881s] from ../../../../modules/video_coding/h264_sps_pps_tracker.cc:20: [ 881s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 881s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 881s] | ^~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../api/rtp_headers.h:18, [ 881s] from ../../../../modules/include/module_common_types.h:18, [ 881s] from ../../../../modules/video_coding/h264_sps_pps_tracker.h:19, [ 881s] from ../../../../modules/video_coding/h264_sps_pps_tracker.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 881s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 881s] from ../../../../api/video/encoded_frame.h:14, [ 881s] from ../../../../modules/video_coding/frame_object.h:15, [ 881s] from ../../../../modules/video_coding/h264_sps_pps_tracker.cc:20: [ 881s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 881s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] [827/1909] CXX obj/modules/video_coding/video_coding/video_coding_impl.o [ 881s] In file included from ../../../../modules/video_coding/generic_decoder.h:17, [ 881s] from ../../../../modules/video_coding/decoder_database.h:17, [ 881s] from ../../../../modules/video_coding/video_coding_impl.h:21, [ 881s] from ../../../../modules/video_coding/video_coding_impl.cc:11: [ 881s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 881s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 881s] 108 | _codecSpecificInfo = *codec_specific; [ 881s] | ^~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 881s] from ../../../../modules/video_coding/generic_decoder.h:17, [ 881s] from ../../../../modules/video_coding/decoder_database.h:17, [ 881s] from ../../../../modules/video_coding/video_coding_impl.h:21, [ 881s] from ../../../../modules/video_coding/video_coding_impl.cc:11: [ 881s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 881s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 881s] | ^~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../api/video/video_frame.h:16, [ 881s] from ../../../../modules/video_coding/include/video_coding.h:15, [ 881s] from ../../../../modules/video_coding/video_coding_impl.h:14, [ 881s] from ../../../../modules/video_coding/video_coding_impl.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 881s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 881s] from ../../../../modules/video_coding/generic_decoder.h:17, [ 881s] from ../../../../modules/video_coding/decoder_database.h:17, [ 881s] from ../../../../modules/video_coding/video_coding_impl.h:21, [ 881s] from ../../../../modules/video_coding/video_coding_impl.cc:11: [ 881s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 881s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] [828/1909] CXX obj/modules/video_processing/video_processing/denoiser_filter.o [ 881s] [829/1909] CXX obj/p2p/rtc_p2p/transport_description_factory.o [ 881s] [830/1909] CXX obj/modules/video_coding/nack_module/nack_module.o [ 881s] [831/1909] CXX obj/p2p/rtc_p2p/basic_packet_socket_factory.o [ 881s] [832/1909] CXX obj/modules/video_coding/webrtc_vp9_helpers/svc_config.o [ 881s] [833/1909] CXX obj/modules/video_coding/webrtc_multiplex/augmented_video_frame_buffer.o [ 881s] [834/1909] CXX obj/p2p/rtc_p2p/ice_credentials_iterator.o [ 881s] [835/1909] CXX obj/p2p/rtc_p2p/p2p_constants.o [ 881s] [836/1909] CXX obj/modules/video_processing/video_processing/video_denoiser.o [ 881s] ../../../../modules/video_processing/video_denoiser.cc: In member function 'void webrtc::VideoDenoiser::CopySrcOnMOB(const uint8_t*, int, webrtc::uint8_t*, int)': [ 881s] ../../../../modules/video_processing/video_denoiser.cc:194:31: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context] [ 881s] 194 | (x_density_[mb_col] * y_density_[mb_row] && [ 881s] [837/1909] CXX obj/p2p/rtc_p2p/stun_request.o [ 881s] [838/1909] CXX obj/p2p/rtc_p2p/regathering_controller.o [ 881s] [839/1909] CXX obj/modules/video_coding/video_coding_utility/vp9_uncompressed_header_parser.o [ 881s] [840/1909] CXX obj/p2p/rtc_p2p/turn_port_factory.o [ 881s] ../../../../p2p/client/turn_port_factory.cc: In member function 'virtual std::unique_ptr cricket::TurnPortFactory::Create(const cricket::CreateRelayPortArgs&, rtc::AsyncPacketSocket*)': [ 881s] ../../../../p2p/client/turn_port_factory.cc:32:19: warning: redundant move in return statement [-Wredundant-move] [ 881s] 32 | return std::move(port); [ 881s] | ~~~~~~~~~^~~~~~ [ 881s] ../../../../p2p/client/turn_port_factory.cc:32:19: note: remove 'std::move' call [ 881s] ../../../../p2p/client/turn_port_factory.cc: In member function 'virtual std::unique_ptr cricket::TurnPortFactory::Create(const cricket::CreateRelayPortArgs&, int, int)': [ 881s] ../../../../p2p/client/turn_port_factory.cc:45:19: warning: redundant move in return statement [-Wredundant-move] [ 881s] 45 | return std::move(port); [ 881s] | ~~~~~~~~~^~~~~~ [ 881s] ../../../../p2p/client/turn_port_factory.cc:45:19: note: remove 'std::move' call [ 881s] [841/1909] CXX obj/modules/video_coding/video_coding/jitter_buffer.o [ 881s] In file included from ../../../../modules/video_coding/frame_buffer.h:20, [ 881s] from ../../../../modules/video_coding/jitter_buffer.cc:19: [ 881s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 881s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 881s] 108 | _codecSpecificInfo = *codec_specific; [ 881s] | ^~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 881s] from ../../../../modules/video_coding/frame_buffer.h:20, [ 881s] from ../../../../modules/video_coding/jitter_buffer.cc:19: [ 881s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 881s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 881s] | ^~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../api/rtp_headers.h:18, [ 881s] from ../../../../modules/include/module_common_types.h:18, [ 881s] from ../../../../modules/video_coding/jitter_buffer.h:20, [ 881s] from ../../../../modules/video_coding/jitter_buffer.cc:10: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 881s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 881s] from ../../../../modules/video_coding/frame_buffer.h:20, [ 881s] from ../../../../modules/video_coding/jitter_buffer.cc:19: [ 881s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 881s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] [842/1909] CXX obj/modules/video_coding/webrtc_vp8_temporal_layers/temporal_layers_checker.o [ 881s] ../../../../modules/video_coding/codecs/vp8/temporal_layers_checker.cc: In static member function 'static std::unique_ptr webrtc::TemporalLayersChecker::CreateTemporalLayersChecker(webrtc::Vp8TemporalLayersType, int)': [ 881s] ../../../../modules/video_coding/codecs/vp8/temporal_layers_checker.cc:30:1: warning: control reaches end of non-void function [-Wreturn-type] [ 881s] 30 | } [ 881s] | ^ [ 881s] [843/1909] CXX obj/modules/video_coding/webrtc_vp9_helpers/svc_rate_allocator.o [ 881s] [844/1909] CXX obj/p2p/rtc_p2p/packet_socket_factory.o [ 881s] [845/1909] CXX obj/p2p/rtc_p2p/stun.o [ 881s] [846/1909] CXX obj/modules/video_coding/video_coding/rtp_frame_reference_finder.o [ 881s] In file included from ../../../../api/video/encoded_frame.h:14, [ 881s] from ../../../../modules/video_coding/frame_object.h:15, [ 881s] from ../../../../modules/video_coding/rtp_frame_reference_finder.cc:17: [ 881s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 881s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 881s] 108 | _codecSpecificInfo = *codec_specific; [ 881s] | ^~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 881s] from ../../../../api/video/encoded_frame.h:14, [ 881s] from ../../../../modules/video_coding/frame_object.h:15, [ 881s] from ../../../../modules/video_coding/rtp_frame_reference_finder.cc:17: [ 881s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 881s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 881s] | ^~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../api/rtp_headers.h:18, [ 881s] from ../../../../modules/include/module_common_types.h:18, [ 881s] from ../../../../modules/video_coding/rtp_frame_reference_finder.h:21, [ 881s] from ../../../../modules/video_coding/rtp_frame_reference_finder.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 881s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 881s] from ../../../../api/video/encoded_frame.h:14, [ 881s] from ../../../../modules/video_coding/frame_object.h:15, [ 881s] from ../../../../modules/video_coding/rtp_frame_reference_finder.cc:17: [ 881s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 881s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] ../../../../modules/video_coding/rtp_frame_reference_finder.cc: In member function 'void webrtc::video_coding::RtpFrameReferenceFinder::RetryStashedFrames()': [ 881s] ../../../../modules/video_coding/rtp_frame_reference_finder.cc:76:43: warning: this statement may fall through [-Wimplicit-fallthrough=] [ 881s] 76 | frame_callback_->OnCompleteFrame(std::move(*frame_it)); [ 881s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ [ 881s] ../../../../modules/video_coding/rtp_frame_reference_finder.cc:78:9: note: here [ 881s] 78 | case kDrop: [ 881s] | ^~~~ [ 881s] [847/1909] CXX obj/p2p/rtc_p2p/dtls_transport_internal.o [ 881s] [848/1909] CXX obj/p2p/rtc_p2p/ice_transport_internal.o [ 881s] [849/1909] CXX obj/modules/video_coding/video_coding_utility/ivf_file_writer.o [ 881s] [850/1909] CXX obj/modules/video_coding/webrtc_multiplex/multiplex_encoded_image_packer.o [ 881s] [851/1909] CXX obj/p2p/rtc_p2p/async_stun_tcp_socket.o [ 881s] [852/1909] CXX obj/rtc_base/criticalsection/critical_section.o [ 881s] [853/1909] CXX obj/p2p/rtc_p2p/tcp_port.o [ 881s] [854/1909] CXX obj/p2p/rtc_p2p/port_interface.o [ 881s] [855/1909] CXX obj/p2p/rtc_p2p/datagram_dtls_adaptor.o [ 881s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 881s] from ../../../../p2p/base/datagram_dtls_adaptor.cc:22: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] [856/1909] CXX obj/modules/video_coding/video_coding/frame_buffer2.o [ 881s] In file included from ../../../../api/video/encoded_frame.h:14, [ 881s] from ../../../../modules/video_coding/frame_buffer2.h:21, [ 881s] from ../../../../modules/video_coding/frame_buffer2.cc:11: [ 881s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 881s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 881s] 108 | _codecSpecificInfo = *codec_specific; [ 881s] | ^~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 881s] from ../../../../api/video/encoded_frame.h:14, [ 881s] from ../../../../modules/video_coding/frame_buffer2.h:21, [ 881s] from ../../../../modules/video_coding/frame_buffer2.cc:11: [ 881s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 881s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 881s] | ^~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../api/video/encoded_image.h:17, [ 881s] from ../../../../modules/video_coding/encoded_frame.h:16, [ 881s] from ../../../../api/video/encoded_frame.h:14, [ 881s] from ../../../../modules/video_coding/frame_buffer2.h:21, [ 881s] from ../../../../modules/video_coding/frame_buffer2.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 881s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 881s] from ../../../../api/video/encoded_frame.h:14, [ 881s] from ../../../../modules/video_coding/frame_buffer2.h:21, [ 881s] from ../../../../modules/video_coding/frame_buffer2.cc:11: [ 881s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 881s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] [857/1909] CXX obj/pc/peerconnection/jsep_ice_candidate.o [ 881s] In file included from ../../../../pc/jsep_ice_candidate.cc:11: [ 881s] ../../../../api/jsep_ice_candidate.h: In member function 'void webrtc::JsepIceCandidate::SetCandidate(const cricket::Candidate&)': [ 881s] ../../../../api/jsep_ice_candidate.h:39:18: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 881s] 39 | candidate_ = candidate; [ 881s] | ^~~~~~~~~ [ 881s] In file included from ../../../../api/jsep_ice_candidate.h:21, [ 881s] from ../../../../pc/jsep_ice_candidate.cc:11: [ 881s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 881s] 46 | Candidate(const Candidate&); [ 881s] | ^~~~~~~~~ [ 881s] [858/1909] CXX obj/pc/peerconnection/local_audio_source.o [ 881s] [859/1909] CXX obj/pc/peerconnection/jitter_buffer_delay.o [ 881s] [860/1909] CXX obj/p2p/rtc_p2p/stun_port.o [ 881s] [861/1909] CXX obj/modules/video_coding/webrtc_vp8_temporal_layers/screenshare_layers.o [ 881s] [862/1909] CXX obj/pc/rtc_pc_base/simulcast_description.o [ 881s] [863/1909] CXX obj/p2p/rtc_p2p/packet_transport_internal.o [ 881s] [864/1909] CXX obj/p2p/rtc_p2p/relay_port.o [ 881s] [865/1909] CXX obj/p2p/rtc_p2p/pseudo_tcp.o [ 881s] [866/1909] CXX obj/pc/peerconnection/dtmf_sender.o [ 881s] [867/1909] CXX obj/p2p/rtc_p2p/mdns_message.o [ 881s] [868/1909] CXX obj/pc/peerconnection/rtc_stats_traversal.o [ 881s] [869/1909] CXX obj/p2p/rtc_p2p/no_op_dtls_transport.o [ 881s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 881s] from ../../../../p2p/base/no_op_dtls_transport.cc:20: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] [870/1909] CXX obj/pc/rtc_pc_base/srtp_session.o [ 881s] [871/1909] CXX obj/pc/peerconnection/media_stream.o [ 881s] [872/1909] CXX obj/modules/video_coding/webrtc_multiplex/multiplex_decoder_adapter.o [ 881s] [873/1909] CXX obj/pc/peerconnection/sctp_utils.o [ 881s] [874/1909] STAMP obj/pc/media_protocol_names.stamp [ 881s] [875/1909] CXX obj/p2p/rtc_p2p/connection.o [ 881s] ../../../../p2p/base/connection.cc: In member function 'void cricket::Connection::MaybeUpdatePeerReflexiveCandidate(const cricket::Candidate&)': [ 881s] ../../../../p2p/base/connection.cc:955:25: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 881s] 955 | remote_candidate_ = new_candidate; [ 881s] | ^~~~~~~~~~~~~ [ 881s] In file included from ../../../../p2p/base/connection.h:18, [ 881s] from ../../../../p2p/base/connection.cc:11: [ 881s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 881s] 46 | Candidate(const Candidate&); [ 881s] | ^~~~~~~~~ [ 881s] ../../../../p2p/base/connection.cc: In member function 'void cricket::Connection::CopyCandidatesToStatsAndSanitizeIfNecessary()': [ 881s] ../../../../p2p/base/connection.cc:1075:66: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 881s] 1075 | stats_.local_candidate = get_sanitized_copy(local_candidate()); [ 881s] | ^ [ 881s] In file included from ../../../../p2p/base/connection.h:18, [ 881s] from ../../../../p2p/base/connection.cc:11: [ 881s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 881s] 46 | Candidate(const Candidate&); [ 881s] | ^~~~~~~~~ [ 881s] ../../../../p2p/base/connection.cc:1077:46: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 881s] 1077 | stats_.local_candidate = local_candidate(); [ 881s] | ^ [ 881s] In file included from ../../../../p2p/base/connection.h:18, [ 881s] from ../../../../p2p/base/connection.cc:11: [ 881s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 881s] 46 | Candidate(const Candidate&); [ 881s] | ^~~~~~~~~ [ 881s] ../../../../p2p/base/connection.cc:1089:68: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 881s] 1089 | stats_.remote_candidate = get_sanitized_copy(remote_candidate()); [ 881s] | ^ [ 881s] In file included from ../../../../p2p/base/connection.h:18, [ 881s] from ../../../../p2p/base/connection.cc:11: [ 881s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 881s] 46 | Candidate(const Candidate&); [ 881s] | ^~~~~~~~~ [ 881s] ../../../../p2p/base/connection.cc:1091:48: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 881s] 1091 | stats_.remote_candidate = remote_candidate(); [ 881s] | ^ [ 881s] In file included from ../../../../p2p/base/connection.h:18, [ 881s] from ../../../../p2p/base/connection.cc:11: [ 881s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 881s] 46 | Candidate(const Candidate&); [ 881s] | ^~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../p2p/base/connection.h:17, [ 881s] from ../../../../p2p/base/connection.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../p2p/base/connection.cc:817:58: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../logging/rtc_event_log/ice_logger.h:17, [ 881s] from ../../../../p2p/base/connection.h:19, [ 881s] from ../../../../p2p/base/connection.cc:11: [ 881s] ../../../../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&)' [ 881s] 69 | explicit IceCandidatePairDescription( [ 881s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 881s] [876/1909] CXX obj/rtc_base/platform_thread_types/platform_thread_types.o [ 881s] [877/1909] CXX obj/p2p/libstunprober/stun_prober.o [ 881s] [878/1909] STAMP obj/rtc_base/platform_thread_types.stamp [ 881s] [879/1909] CXX obj/pc/peerconnection/media_stream_observer.o [ 881s] [880/1909] CXX obj/p2p/rtc_p2p/dtls_transport.o [ 881s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 881s] from ../../../../p2p/base/dtls_transport.cc:20: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] [881/1909] CXX obj/p2p/rtc_p2p/port_allocator.o [ 881s] ../../../../p2p/base/port_allocator.cc: In member function 'virtual void cricket::PortAllocatorSession::GetCandidateStatsFromReadyPorts(cricket::CandidateStatsList*) const': [ 881s] ../../../../p2p/base/port_allocator.cc:100:57: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 881s] 100 | use_hostname_address, filter_related_address); [ 881s] | ^ [ 881s] In file included from ../../../../p2p/base/port.h:21, [ 881s] from ../../../../p2p/base/port_allocator.h:19, [ 881s] from ../../../../p2p/base/port_allocator.cc:11: [ 881s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 881s] 46 | Candidate(const Candidate&); [ 881s] | ^~~~~~~~~ [ 881s] [882/1909] CXX obj/pc/peerconnection/video_track.o [ 881s] [883/1909] CXX obj/p2p/rtc_p2p/port.o [ 881s] ../../../../p2p/base/port.cc: In constructor 'cricket::CandidateStats::CandidateStats(cricket::Candidate)': [ 881s] ../../../../p2p/base/port.cc:111:21: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 881s] 111 | this->candidate = candidate; [ 881s] | ^~~~~~~~~ [ 881s] In file included from ../../../../p2p/base/port.h:21, [ 881s] from ../../../../p2p/base/port.cc:11: [ 881s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 881s] 46 | Candidate(const Candidate&); [ 881s] | ^~~~~~~~~ [ 881s] [884/1909] CXX obj/rtc_base/platform_thread/platform_thread.o [ 881s] [885/1909] CXX obj/p2p/rtc_p2p/turn_port.o [ 881s] [886/1909] STAMP obj/rtc_base/protobuf_utils.stamp [ 881s] [887/1909] CXX obj/rtc_base/rtc_base/null_socket_server.o [ 881s] [888/1909] CXX obj/pc/rtc_pc_base/srtp_filter.o [ 881s] In file included from ../../../../pc/srtp_filter.h:24, [ 881s] from ../../../../pc/srtp_filter.cc:11: [ 881s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 881s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 881s] 423 | SctpDataContentDescription* as_sctp() override; [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 881s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 881s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 881s] | ^~~~~~~~~~~ [ 881s] [889/1909] CXX obj/pc/rtc_pc_base/rtp_media_utils.o [ 881s] [890/1909] CXX obj/modules/video_coding/webrtc_vp8_temporal_layers/default_temporal_layers.o [ 881s] [891/1909] CXX obj/rtc_base/rtc_base/network_monitor.o [ 881s] [892/1909] CXX obj/pc/peerconnection/ice_server_parsing.o [ 881s] In file included from ../../../../api/rtc_event_log/rtc_event_log_factory_interface.h:16, [ 881s] from ../../../../api/peer_connection_interface.h:88, [ 881s] from ../../../../pc/ice_server_parsing.h:16, [ 881s] from ../../../../pc/ice_server_parsing.cc:11: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] [893/1909] CXX obj/pc/peerconnection/video_track_source.o [ 881s] [894/1909] CXX obj/pc/peerconnection/sdp_utils.o [ 881s] In file included from ../../../../pc/sdp_utils.h:19, [ 881s] from ../../../../pc/sdp_utils.cc:11: [ 881s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 881s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 881s] 423 | SctpDataContentDescription* as_sctp() override; [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 881s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 881s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 881s] | ^~~~~~~~~~~ [ 881s] In file included from ../../../../api/jsep_session_description.h:24, [ 881s] from ../../../../pc/sdp_utils.cc:17: [ 881s] ../../../../api/jsep_ice_candidate.h: In member function 'void webrtc::JsepIceCandidate::SetCandidate(const cricket::Candidate&)': [ 881s] ../../../../api/jsep_ice_candidate.h:39:18: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 881s] 39 | candidate_ = candidate; [ 881s] | ^~~~~~~~~ [ 881s] In file included from ../../../../p2p/base/transport_info.h:17, [ 881s] from ../../../../pc/session_description.h:29, [ 881s] from ../../../../pc/sdp_utils.h:19, [ 881s] from ../../../../pc/sdp_utils.cc:11: [ 881s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 881s] 46 | Candidate(const Candidate&); [ 881s] | ^~~~~~~~~ [ 881s] ../../../../pc/sdp_utils.cc: In function 'std::unique_ptr webrtc::CloneSessionDescriptionAsType(const webrtc::SessionDescriptionInterface*, webrtc::SdpType)': [ 881s] ../../../../pc/sdp_utils.cc:37:19: warning: redundant move in return statement [-Wredundant-move] [ 881s] 37 | return std::move(clone); [ 881s] | ~~~~~~~~~^~~~~~~ [ 881s] ../../../../pc/sdp_utils.cc:37:19: note: remove 'std::move' call [ 881s] [895/1909] CXX obj/pc/peerconnection/rtp_receiver.o [ 881s] [896/1909] CXX obj/rtc_base/rtc_base/async_socket.o [ 881s] [897/1909] CXX obj/rtc_base/rtc_base/async_udp_socket.o [ 881s] [898/1909] CXX obj/pc/peerconnection/jsep_session_description.o [ 881s] In file included from ../../../../api/jsep_session_description.h:24, [ 881s] from ../../../../pc/jsep_session_description.cc:11: [ 881s] ../../../../api/jsep_ice_candidate.h: In member function 'void webrtc::JsepIceCandidate::SetCandidate(const cricket::Candidate&)': [ 881s] ../../../../api/jsep_ice_candidate.h:39:18: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 881s] 39 | candidate_ = candidate; [ 881s] | ^~~~~~~~~ [ 881s] In file included from ../../../../api/jsep_session_description.h:22, [ 881s] from ../../../../pc/jsep_session_description.cc:11: [ 881s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 881s] 46 | Candidate(const Candidate&); [ 881s] | ^~~~~~~~~ [ 881s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 881s] from ../../../../pc/rtp_transport.h:18, [ 881s] from ../../../../pc/srtp_transport.h:24, [ 881s] from ../../../../pc/dtls_srtp_transport.h:21, [ 881s] from ../../../../pc/jsep_transport.h:26, [ 881s] from ../../../../pc/media_session.h:26, [ 881s] from ../../../../pc/jsep_session_description.cc:17: [ 881s] ../../../../pc/session_description.h: At global scope: [ 881s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 881s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 881s] 423 | SctpDataContentDescription* as_sctp() override; [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 881s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 881s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../pc/jsep_session_description.cc: In function 'std::unique_ptr webrtc::CreateSessionDescription(webrtc::SdpType, const string&, webrtc::SdpParseError*)': [ 881s] ../../../../pc/jsep_session_description.cc:143:19: warning: redundant move in return statement [-Wredundant-move] [ 881s] 143 | return std::move(jsep_desc); [ 881s] | ~~~~~~~~~^~~~~~~~~~~ [ 881s] ../../../../pc/jsep_session_description.cc:143:19: note: remove 'std::move' call [ 881s] ../../../../pc/jsep_session_description.cc: In function 'std::unique_ptr webrtc::CreateSessionDescription(webrtc::SdpType, const string&, const string&, std::unique_ptr)': [ 881s] ../../../../pc/jsep_session_description.cc:155:19: warning: redundant move in return statement [-Wredundant-move] [ 881s] 155 | return std::move(jsep_description); [ 881s] | ~~~~~~~~~^~~~~~~~~~~~~~~~~~ [ 881s] ../../../../pc/jsep_session_description.cc:155:19: note: remove 'std::move' call [ 881s] [899/1909] STAMP obj/rtc_base/gtest_prod.stamp [ 881s] [900/1909] STAMP obj/rtc_base/deprecation.stamp [ 881s] [901/1909] STAMP obj/rtc_base/compile_assert_c.stamp [ 881s] [902/1909] STAMP obj/modules/audio_coding/audio_coding_module_typedefs.stamp [ 881s] [903/1909] CXX obj/rtc_base/rtc_base/openssl_certificate.o [ 881s] [904/1909] CXX obj/pc/rtc_pc_base/dtls_transport.o [ 881s] ../../../../pc/dtls_transport.cc: In function 'webrtc::DtlsTransportState webrtc::{anonymous}::TranslateState(cricket::DtlsTransportState)': [ 881s] ../../../../pc/dtls_transport.cc:39:1: warning: control reaches end of non-void function [-Wreturn-type] [ 881s] 39 | } [ 881s] | ^ [ 881s] [905/1909] CXX obj/p2p/rtc_p2p/basic_port_allocator.o [ 881s] [906/1909] CXX obj/rtc_base/rtc_base/async_tcp_socket.o [ 881s] [907/1909] CXX obj/rtc_base/checks/checks.o [ 881s] [908/1909] CXX obj/rtc_base/rtc_base/openssl_adapter.o [ 881s] [909/1909] CXX obj/pc/rtc_pc_base/rtcp_mux_filter.o [ 881s] In file included from ../../../../pc/rtcp_mux_filter.h:14, [ 881s] from ../../../../pc/rtcp_mux_filter.cc:11: [ 881s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 881s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 881s] 423 | SctpDataContentDescription* as_sctp() override; [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 881s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 881s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 881s] | ^~~~~~~~~~~ [ 881s] [910/1909] CXX obj/pc/rtc_pc_base/ice_transport.o [ 881s] [911/1909] CXX obj/pc/peerconnection/remote_audio_source.o [ 881s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 881s] from ../../../../pc/channel_interface.h:20, [ 881s] from ../../../../pc/channel.h:33, [ 881s] from ../../../../pc/remote_audio_source.h:19, [ 881s] from ../../../../pc/remote_audio_source.cc:11: [ 881s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 881s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 881s] 423 | SctpDataContentDescription* as_sctp() override; [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 881s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 881s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 881s] | ^~~~~~~~~~~ [ 881s] [912/1909] CXX obj/rtc_base/audio_format_to_string/audio_format_to_string.o [ 881s] [913/1909] CXX obj/rtc_base/rtc_base/proxy_info.o [ 881s] [914/1909] CXX obj/pc/peerconnection/sdp_serializer.o [ 881s] In file included from ../../../../pc/sdp_serializer.h:19, [ 881s] from ../../../../pc/sdp_serializer.cc:11: [ 881s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 881s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 881s] 423 | SctpDataContentDescription* as_sctp() override; [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 881s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 881s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../pc/sdp_serializer.cc: In function 'webrtc::RTCErrorOr webrtc::{anonymous}::ParseSimulcastLayerList(const string&)': [ 881s] ../../../../pc/sdp_serializer.cc:135:19: warning: redundant move in return statement [-Wredundant-move] [ 881s] 135 | return std::move(result); [ 881s] | ~~~~~~~~~^~~~~~~~ [ 881s] ../../../../pc/sdp_serializer.cc:135:19: note: remove 'std::move' call [ 881s] ../../../../pc/sdp_serializer.cc: In member function 'webrtc::RTCErrorOr webrtc::SdpSerializer::DeserializeSimulcastDescription(absl::string_view) const': [ 881s] ../../../../pc/sdp_serializer.cc:261:19: warning: redundant move in return statement [-Wredundant-move] [ 881s] 261 | return std::move(simulcast); [ 881s] | ~~~~~~~~~^~~~~~~~~~~ [ 881s] ../../../../pc/sdp_serializer.cc:261:19: note: remove 'std::move' call [ 881s] ../../../../pc/sdp_serializer.cc: In member function 'webrtc::RTCErrorOr webrtc::SdpSerializer::DeserializeRidDescription(absl::string_view) const': [ 881s] ../../../../pc/sdp_serializer.cc:371:27: warning: redundant move in return statement [-Wredundant-move] [ 881s] 371 | return std::move(error); [ 881s] | ~~~~~~~~~^~~~~~~ [ 881s] ../../../../pc/sdp_serializer.cc:371:27: note: remove 'std::move' call [ 881s] ../../../../pc/sdp_serializer.cc:388:19: warning: redundant move in return statement [-Wredundant-move] [ 881s] 388 | return std::move(rid_description); [ 881s] | ~~~~~~~~~^~~~~~~~~~~~~~~~~ [ 881s] ../../../../pc/sdp_serializer.cc:388:19: note: remove 'std::move' call [ 881s] [915/1909] CXX obj/pc/rtc_pc_base/external_hmac.o [ 881s] [916/1909] CXX obj/rtc_base/rtc_base/openssl_digest.o [ 881s] [917/1909] CXX obj/rtc_base/rtc_base/socket.o [ 881s] [918/1909] CXX obj/rtc_base/logging/logging.o [ 881s] [919/1909] CXX obj/rtc_base/rtc_base/rtc_certificate.o [ 881s] [920/1909] CXX obj/rtc_base/rtc_base/openssl_utility.o [ 881s] [921/1909] CXX obj/pc/rtc_pc_base/composite_rtp_transport.o [ 881s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 881s] from ../../../../pc/composite_rtp_transport.h:20, [ 881s] from ../../../../pc/composite_rtp_transport.cc:14: [ 881s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 881s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 881s] 423 | SctpDataContentDescription* as_sctp() override; [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 881s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 881s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 881s] | ^~~~~~~~~~~ [ 881s] [922/1909] CXX obj/rtc_base/rtc_base/openssl_session_cache.o [ 881s] [923/1909] CXX obj/rtc_base/rtc_base/rtc_certificate_generator.o [ 881s] [924/1909] CXX obj/pc/rtc_pc_base/session_description.o [ 881s] In file included from ../../../../pc/session_description.cc:11: [ 881s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 881s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 881s] 423 | SctpDataContentDescription* as_sctp() override; [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 881s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 881s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 881s] | ^~~~~~~~~~~ [ 881s] [925/1909] CXX obj/pc/peerconnection/rtp_parameters_conversion.o [ 881s] In file included from ../../../../pc/rtp_parameters_conversion.h:22, [ 881s] from ../../../../pc/rtp_parameters_conversion.cc:11: [ 881s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 881s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 881s] 423 | SctpDataContentDescription* as_sctp() override; [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 881s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 881s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../pc/rtp_parameters_conversion.cc: In function 'webrtc::RTCErrorOr > webrtc::ToCricketRtpHeaderExtensions(const std::vector&)': [ 881s] ../../../../pc/rtp_parameters_conversion.cc:223:19: warning: redundant move in return statement [-Wredundant-move] [ 881s] 223 | return std::move(cricket_extensions); [ 881s] | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] ../../../../pc/rtp_parameters_conversion.cc:223:19: note: remove 'std::move' call [ 881s] ../../../../pc/rtp_parameters_conversion.cc: In function 'webrtc::RTCErrorOr > webrtc::ToCricketStreamParamsVec(const std::vector&)': [ 881s] ../../../../pc/rtp_parameters_conversion.cc:250:19: warning: redundant move in return statement [-Wredundant-move] [ 881s] 250 | return std::move(cricket_streams); [ 881s] | ~~~~~~~~~^~~~~~~~~~~~~~~~~ [ 881s] ../../../../pc/rtp_parameters_conversion.cc:250:19: note: remove 'std::move' call [ 881s] ../../../../pc/rtp_parameters_conversion.cc: In instantiation of 'webrtc::RTCErrorOr webrtc::ToCricketCodec(const webrtc::RtpCodecParameters&) [with C = cricket::AudioCodec]': [ 881s] ../../../../pc/rtp_parameters_conversion.cc:172:36: required from here [ 881s] ../../../../pc/rtp_parameters_conversion.cc:150:25: warning: redundant move in return statement [-Wredundant-move] [ 881s] 150 | return std::move(err); [ 881s] | ^ [ 881s] ../../../../pc/rtp_parameters_conversion.cc:150:25: note: remove 'std::move' call [ 881s] ../../../../pc/rtp_parameters_conversion.cc:168:33: warning: redundant move in return statement [-Wredundant-move] [ 881s] 168 | return std::move(cricket_codec); [ 881s] | ^ [ 881s] ../../../../pc/rtp_parameters_conversion.cc:168:33: note: remove 'std::move' call [ 881s] ../../../../pc/rtp_parameters_conversion.cc: In instantiation of 'webrtc::RTCErrorOr webrtc::ToCricketCodec(const webrtc::RtpCodecParameters&) [with C = cricket::VideoCodec]': [ 881s] ../../../../pc/rtp_parameters_conversion.cc:174:36: required from here [ 881s] ../../../../pc/rtp_parameters_conversion.cc:150:25: warning: redundant move in return statement [-Wredundant-move] [ 881s] 150 | return std::move(err); [ 881s] | ^ [ 881s] ../../../../pc/rtp_parameters_conversion.cc:150:25: note: remove 'std::move' call [ 881s] ../../../../pc/rtp_parameters_conversion.cc:168:33: warning: redundant move in return statement [-Wredundant-move] [ 881s] 168 | return std::move(cricket_codec); [ 881s] | ^ [ 881s] ../../../../pc/rtp_parameters_conversion.cc:168:33: note: remove 'std::move' call [ 881s] ../../../../pc/rtp_parameters_conversion.cc: In instantiation of 'webrtc::RTCErrorOr > webrtc::ToCricketCodecs(const std::vector&) [with C = cricket::AudioCodec]': [ 881s] ../../../../pc/rtp_parameters_conversion.cc:198:71: required from here [ 881s] ../../../../pc/rtp_parameters_conversion.cc:194:34: warning: redundant move in return statement [-Wredundant-move] [ 881s] 194 | return std::move(cricket_codecs); [ 881s] | ^ [ 881s] ../../../../pc/rtp_parameters_conversion.cc:194:34: note: remove 'std::move' call [ 881s] ../../../../pc/rtp_parameters_conversion.cc: In instantiation of 'webrtc::RTCErrorOr > webrtc::ToCricketCodecs(const std::vector&) [with C = cricket::VideoCodec]': [ 881s] ../../../../pc/rtp_parameters_conversion.cc:201:71: required from here [ 881s] ../../../../pc/rtp_parameters_conversion.cc:194:34: warning: redundant move in return statement [-Wredundant-move] [ 881s] ../../../../pc/rtp_parameters_conversion.cc:194:34: note: remove 'std::move' call [ 881s] [926/1909] CXX obj/rtc_base/rtc_base/net_helper.o [ 881s] [927/1909] CXX obj/rtc_base/rtc_base_approved/location.o [ 881s] [928/1909] CXX obj/rtc_base/rtc_base/openssl_identity.o [ 881s] [929/1909] CXX obj/rtc_base/rtc_base/ip_address.o [ 881s] [930/1909] CXX obj/rtc_base/rtc_base/message_digest.o [ 881s] [931/1909] CXX obj/rtc_base/rtc_base/message_handler.o [ 881s] [932/1909] CXX obj/rtc_base/rtc_base/signal_thread.o [ 881s] [933/1909] CXX obj/rtc_base/rtc_base/network.o [ 881s] [934/1909] CXX obj/rtc_base/rtc_base/socket_address.o [ 881s] [935/1909] CXX obj/rtc_base/rtc_base_approved/platform_file.o [ 881s] [936/1909] CXX obj/pc/rtc_pc_base/sctp_transport.o [ 881s] [937/1909] CXX obj/rtc_base/rtc_base/openssl_stream_adapter.o [ 881s] [938/1909] CXX obj/rtc_base/rtc_base/socket_address_pair.o [ 881s] [939/1909] CXX obj/rtc_base/rtc_base/socket_adapters.o [ 881s] [940/1909] CXX obj/pc/peerconnection/track_media_info_map.o [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../api/media_stream_interface.h:25, [ 881s] from ../../../../pc/track_media_info_map.h:19, [ 881s] from ../../../../pc/track_media_info_map.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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]' [ 881s] ../../../../pc/rtp_sender.h:119:34: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../media/base/media_channel.h:27, [ 881s] from ../../../../pc/track_media_info_map.h:20, [ 881s] from ../../../../pc/track_media_info_map.cc:11: [ 881s] ../../../../api/rtp_parameters.h:342:3: note: because 'webrtc::RtpFecParameters' has user-provided 'webrtc::RtpFecParameters::RtpFecParameters(const webrtc::RtpFecParameters&)' [ 881s] 342 | RtpFecParameters(const RtpFecParameters&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../api/media_stream_interface.h:25, [ 881s] from ../../../../pc/track_media_info_map.h:19, [ 881s] from ../../../../pc/track_media_info_map.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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]' [ 881s] ../../../../pc/rtp_sender.h:119:34: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../media/base/media_channel.h:27, [ 881s] from ../../../../pc/track_media_info_map.h:20, [ 881s] from ../../../../pc/track_media_info_map.cc:11: [ 881s] ../../../../api/rtp_parameters.h:359:3: note: because 'webrtc::RtpRtxParameters' has user-provided 'webrtc::RtpRtxParameters::RtpRtxParameters(const webrtc::RtpRtxParameters&)' [ 881s] 359 | RtpRtxParameters(const RtpRtxParameters&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] [941/1909] CXX obj/rtc_base/rtc_base_approved/sample_counter.o [ 881s] [942/1909] CXX obj/rtc_base/rtc_base/http_common.o [ 881s] [943/1909] CXX obj/rtc_base/rtc_base_approved/zero_memory.o [ 881s] [944/1909] CXX obj/rtc_base/rtc_base_approved/random.o [ 881s] [945/1909] CXX obj/rtc_base/rtc_base_approved/race_checker.o [ 881s] [946/1909] CXX obj/rtc_base/rtc_base_approved/rate_statistics.o [ 881s] [947/1909] CXX obj/rtc_base/rtc_base_approved/histogram_percentile_counter.o [ 881s] [948/1909] CXX obj/pc/peerconnection/video_rtp_receiver.o [ 881s] In file included from ../../../../api/proxy.h:61, [ 881s] from ../../../../api/rtp_receiver_interface.h:24, [ 881s] from ../../../../pc/video_rtp_receiver.h:23, [ 881s] from ../../../../pc/video_rtp_receiver.cc:11: [ 881s] ../../../../rtc_base/message_handler.h: In instantiation of 'void rtc::FunctorMessageHandler::OnMessage(rtc::Message*) [with ReturnT = webrtc::RtpParameters; FunctorT = webrtc::VideoRtpReceiver::GetParameters() const::]': [ 881s] ../../../../rtc_base/message_handler.h:42:16: required from here [ 881s] ../../../../rtc_base/message_handler.h:42:50: warning: implicitly-declared 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' is deprecated [-Wdeprecated-copy] [ 881s] 42 | virtual void OnMessage(Message* msg) { result_ = functor_(); } [ 881s] In file included from ../../../../pc/video_rtp_receiver.h:22, [ 881s] from ../../../../pc/video_rtp_receiver.cc:11: [ 881s] ../../../../api/rtp_parameters.h:624:3: note: because 'webrtc::RtpParameters' has user-provided 'webrtc::RtpParameters::RtpParameters(const webrtc::RtpParameters&)' [ 881s] 624 | RtpParameters(const RtpParameters&); [ 881s] | ^~~~~~~~~~~~~ [ 881s] ../../../../api/rtp_parameters.h:622:19: warning: implicitly-declared 'webrtc::RtcpParameters& webrtc::RtcpParameters::operator=(const webrtc::RtcpParameters&)' is deprecated [-Wdeprecated-copy] [ 881s] 622 | struct RTC_EXPORT RtpParameters { [ 881s] | ^~~~~~~~~~~~~ [ 881s] ../../../../api/rtp_parameters.h:589:3: note: because 'webrtc::RtcpParameters' has user-provided 'webrtc::RtcpParameters::RtcpParameters(const webrtc::RtcpParameters&)' [ 881s] 589 | RtcpParameters(const RtcpParameters&); [ 881s] | ^~~~~~~~~~~~~~ [ 881s] In file included from ../../../../api/proxy.h:61, [ 881s] from ../../../../api/rtp_receiver_interface.h:24, [ 881s] from ../../../../pc/video_rtp_receiver.h:23, [ 881s] from ../../../../pc/video_rtp_receiver.cc:11: [ 881s] ../../../../rtc_base/message_handler.h:42:50: note: synthesized method 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' first required here [ 881s] 42 | virtual void OnMessage(Message* msg) { result_ = functor_(); } [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../pc/video_rtp_receiver.h:18, [ 881s] from ../../../../pc/video_rtp_receiver.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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]' [ 881s] ../../../../api/rtp_parameters.h:622:19: required from 'void rtc::FunctorMessageHandler::OnMessage(rtc::Message*) [with ReturnT = webrtc::RtpParameters; FunctorT = webrtc::VideoRtpReceiver::GetParameters() const::]' [ 881s] ../../../../rtc_base/message_handler.h:42:16: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../pc/video_rtp_receiver.h:22, [ 881s] from ../../../../pc/video_rtp_receiver.cc:11: [ 881s] ../../../../api/rtp_parameters.h:342:3: note: because 'webrtc::RtpFecParameters' has user-provided 'webrtc::RtpFecParameters::RtpFecParameters(const webrtc::RtpFecParameters&)' [ 881s] 342 | RtpFecParameters(const RtpFecParameters&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../pc/video_rtp_receiver.h:18, [ 881s] from ../../../../pc/video_rtp_receiver.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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]' [ 881s] ../../../../api/rtp_parameters.h:622:19: required from 'void rtc::FunctorMessageHandler::OnMessage(rtc::Message*) [with ReturnT = webrtc::RtpParameters; FunctorT = webrtc::VideoRtpReceiver::GetParameters() const::]' [ 881s] ../../../../rtc_base/message_handler.h:42:16: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../pc/video_rtp_receiver.h:22, [ 881s] from ../../../../pc/video_rtp_receiver.cc:11: [ 881s] ../../../../api/rtp_parameters.h:359:3: note: because 'webrtc::RtpRtxParameters' has user-provided 'webrtc::RtpRtxParameters::RtpRtxParameters(const webrtc::RtpRtxParameters&)' [ 881s] 359 | RtpRtxParameters(const RtpRtxParameters&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] [949/1909] CXX obj/p2p/rtc_p2p/p2p_transport_channel.o [ 881s] ../../../../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)': [ 881s] ../../../../p2p/base/p2p_transport_channel.cc:941:25: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 881s] 941 | remote_candidate = *candidate; [ 881s] | ^~~~~~~~~ [ 881s] In file included from ../../../../p2p/base/p2p_transport_channel.h:31, [ 881s] from ../../../../p2p/base/p2p_transport_channel.cc:11: [ 881s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 881s] 46 | Candidate(const Candidate&); [ 881s] | ^~~~~~~~~ [ 881s] ../../../../p2p/base/p2p_transport_channel.cc:975:37: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 881s] 975 | "", network_id, network_cost); [ 881s] | ^ [ 881s] In file included from ../../../../p2p/base/p2p_transport_channel.h:31, [ 881s] from ../../../../p2p/base/p2p_transport_channel.cc:11: [ 881s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 881s] 46 | Candidate(const Candidate&); [ 881s] | ^~~~~~~~~ [ 881s] In file included from ../../../../p2p/base/p2p_transport_channel.cc:11: [ 881s] ../../../../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 >]': [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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&)::]' [ 881s] ../../../../p2p/base/p2p_transport_channel.cc:1226:23: required from here [ 881s] ../../../../p2p/base/p2p_transport_channel.h:67:7: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 881s] 67 | class RemoteCandidate : public Candidate { [ 881s] | ^~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../p2p/base/p2p_transport_channel.h:31, [ 881s] from ../../../../p2p/base/p2p_transport_channel.cc:11: [ 881s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 881s] 46 | Candidate(const Candidate&); [ 881s] | ^~~~~~~~~ [ 881s] In file included from /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/algorithm:62, [ 881s] from ../../../../p2p/base/p2p_transport_channel.h:23, [ 881s] from ../../../../p2p/base/p2p_transport_channel.cc:11: [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:871:16: note: synthesized method 'cricket::RemoteCandidate& cricket::RemoteCandidate::operator=(cricket::RemoteCandidate&&)' first required here [ 881s] 871 | *__result = _GLIBCXX_MOVE(*__first); [ 881s] | ^ [ 881s] In file included from ../../../../p2p/base/p2p_transport_channel.cc:11: [ 881s] ../../../../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*]': [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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*]' [ 881s] ../../../../p2p/base/p2p_transport_channel.cc:1163:21: required from here [ 881s] ../../../../p2p/base/p2p_transport_channel.h:477:10: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 881s] 477 | struct CandidateAndResolver final { [ 881s] | ^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../p2p/base/p2p_transport_channel.h:31, [ 881s] from ../../../../p2p/base/p2p_transport_channel.cc:11: [ 881s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 881s] 46 | Candidate(const Candidate&); [ 881s] | ^~~~~~~~~ [ 881s] In file included from /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/algorithm:61, [ 881s] from ../../../../p2p/base/p2p_transport_channel.h:23, [ 881s] from ../../../../p2p/base/p2p_transport_channel.cc:11: [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 [ 881s] 361 | *__result = std::move(*__first); [ 881s] | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ [ 881s] [950/1909] CXX obj/rtc_base/rtc_base_approved/rate_tracker.o [ 881s] [951/1909] CXX obj/rtc_base/rtc_base/net_helpers.o [ 881s] [952/1909] CXX obj/rtc_base/rtc_base_approved/timestamp_aligner.o [ 881s] [953/1909] CXX obj/rtc_base/rtc_base/ifaddrs_converter.o [ 881s] [954/1909] CXX obj/pc/rtc_pc_base/rtp_transport.o [ 881s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 881s] from ../../../../pc/rtp_transport.h:18, [ 881s] from ../../../../pc/rtp_transport.cc:11: [ 881s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 881s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 881s] 423 | SctpDataContentDescription* as_sctp() override; [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 881s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 881s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 881s] | ^~~~~~~~~~~ [ 881s] [955/1909] CXX obj/rtc_base/rtc_numerics/exp_filter.o [ 881s] [956/1909] CXX obj/rtc_base/rtc_base/physical_socket_server.o [ 881s] [957/1909] CXX obj/rtc_base/rtc_base/ssl_adapter.o [ 881s] [958/1909] CXX obj/rtc_base/rtc_base/message_queue.o [ 881s] [959/1909] CXX obj/rtc_base/rtc_json/json.o [ 881s] [960/1909] CXX obj/rtc_base/rtc_base/ssl_identity.o [ 881s] [961/1909] CXX obj/rtc_base/rtc_base/ssl_stream_adapter.o [ 881s] [962/1909] STAMP obj/rtc_base/type_traits.stamp [ 881s] [963/1909] STAMP obj/rtc_base/safe_compare.stamp [ 881s] [964/1909] CXX obj/rtc_base/stringutils/string_utils.o [ 881s] [965/1909] CXX obj/rtc_base/rtc_base/ssl_certificate.o [ 881s] [966/1909] CXX obj/rtc_base/rtc_task_queue/task_queue.o [ 881s] [967/1909] CXX obj/rtc_base/rtc_base/unique_id_generator.o [ 881s] [968/1909] CXX obj/rtc_base/rtc_base/ssl_fingerprint.o [ 881s] [969/1909] CXX obj/rtc_base/rtc_base_approved/copy_on_write_buffer.o [ 881s] [970/1909] CXX obj/rtc_base/rtc_base_approved/bit_buffer.o [ 881s] [971/1909] CXX obj/rtc_base/rtc_base_approved/flags.o [ 881s] [972/1909] CXX obj/rtc_base/rtc_base_approved/byte_buffer.o [ 881s] [973/1909] CXX obj/rtc_base/rtc_event/event.o [ 881s] [974/1909] CXX obj/rtc_base/rtc_base_approved/buffer_queue.o [ 881s] [975/1909] CXX obj/rtc_base/rtc_base/log_sinks.o [ 881s] In file included from ../../../../rtc_base/log_sinks.h:20, [ 881s] from ../../../../rtc_base/log_sinks.cc:11: [ 881s] ../../../../rtc_base/logging.h:116:16: warning: 'virtual void rtc::LogSink::OnLogMessage(const string&, rtc::LoggingSeverity)' was hidden [-Woverloaded-virtual] [ 881s] 116 | virtual void OnLogMessage(const std::string& message, [ 881s] | ^~~~~~~~~~~~ [ 881s] In file included from ../../../../rtc_base/log_sinks.cc:11: [ 881s] ../../../../rtc_base/log_sinks.h:39:8: warning: by 'rtc::FileRotatingLogSink::OnLogMessage' [-Woverloaded-virtual] [ 881s] 39 | void OnLogMessage(const std::string& message, [ 881s] | ^~~~~~~~~~~~ [ 881s] [976/1909] CXX obj/rtc_base/synchronization/rw_lock_wrapper/rw_lock_posix.o [ 881s] [977/1909] CXX obj/rtc_base/synchronization/rw_lock_wrapper/rw_lock_wrapper.o [ 881s] [978/1909] CXX obj/rtc_base/rtc_base/stream.o [ 881s] [979/1909] CXX obj/pc/peerconnection/audio_rtp_receiver.o [ 881s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 881s] from ../../../../pc/channel_interface.h:20, [ 881s] from ../../../../pc/channel.h:33, [ 881s] from ../../../../pc/remote_audio_source.h:19, [ 881s] from ../../../../pc/audio_rtp_receiver.h:26, [ 881s] from ../../../../pc/audio_rtp_receiver.cc:11: [ 881s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 881s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 881s] 423 | SctpDataContentDescription* as_sctp() override; [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 881s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 881s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 881s] | ^~~~~~~~~~~ [ 881s] In file included from ../../../../api/proxy.h:61, [ 881s] from ../../../../api/rtp_receiver_interface.h:24, [ 881s] from ../../../../media/base/media_channel.h:28, [ 881s] from ../../../../pc/audio_rtp_receiver.h:24, [ 881s] from ../../../../pc/audio_rtp_receiver.cc:11: [ 881s] ../../../../rtc_base/message_handler.h: In instantiation of 'void rtc::FunctorMessageHandler::OnMessage(rtc::Message*) [with ReturnT = webrtc::RtpParameters; FunctorT = webrtc::AudioRtpReceiver::GetParameters() const::]': [ 881s] ../../../../rtc_base/message_handler.h:42:16: required from here [ 881s] ../../../../rtc_base/message_handler.h:42:50: warning: implicitly-declared 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' is deprecated [-Wdeprecated-copy] [ 881s] 42 | virtual void OnMessage(Message* msg) { result_ = functor_(); } [ 881s] In file included from ../../../../pc/audio_rtp_receiver.h:22, [ 881s] from ../../../../pc/audio_rtp_receiver.cc:11: [ 881s] ../../../../api/rtp_parameters.h:624:3: note: because 'webrtc::RtpParameters' has user-provided 'webrtc::RtpParameters::RtpParameters(const webrtc::RtpParameters&)' [ 881s] 624 | RtpParameters(const RtpParameters&); [ 881s] | ^~~~~~~~~~~~~ [ 881s] ../../../../api/rtp_parameters.h:622:19: warning: implicitly-declared 'webrtc::RtcpParameters& webrtc::RtcpParameters::operator=(const webrtc::RtcpParameters&)' is deprecated [-Wdeprecated-copy] [ 881s] 622 | struct RTC_EXPORT RtpParameters { [ 881s] | ^~~~~~~~~~~~~ [ 881s] ../../../../api/rtp_parameters.h:589:3: note: because 'webrtc::RtcpParameters' has user-provided 'webrtc::RtcpParameters::RtcpParameters(const webrtc::RtcpParameters&)' [ 881s] 589 | RtcpParameters(const RtcpParameters&); [ 881s] | ^~~~~~~~~~~~~~ [ 881s] In file included from ../../../../api/proxy.h:61, [ 881s] from ../../../../api/rtp_receiver_interface.h:24, [ 881s] from ../../../../media/base/media_channel.h:28, [ 881s] from ../../../../pc/audio_rtp_receiver.h:24, [ 881s] from ../../../../pc/audio_rtp_receiver.cc:11: [ 881s] ../../../../rtc_base/message_handler.h:42:50: note: synthesized method 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' first required here [ 881s] 42 | virtual void OnMessage(Message* msg) { result_ = functor_(); } [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../pc/audio_rtp_receiver.h:18, [ 881s] from ../../../../pc/audio_rtp_receiver.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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]' [ 881s] ../../../../api/rtp_parameters.h:622:19: required from 'void rtc::FunctorMessageHandler::OnMessage(rtc::Message*) [with ReturnT = webrtc::RtpParameters; FunctorT = webrtc::AudioRtpReceiver::GetParameters() const::]' [ 881s] ../../../../rtc_base/message_handler.h:42:16: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../pc/audio_rtp_receiver.h:22, [ 881s] from ../../../../pc/audio_rtp_receiver.cc:11: [ 881s] ../../../../api/rtp_parameters.h:342:3: note: because 'webrtc::RtpFecParameters' has user-provided 'webrtc::RtpFecParameters::RtpFecParameters(const webrtc::RtpFecParameters&)' [ 881s] 342 | RtpFecParameters(const RtpFecParameters&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../pc/audio_rtp_receiver.h:18, [ 881s] from ../../../../pc/audio_rtp_receiver.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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]' [ 881s] ../../../../api/rtp_parameters.h:622:19: required from 'void rtc::FunctorMessageHandler::OnMessage(rtc::Message*) [with ReturnT = webrtc::RtpParameters; FunctorT = webrtc::AudioRtpReceiver::GetParameters() const::]' [ 881s] ../../../../rtc_base/message_handler.h:42:16: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../pc/audio_rtp_receiver.h:22, [ 881s] from ../../../../pc/audio_rtp_receiver.cc:11: [ 881s] ../../../../api/rtp_parameters.h:359:3: note: because 'webrtc::RtpRtxParameters' has user-provided 'webrtc::RtpRtxParameters::RtpRtxParameters(const webrtc::RtpRtxParameters&)' [ 881s] 359 | RtpRtxParameters(const RtpRtxParameters&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] [980/1909] STAMP obj/rtc_base/system/asm_defines.stamp [ 881s] [981/1909] CXX obj/rtc_base/stringutils/string_to_number.o [ 881s] [982/1909] CXX obj/rtc_base/synchronization/yield_policy/yield_policy.o [ 881s] [983/1909] CXX obj/rtc_base/timeutils/time_utils.o [ 881s] [984/1909] STAMP obj/common_audio/third_party/spl_sqrt_floor/spl_sqrt_floor.stamp [ 881s] [985/1909] STAMP obj/common_audio/common_audio_c_arm_asm.stamp [ 881s] [986/1909] STAMP obj/rtc_base/system/arch.stamp [ 881s] [987/1909] CXX obj/pc/peerconnection/rtp_transceiver.o [ 881s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 881s] from ../../../../pc/channel_interface.h:20, [ 881s] from ../../../../pc/rtp_transceiver.h:18, [ 881s] from ../../../../pc/rtp_transceiver.cc:11: [ 881s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 881s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 881s] 423 | SctpDataContentDescription* as_sctp() override; [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 881s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 881s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 881s] | ^~~~~~~~~~~ [ 881s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 881s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 881s] from ../../../../call/call.h:24, [ 881s] from ../../../../pc/channel_manager.h:23, [ 881s] from ../../../../pc/rtp_transceiver.h:19, [ 881s] from ../../../../pc/rtp_transceiver.cc:11: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../api/rtp_transceiver_interface.h:17, [ 881s] from ../../../../pc/rtp_transceiver.h:17, [ 881s] from ../../../../pc/rtp_transceiver.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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]' [ 881s] ../../../../pc/rtp_sender.h:119:34: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../api/rtp_transceiver_interface.h:20, [ 881s] from ../../../../pc/rtp_transceiver.h:17, [ 881s] from ../../../../pc/rtp_transceiver.cc:11: [ 881s] ../../../../api/rtp_parameters.h:342:3: note: because 'webrtc::RtpFecParameters' has user-provided 'webrtc::RtpFecParameters::RtpFecParameters(const webrtc::RtpFecParameters&)' [ 881s] 342 | RtpFecParameters(const RtpFecParameters&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../api/rtp_transceiver_interface.h:17, [ 881s] from ../../../../pc/rtp_transceiver.h:17, [ 881s] from ../../../../pc/rtp_transceiver.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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]' [ 881s] ../../../../pc/rtp_sender.h:119:34: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../api/rtp_transceiver_interface.h:20, [ 881s] from ../../../../pc/rtp_transceiver.h:17, [ 881s] from ../../../../pc/rtp_transceiver.cc:11: [ 881s] ../../../../api/rtp_parameters.h:359:3: note: because 'webrtc::RtpRtxParameters' has user-provided 'webrtc::RtpRtxParameters::RtpRtxParameters(const webrtc::RtpRtxParameters&)' [ 881s] 359 | RtpRtxParameters(const RtpRtxParameters&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] [988/1909] STAMP obj/rtc_base/system/fallthrough.stamp [ 881s] [989/1909] STAMP obj/rtc_base/macromagic.stamp [ 881s] [990/1909] CXX obj/rtc_base/weak_ptr/weak_ptr.o [ 881s] [991/1909] CXX obj/rtc_base/rtc_base_approved/bitrate_allocation_strategy.o [ 881s] [992/1909] STAMP obj/rtc_base/system/warn_current_thread_is_deadlocked.stamp [ 881s] [993/1909] STAMP obj/rtc_base/refcount.stamp [ 881s] [994/1909] STAMP obj/rtc_base/synchronization/rw_lock_wrapper.stamp [ 881s] [995/1909] CXX obj/rtc_base/rtc_base/thread.o [ 881s] [996/1909] STAMP obj/rtc_base/system/rtc_export.stamp [ 881s] [997/1909] STAMP obj/rtc_base/system/unused.stamp [ 881s] [998/1909] CXX obj/rtc_base/rtc_base_approved/event_tracer.o [ 881s] [999/1909] STAMP obj/rtc_base/system/ignore_warnings.stamp [ 881s] [1000/1909] AR obj/modules/audio_processing/libconfig.a [ 881s] [1001/1909] STAMP obj/rtc_base/system/inline.stamp [ 881s] [1002/1909] STAMP obj/modules/audio_coding/isac_vad.stamp [ 881s] [1003/1909] CXX obj/rtc_base/stringutils/string_builder.o [ 881s] [1004/1909] CXX obj/rtc_base/rtc_task_queue_libevent/task_queue_libevent.o [ 881s] [1005/1909] AR obj/system_wrappers/libcpu_features_linux.a [ 881s] [1006/1909] CXX obj/rtc_base/experiments/alr_experiment/alr_experiment.o [ 881s] [1007/1909] STAMP obj/sdk/sdk.stamp [ 881s] [1008/1909] CXX obj/rtc_base/experiments/rtt_mult_experiment/rtt_mult_experiment.o [ 881s] [1009/1909] CXX obj/rtc_base/third_party/sigslot/sigslot/sigslot.o [ 881s] [1010/1909] STAMP obj/rtc_base/third_party/sigslot/sigslot.stamp [ 881s] [1011/1909] CXX obj/rtc_base/stringutils/string_encode.o [ 881s] [1012/1909] CXX obj/system_wrappers/system_wrappers/sleep.o [ 881s] [1013/1909] CXX obj/system_wrappers/event_wrapper/event.o [ 881s] [1014/1909] CXX obj/system_wrappers/system_wrappers/cpu_features.o [ 881s] [1015/1909] STAMP obj/third_party/abseil-cpp/absl/base/config.stamp [ 881s] [1016/1909] STAMP obj/third_party/abseil-cpp/absl/base/core_headers.stamp [ 881s] [1017/1909] CXX obj/rtc_base/experiments/keyframe_interval_settings_experiment/keyframe_interval_settings.o [ 881s] [1018/1909] CXX obj/third_party/abseil-cpp/absl/base/base/unscaledcycleclock.o [ 881s] [1019/1909] STAMP obj/rtc_base/synchronization/yield_policy.stamp [ 881s] [1020/1909] CXX obj/rtc_base/time/timestamp_extrapolator/timestamp_extrapolator.o [ 881s] [1021/1909] CXX obj/third_party/abseil-cpp/absl/base/dynamic_annotations/dynamic_annotations.o [ 881s] [1022/1909] STAMP obj/third_party/abseil-cpp/absl/base/base_internal.stamp [ 881s] [1023/1909] CXX obj/rtc_base/memory/aligned_malloc/aligned_malloc.o [ 881s] [1024/1909] STAMP obj/rtc_base/time/timestamp_extrapolator.stamp [ 881s] [1025/1909] STAMP obj/third_party/abseil-cpp/absl/algorithm/algorithm.stamp [ 881s] [1026/1909] STAMP obj/third_party/abseil-cpp/absl/base/bits.stamp [ 881s] [1027/1909] CXX obj/system_wrappers/field_trial/field_trial.o [ 881s] [1028/1909] CXX obj/rtc_base/synchronization/sequence_checker/sequence_checker.o [ 881s] [1029/1909] STAMP obj/system_wrappers/field_trial.stamp [ 881s] [1030/1909] STAMP obj/third_party/abseil-cpp/absl/base/endian.stamp [ 881s] [1031/1909] STAMP obj/third_party/abseil-cpp/absl/base/dynamic_annotations.stamp [ 881s] [1032/1909] CXX obj/rtc_base/system/file_wrapper/file_wrapper.o [ 881s] [1033/1909] CXX obj/rtc_base/experiments/jitter_upper_bound_experiment/jitter_upper_bound_experiment.o [ 881s] [1034/1909] CXX obj/third_party/abseil-cpp/absl/base/base/cycleclock.o [ 881s] [1035/1909] CXX obj/rtc_base/experiments/cpu_speed_experiment/cpu_speed_experiment.o [ 881s] [1036/1909] CXX obj/rtc_base/experiments/quality_scaler_settings/quality_scaler_settings.o [ 881s] [1037/1909] CXX obj/rtc_base/experiments/audio_allocation_settings/audio_allocation_settings.o [ 881s] [1038/1909] STAMP obj/third_party/abseil-cpp/absl/meta/type_traits.stamp [ 881s] [1039/1909] STAMP obj/rtc_base/sanitizer.stamp [ 881s] [1040/1909] CXX obj/rtc_base/third_party/base64/base64/base64.o [ 881s] [1041/1909] CXX obj/third_party/abseil-cpp/absl/strings/internal/utf8.o [ 881s] [1042/1909] STAMP obj/third_party/abseil-cpp/absl/algorithm/container.stamp [ 881s] [1043/1909] STAMP obj/rtc_base/third_party/base64/base64.stamp [ 881s] [1044/1909] CXX obj/third_party/abseil-cpp/absl/base/spinlock_wait/spinlock_wait.o [ 881s] [1045/1909] CXX obj/rtc_base/experiments/field_trial_parser/field_trial_list.o [ 881s] [1046/1909] CXX obj/rtc_base/experiments/quality_scaling_experiment/quality_scaling_experiment.o [ 881s] [1047/1909] STAMP obj/third_party/abseil-cpp/absl/memory/memory.stamp [ 881s] [1048/1909] STAMP obj/third_party/abseil-cpp/absl/base/spinlock_wait.stamp [ 881s] [1049/1909] CXX obj/third_party/abseil-cpp/absl/base/base/log_severity.o [ 881s] [1050/1909] CXX obj/third_party/abseil-cpp/absl/base/base/raw_logging.o [ 881s] [1051/1909] CXX obj/system_wrappers/system_wrappers/clock.o [ 881s] [1052/1909] CXX obj/third_party/abseil-cpp/absl/strings/internal/ostringstream.o [ 881s] [1053/1909] CXX obj/rtc_base/task_utils/repeating_task/repeating_task.o [ 881s] [1054/1909] CXX obj/third_party/abseil-cpp/absl/base/base/spinlock.o [ 881s] [1055/1909] STAMP obj/third_party/abseil-cpp/absl/strings/internal.stamp [ 881s] [1056/1909] CXX obj/rtc_base/memory/fifo_buffer/fifo_buffer.o [ 881s] [1057/1909] CXX obj/system_wrappers/system_wrappers/cpu_info.o [ 881s] [1058/1909] CXX obj/pc/rtc_pc_base/jsep_transport.o [ 881s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 881s] from ../../../../pc/rtp_transport.h:18, [ 881s] from ../../../../pc/srtp_transport.h:24, [ 881s] from ../../../../pc/dtls_srtp_transport.h:21, [ 881s] from ../../../../pc/jsep_transport.h:26, [ 881s] from ../../../../pc/jsep_transport.cc:11: [ 881s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 881s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 881s] 423 | SctpDataContentDescription* as_sctp() override; [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 881s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 881s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 881s] | ^~~~~~~~~~~ [ 881s] [1059/1909] CXX obj/third_party/abseil-cpp/absl/base/base/thread_identity.o [ 881s] [1060/1909] CXX obj/third_party/abseil-cpp/absl/base/base/sysinfo.o [ 881s] [1061/1909] CXX obj/third_party/abseil-cpp/absl/base/throw_delegate/throw_delegate.o [ 881s] [1062/1909] STAMP obj/third_party/abseil-cpp/absl/utility/utility.stamp [ 881s] [1063/1909] STAMP obj/third_party/abseil-cpp/absl/base/base.stamp [ 881s] [1064/1909] STAMP obj/third_party/abseil-cpp/absl/container/compressed_tuple.stamp [ 881s] [1065/1909] CXX obj/rtc_base/experiments/balanced_degradation_settings/balanced_degradation_settings.o [ 881s] [1066/1909] CXX obj/pc/peerconnection/stats_collector.o [ 881s] In file included from ../../../../api/rtc_event_log/rtc_event_log_factory_interface.h:16, [ 881s] from ../../../../api/peer_connection_interface.h:88, [ 881s] from ../../../../pc/stats_collector.h:25, [ 881s] from ../../../../pc/stats_collector.cc:11: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 881s] from ../../../../pc/channel_interface.h:20, [ 881s] from ../../../../pc/channel.h:33, [ 881s] from ../../../../pc/data_channel.h:23, [ 881s] from ../../../../pc/peer_connection_internal.h:22, [ 881s] from ../../../../pc/stats_collector.h:28, [ 881s] from ../../../../pc/stats_collector.cc:11: [ 881s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 881s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 881s] 423 | SctpDataContentDescription* as_sctp() override; [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 881s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 881s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 881s] | ^~~~~~~~~~~ [ 881s] In file included from ../../../../pc/stats_collector.h:25, [ 881s] from ../../../../pc/stats_collector.cc:11: [ 881s] ../../../../api/peer_connection_interface.h:1025:20: warning: 'virtual webrtc::RTCError webrtc::PeerConnectionInterface::SetBitrate(const webrtc::PeerConnectionInterface::BitrateParameters&)' was hidden [-Woverloaded-virtual] [ 881s] 1025 | virtual RTCError SetBitrate(const BitrateParameters& bitrate_parameters); [ 881s] | ^~~~~~~~~~ [ 881s] In file included from ../../../../pc/stats_collector.cc:20: [ 881s] ../../../../pc/peer_connection.h:196:12: warning: by 'virtual webrtc::RTCError webrtc::PeerConnection::SetBitrate(const webrtc::BitrateSettings&)' [-Woverloaded-virtual] [ 881s] 196 | RTCError SetBitrate(const BitrateSettings& bitrate) override; [ 881s] | ^~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../api/media_stream_interface.h:25, [ 881s] from ../../../../pc/stats_collector.h:24, [ 881s] from ../../../../pc/stats_collector.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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]' [ 881s] ../../../../pc/rtp_sender.h:119:34: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../api/rtp_receiver_interface.h:25, [ 881s] from ../../../../api/peer_connection_interface.h:90, [ 881s] from ../../../../pc/stats_collector.h:25, [ 881s] from ../../../../pc/stats_collector.cc:11: [ 881s] ../../../../api/rtp_parameters.h:342:3: note: because 'webrtc::RtpFecParameters' has user-provided 'webrtc::RtpFecParameters::RtpFecParameters(const webrtc::RtpFecParameters&)' [ 881s] 342 | RtpFecParameters(const RtpFecParameters&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../api/media_stream_interface.h:25, [ 881s] from ../../../../pc/stats_collector.h:24, [ 881s] from ../../../../pc/stats_collector.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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]' [ 881s] ../../../../pc/rtp_sender.h:119:34: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../api/rtp_receiver_interface.h:25, [ 881s] from ../../../../api/peer_connection_interface.h:90, [ 881s] from ../../../../pc/stats_collector.h:25, [ 881s] from ../../../../pc/stats_collector.cc:11: [ 881s] ../../../../api/rtp_parameters.h:359:3: note: because 'webrtc::RtpRtxParameters' has user-provided 'webrtc::RtpRtxParameters::RtpRtxParameters(const webrtc::RtpRtxParameters&)' [ 881s] 359 | RtpRtxParameters(const RtpRtxParameters&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] [1067/1909] CXX obj/rtc_base/experiments/field_trial_parser/field_trial_units.o [ 881s] [1068/1909] STAMP obj/third_party/abseil-cpp/absl/base/throw_delegate.stamp [ 881s] [1069/1909] CXX obj/third_party/abseil-cpp/absl/strings/strings/match.o [ 881s] [1070/1909] CXX obj/stats/rtc_stats/rtc_stats.o [ 881s] [1071/1909] STAMP obj/third_party/abseil-cpp/absl/types/span.stamp [ 881s] [1072/1909] CXX obj/third_party/abseil-cpp/absl/strings/strings/memutil.o [ 881s] [1073/1909] CXX obj/rtc_base/experiments/rate_control_settings/rate_control_settings.o [ 881s] [1074/1909] STAMP obj/third_party/abseil-cpp/absl/container/inlined_vector_internal.stamp [ 881s] [1075/1909] CXX obj/pc/peerconnection/rtp_sender.o [ 881s] In file included from ../../../../api/rtc_event_log/rtc_event_log_factory_interface.h:16, [ 881s] from ../../../../api/peer_connection_interface.h:88, [ 881s] from ../../../../pc/peer_connection.h:21, [ 881s] from ../../../../pc/rtp_sender.cc:19: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 881s] from ../../../../pc/channel_interface.h:20, [ 881s] from ../../../../pc/channel.h:33, [ 881s] from ../../../../pc/jsep_transport_controller.h:30, [ 881s] from ../../../../pc/peer_connection.h:24, [ 881s] from ../../../../pc/rtp_sender.cc:19: [ 881s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 881s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 881s] 423 | SctpDataContentDescription* as_sctp() override; [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 881s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 881s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 881s] | ^~~~~~~~~~~ [ 881s] In file included from ../../../../pc/peer_connection.h:21, [ 881s] from ../../../../pc/rtp_sender.cc:19: [ 881s] ../../../../api/peer_connection_interface.h:1025:20: warning: 'virtual webrtc::RTCError webrtc::PeerConnectionInterface::SetBitrate(const webrtc::PeerConnectionInterface::BitrateParameters&)' was hidden [-Woverloaded-virtual] [ 881s] 1025 | virtual RTCError SetBitrate(const BitrateParameters& bitrate_parameters); [ 881s] | ^~~~~~~~~~ [ 881s] In file included from ../../../../pc/rtp_sender.cc:19: [ 881s] ../../../../pc/peer_connection.h:196:12: warning: by 'virtual webrtc::RTCError webrtc::PeerConnection::SetBitrate(const webrtc::BitrateSettings&)' [-Woverloaded-virtual] [ 881s] 196 | RTCError SetBitrate(const BitrateSettings& bitrate) override; [ 881s] | ^~~~~~~~~~ [ 881s] ../../../../pc/rtp_sender.cc: In member function 'virtual webrtc::RTCError webrtc::RtpSenderBase::SetParametersInternal(const webrtc::RtpParameters&)': [ 881s] ../../../../pc/rtp_sender.cc:182:26: warning: implicitly-declared 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' is deprecated [-Wdeprecated-copy] [ 881s] 182 | init_parameters_ = parameters; [ 881s] | ^~~~~~~~~~ [ 881s] In file included from ../../../../api/rtp_sender_interface.h:27, [ 881s] from ../../../../pc/rtp_sender.h:23, [ 881s] from ../../../../pc/rtp_sender.cc:11: [ 881s] ../../../../api/rtp_parameters.h:624:3: note: because 'webrtc::RtpParameters' has user-provided 'webrtc::RtpParameters::RtpParameters(const webrtc::RtpParameters&)' [ 881s] 624 | RtpParameters(const RtpParameters&); [ 881s] | ^~~~~~~~~~~~~ [ 881s] ../../../../api/rtp_parameters.h: In member function 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)': [ 881s] ../../../../api/rtp_parameters.h:622:19: warning: implicitly-declared 'webrtc::RtcpParameters& webrtc::RtcpParameters::operator=(const webrtc::RtcpParameters&)' is deprecated [-Wdeprecated-copy] [ 881s] 622 | struct RTC_EXPORT RtpParameters { [ 881s] | ^~~~~~~~~~~~~ [ 881s] ../../../../api/rtp_parameters.h:589:3: note: because 'webrtc::RtcpParameters' has user-provided 'webrtc::RtcpParameters::RtcpParameters(const webrtc::RtcpParameters&)' [ 881s] 589 | RtcpParameters(const RtcpParameters&); [ 881s] | ^~~~~~~~~~~~~~ [ 881s] ../../../../pc/rtp_sender.cc: In member function 'virtual webrtc::RTCError webrtc::RtpSenderBase::SetParametersInternal(const webrtc::RtpParameters&)': [ 881s] ../../../../pc/rtp_sender.cc:182:26: note: synthesized method 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' first required here [ 881s] 182 | init_parameters_ = parameters; [ 881s] | ^~~~~~~~~~ [ 881s] ../../../../pc/rtp_sender.cc: In lambda function: [ 881s] ../../../../pc/rtp_sender.cc:193:70: warning: implicitly-declared 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' is deprecated [-Wdeprecated-copy] [ 881s] 193 | old_parameters.encodings); [ 881s] | ^ [ 881s] In file included from ../../../../api/rtp_sender_interface.h:27, [ 881s] from ../../../../pc/rtp_sender.h:23, [ 881s] from ../../../../pc/rtp_sender.cc:11: [ 881s] ../../../../api/rtp_parameters.h:624:3: note: because 'webrtc::RtpParameters' has user-provided 'webrtc::RtpParameters::RtpParameters(const webrtc::RtpParameters&)' [ 881s] 624 | RtpParameters(const RtpParameters&); [ 881s] | ^~~~~~~~~~~~~ [ 881s] ../../../../pc/rtp_sender.cc: In lambda function: [ 881s] ../../../../pc/rtp_sender.cc:302:71: warning: implicitly-declared 'webrtc::RtpEncodingParameters& webrtc::RtpEncodingParameters::operator=(const webrtc::RtpEncodingParameters&)' is deprecated [-Wdeprecated-copy] [ 881s] 302 | current_parameters.encodings[i] = init_parameters_.encodings[i]; [ 881s] | ^ [ 881s] In file included from ../../../../api/rtp_sender_interface.h:27, [ 881s] from ../../../../pc/rtp_sender.h:23, [ 881s] from ../../../../pc/rtp_sender.cc:11: [ 881s] ../../../../api/rtp_parameters.h:368:3: note: because 'webrtc::RtpEncodingParameters' has user-provided 'webrtc::RtpEncodingParameters::RtpEncodingParameters(const webrtc::RtpEncodingParameters&)' [ 881s] 368 | RtpEncodingParameters(const RtpEncodingParameters&); [ 881s] | ^~~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../api/media_stream_interface.h:25, [ 881s] from ../../../../pc/rtp_sender.h:22, [ 881s] from ../../../../pc/rtp_sender.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../api/rtp_sender_interface.h:27, [ 881s] from ../../../../pc/rtp_sender.h:23, [ 881s] from ../../../../pc/rtp_sender.cc:11: [ 881s] ../../../../api/rtp_parameters.h:342:3: note: because 'webrtc::RtpFecParameters' has user-provided 'webrtc::RtpFecParameters::RtpFecParameters(const webrtc::RtpFecParameters&)' [ 881s] 342 | RtpFecParameters(const RtpFecParameters&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../api/media_stream_interface.h:25, [ 881s] from ../../../../pc/rtp_sender.h:22, [ 881s] from ../../../../pc/rtp_sender.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../api/rtp_sender_interface.h:27, [ 881s] from ../../../../pc/rtp_sender.h:23, [ 881s] from ../../../../pc/rtp_sender.cc:11: [ 881s] ../../../../api/rtp_parameters.h:359:3: note: because 'webrtc::RtpRtxParameters' has user-provided 'webrtc::RtpRtxParameters::RtpRtxParameters(const webrtc::RtpRtxParameters&)' [ 881s] 359 | RtpRtxParameters(const RtpRtxParameters&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../api/proxy.h:61, [ 881s] from ../../../../api/rtp_sender_interface.h:25, [ 881s] from ../../../../pc/rtp_sender.h:23, [ 881s] from ../../../../pc/rtp_sender.cc:11: [ 881s] ../../../../rtc_base/message_handler.h: In instantiation of 'void rtc::FunctorMessageHandler::OnMessage(rtc::Message*) [with ReturnT = webrtc::RtpParameters; FunctorT = webrtc::RtpSenderBase::GetParametersInternal() const::]': [ 881s] ../../../../rtc_base/message_handler.h:42:16: required from here [ 881s] ../../../../rtc_base/message_handler.h:42:50: warning: implicitly-declared 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' is deprecated [-Wdeprecated-copy] [ 881s] 42 | virtual void OnMessage(Message* msg) { result_ = functor_(); } [ 881s] In file included from ../../../../api/rtp_sender_interface.h:27, [ 881s] from ../../../../pc/rtp_sender.h:23, [ 881s] from ../../../../pc/rtp_sender.cc:11: [ 881s] ../../../../api/rtp_parameters.h:624:3: note: because 'webrtc::RtpParameters' has user-provided 'webrtc::RtpParameters::RtpParameters(const webrtc::RtpParameters&)' [ 881s] 624 | RtpParameters(const RtpParameters&); [ 881s] | ^~~~~~~~~~~~~ [ 881s] [1076/1909] STAMP obj/third_party/abseil-cpp/absl/container/inlined_vector.stamp [ 881s] [1077/1909] CC obj/third_party/libsrtp/libsrtp/null_cipher.o [ 881s] [1078/1909] CXX obj/third_party/abseil-cpp/absl/strings/strings/string_view.o [ 881s] [1079/1909] CXX obj/third_party/abseil-cpp/absl/numeric/int128/int128.o [ 881s] [1080/1909] CC obj/third_party/libsrtp/libsrtp/aes_icm_ossl.o [ 881s] [1081/1909] CXX obj/system_wrappers/system_wrappers/rtp_to_ntp_estimator.o [ 881s] [1082/1909] STAMP obj/third_party/abseil-cpp/absl/numeric/int128.stamp [ 881s] [1083/1909] CC obj/third_party/libsrtp/libsrtp/alloc.o [ 881s] [1084/1909] CC obj/third_party/libsrtp/libsrtp/auth.o [ 881s] [1085/1909] CC obj/third_party/libsrtp/libsrtp/aes_gcm_ossl.o [ 881s] [1086/1909] CC obj/third_party/libsrtp/libsrtp/null_auth.o [ 881s] [1087/1909] CXX obj/third_party/abseil-cpp/absl/strings/strings/str_cat.o [ 881s] [1088/1909] CC obj/third_party/libsrtp/libsrtp/hmac_ossl.o [ 881s] [1089/1909] CC obj/third_party/libsrtp/libsrtp/err.o [ 881s] [1090/1909] CC obj/third_party/libsrtp/libsrtp/key.o [ 881s] [1091/1909] CXX obj/third_party/abseil-cpp/absl/types/bad_variant_access/bad_variant_access.o [ 881s] [1092/1909] CXX obj/third_party/abseil-cpp/absl/types/bad_optional_access/bad_optional_access.o [ 881s] [1093/1909] CXX obj/third_party/abseil-cpp/absl/strings/strings/ascii.o [ 881s] [1094/1909] CXX obj/system_wrappers/metrics/metrics.o [ 881s] [1095/1909] STAMP obj/third_party/abseil-cpp/absl/types/bad_variant_access.stamp [ 881s] [1096/1909] STAMP obj/third_party/abseil-cpp/absl/types/bad_optional_access.stamp [ 881s] [1097/1909] CC obj/third_party/libsrtp/libsrtp/rdb.o [ 881s] [1098/1909] CC obj/third_party/libsrtp/libsrtp/ekt.o [ 881s] [1099/1909] STAMP obj/third_party/abseil-cpp/absl/types/variant.stamp [ 881s] [1100/1909] CXX obj/third_party/abseil-cpp/absl/strings/strings/charconv_parse.o [ 881s] [1101/1909] CC obj/third_party/libsrtp/libsrtp/crypto_kernel.o [ 881s] [1102/1909] CC obj/third_party/libsrtp/libsrtp/stat.o [ 881s] [1103/1909] CC obj/third_party/libsrtp/libsrtp/rdbx.o [ 881s] [1104/1909] STAMP obj/third_party/abseil-cpp/absl/types/optional.stamp [ 881s] [1105/1909] CXX obj/third_party/abseil-cpp/absl/strings/strings/substitute.o [ 881s] [1106/1909] STAMP obj/api/transport/bitrate_settings.stamp [ 881s] [1107/1909] STAMP obj/modules/module_api_public.stamp [ 881s] [1108/1909] CXX obj/third_party/abseil-cpp/absl/strings/strings/str_split.o [ 881s] [1109/1909] AR obj/modules/audio_coding/libaudio_network_adaptor_config.a [ 881s] [1110/1909] STAMP obj/modules/audio_processing/audio_processing_statistics.stamp [ 881s] [1111/1909] STAMP obj/rtc_base/network/sent_packet.stamp [ 881s] [1112/1909] CC obj/third_party/libsrtp/libsrtp/datatypes.o [ 881s] [1113/1909] CXX obj/third_party/abseil-cpp/absl/strings/strings/str_replace.o [ 881s] [1114/1909] CXX obj/rtc_base/experiments/field_trial_parser/field_trial_parser.o [ 881s] ../../../../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]': [ 881s] ../../../../rtc_base/experiments/field_trial_parser.cc:129:19: warning: redundant move in return statement [-Wredundant-move] [ 881s] 129 | return std::move(str); [ 881s] | ~~~~~~~~~^~~~~ [ 881s] ../../../../rtc_base/experiments/field_trial_parser.cc:129:19: note: remove 'std::move' call [ 881s] [1115/1909] CC obj/third_party/libsrtp/libsrtp/cipher.o [ 881s] [1116/1909] CXX obj/third_party/libyuv/libyuv_internal/mjpeg_validate.o [ 881s] [1117/1909] CXX obj/third_party/libyuv/libyuv_internal/rotate_argb.o [ 881s] [1118/1909] CXX obj/third_party/abseil-cpp/absl/strings/strings/numbers.o [ 881s] [1119/1909] CXX obj/third_party/libyuv/libyuv_internal/rotate_common.o [ 881s] [1120/1909] CXX obj/third_party/libyuv/libyuv_internal/rotate_gcc.o [ 881s] [1121/1909] CXX obj/third_party/libyuv/libyuv_internal/rotate.o [ 881s] [1122/1909] CXX obj/third_party/libyuv/libyuv_internal/row_gcc.o [ 881s] [1123/1909] CXX obj/third_party/abseil-cpp/absl/strings/strings/charconv.o [ 881s] [1124/1909] CXX obj/third_party/libyuv/libyuv_internal/scale_any.o [ 881s] [1125/1909] ACTION //third_party/libvpx:convert_arm_assembly(//build/toolchain/linux:arm) [ 881s] [1126/1909] CXX obj/third_party/libyuv/libyuv_internal/video_common.o [ 881s] [1127/1909] CXX obj/third_party/libyuv/libyuv_internal/scale_argb.o [ 881s] [1128/1909] ACTION //third_party/libvpx:convert_arm_assembly(//build/toolchain/linux:arm) [ 881s] [1129/1909] ACTION //third_party/libvpx:convert_arm_assembly(//build/toolchain/linux:arm) [ 881s] [1130/1909] CXX obj/third_party/libyuv/libyuv_internal/scale_gcc.o [ 881s] [1131/1909] CXX obj/third_party/libyuv/libyuv_neon/rotate_neon.o [ 881s] [1132/1909] CXX obj/third_party/abseil-cpp/absl/strings/strings/escaping.o [ 881s] [1133/1909] CXX obj/third_party/libyuv/libyuv_neon/compare_neon64.o [ 881s] [1134/1909] CXX obj/third_party/libyuv/libyuv_neon/rotate_neon64.o [ 881s] [1135/1909] CXX obj/third_party/libyuv/libyuv_neon/compare_neon.o [ 881s] [1136/1909] ACTION //third_party/libvpx:convert_arm_assembly(//build/toolchain/linux:arm) [ 881s] [1137/1909] CXX obj/third_party/libyuv/libyuv_internal/scale.o [ 881s] [1138/1909] CXX obj/third_party/libyuv/libyuv_neon/row_neon64.o [ 881s] [1139/1909] ACTION //third_party/libvpx:convert_arm_assembly(//build/toolchain/linux:arm) [ 881s] [1140/1909] CXX obj/third_party/libyuv/libyuv_internal/compare_common.o [ 881s] [1141/1909] CXX obj/third_party/libyuv/libyuv_internal/compare_gcc.o [ 881s] [1142/1909] CXX obj/third_party/libyuv/libyuv_internal/mjpeg_decoder.o [ 881s] [1143/1909] CXX obj/third_party/libyuv/libyuv_neon/scale_neon.o [ 881s] [1144/1909] ACTION //third_party/libvpx:convert_arm_assembly(//build/toolchain/linux:arm) [ 881s] [1145/1909] CXX obj/third_party/abseil-cpp/absl/strings/strings/charconv_bigint.o [ 881s] [1146/1909] CXX obj/third_party/libyuv/libyuv_neon/scale_neon64.o [ 881s] [1147/1909] CXX obj/third_party/jsoncpp/jsoncpp/json_reader.o [ 881s] [1148/1909] ACTION //third_party/libvpx:convert_arm_assembly(//build/toolchain/linux:arm) [ 881s] [1149/1909] STAMP obj/third_party/abseil-cpp/absl/strings/strings.stamp [ 881s] [1150/1909] CXX obj/third_party/libyuv/libyuv_internal/convert_jpeg.o [ 881s] [1151/1909] CXX obj/third_party/jsoncpp/jsoncpp/json_writer.o [ 881s] [1152/1909] CXX obj/third_party/libyuv/libyuv_internal/row_any.o [ 881s] [1153/1909] CC obj/third_party/libsrtp/libsrtp/srtp.o [ 881s] [1154/1909] ACTION //third_party/libvpx:convert_arm_assembly(//build/toolchain/linux:arm) [ 881s] [1155/1909] STAMP obj/api/transport/webrtc_key_value_config.stamp [ 881s] [1156/1909] ACTION //third_party/libvpx:convert_arm_assembly(//build/toolchain/linux:arm) [ 881s] [1157/1909] STAMP obj/rtc_base/checks.stamp [ 881s] [1158/1909] AR obj/third_party/libsrtp/libsrtp.a [ 881s] [1159/1909] STAMP obj/api/transport/field_trial_based_config.stamp [ 881s] [1160/1909] CXX obj/third_party/libyuv/libyuv_internal/rotate_any.o [ 881s] [1161/1909] ACTION //third_party/libvpx:convert_arm_assembly(//build/toolchain/linux:arm) [ 881s] [1162/1909] STAMP obj/api/array_view.stamp [ 881s] [1163/1909] STAMP obj/api/function_view.stamp [ 881s] [1164/1909] CXX obj/third_party/libyuv/libyuv_internal/cpu_id.o [ 881s] [1165/1909] ACTION //third_party/libvpx:convert_arm_assembly(//build/toolchain/linux:arm) [ 881s] [1166/1909] STAMP obj/api/task_queue/task_queue.stamp [ 881s] [1167/1909] STAMP obj/api/transport/media/audio_interfaces.stamp [ 881s] [1168/1909] ACTION //third_party/libvpx:convert_arm_assembly(//build/toolchain/linux:arm) [ 881s] [1169/1909] STAMP obj/rtc_base/safe_minmax.stamp [ 881s] [1170/1909] STAMP obj/api/video_codecs/bitstream_parser_api.stamp [ 881s] [1171/1909] STAMP obj/rtc_base/memory/aligned_malloc.stamp [ 881s] [1172/1909] STAMP obj/modules/audio_processing/utility/legacy_delay_estimator.stamp [ 881s] [1173/1909] STAMP obj/common_video/generic_frame_descriptor/generic_frame_descriptor.stamp [ 881s] [1174/1909] ACTION //third_party/libvpx:convert_arm_assembly(//build/toolchain/linux:arm) [ 881s] [1175/1909] STAMP obj/modules/audio_processing/audio_frame_view.stamp [ 881s] [1176/1909] CXX obj/third_party/libyuv/libyuv_neon/row_neon.o [ 881s] [1177/1909] STAMP obj/modules/video_coding/codec_globals_headers.stamp [ 881s] [1178/1909] STAMP obj/rtc_base/criticalsection.stamp [ 881s] [1179/1909] ACTION //third_party/libvpx:convert_arm_assembly(//build/toolchain/linux:arm) [ 881s] [1180/1909] STAMP obj/rtc_base/safe_conversions.stamp [ 881s] [1181/1909] STAMP obj/rtc_base/rtc_event.stamp [ 881s] [1182/1909] STAMP obj/rtc_base/memory/aligned_array.stamp [ 881s] [1183/1909] STAMP obj/rtc_base/stringutils.stamp [ 881s] [1184/1909] STAMP obj/rtc_base/task_utils/to_queued_task.stamp [ 881s] [1185/1909] CXX obj/third_party/libyuv/libyuv_internal/planar_functions.o [ 881s] [1186/1909] STAMP obj/rtc_base/synchronization/sequence_checker.stamp [ 881s] [1187/1909] STAMP obj/rtc_base/system/file_wrapper.stamp [ 881s] [1188/1909] CXX obj/third_party/rnnoise/rnn_vad/rnn_vad_weights.o [ 881s] [1189/1909] STAMP obj/system_wrappers/event_wrapper.stamp [ 881s] [1190/1909] STAMP obj/rtc_base/rtc_task_queue.stamp [ 881s] [1191/1909] STAMP obj/rtc_base/units/unit_base.stamp [ 881s] [1192/1909] ACTION //third_party/libvpx:convert_arm_assembly(//build/toolchain/linux:arm) [ 881s] [1193/1909] STAMP obj/rtc_base/thread_checker.stamp [ 881s] [1194/1909] STAMP obj/api/video/video_bitrate_allocation.stamp [ 881s] [1195/1909] STAMP obj/api/audio_options_api.stamp [ 881s] [1196/1909] STAMP obj/third_party/rnnoise/rnn_vad.stamp [ 881s] [1197/1909] ACTION //third_party/libvpx:convert_arm_assembly(//build/toolchain/linux:arm) [ 881s] [1198/1909] ACTION //third_party/libvpx:convert_arm_assembly(//build/toolchain/linux:arm) [ 881s] [1199/1909] STAMP obj/rtc_base/timeutils.stamp [ 881s] [1200/1909] AR obj/rtc_base/libweak_ptr.a [ 881s] [1201/1909] STAMP obj/api/units/time_delta.stamp [ 881s] [1202/1909] CXX obj/third_party/libyuv/libyuv_internal/convert_to_i420.o [ 881s] [1203/1909] STAMP obj/api/units/timestamp.stamp [ 881s] [1204/1909] STAMP obj/api/units/data_size.stamp [ 881s] [1205/1909] ACTION //third_party/libvpx:convert_arm_assembly(//build/toolchain/linux:arm) [ 881s] [1206/1909] STAMP obj/api/video/video_bitrate_allocator.stamp [ 881s] [1207/1909] CXX obj/third_party/libyuv/libyuv_internal/convert_to_argb.o [ 881s] [1208/1909] STAMP obj/rtc_base/platform_thread.stamp [ 881s] [1209/1909] CXX obj/third_party/libyuv/libyuv_internal/scale_common.o [ 881s] [1210/1909] CC obj/third_party/usrsctp/usrsctp/sctp_bsd_addr.o [ 881s] [1211/1909] STAMP obj/api/units/data_rate.stamp [ 881s] [1212/1909] STAMP obj/rtc_base/logging.stamp [ 881s] [1213/1909] CXX obj/third_party/libyuv/libyuv_internal/compare.o [ 881s] [1214/1909] STAMP obj/api/rtc_event_log/rtc_event_log.stamp [ 881s] [1215/1909] STAMP obj/third_party/libvpx/convert_arm_assembly.stamp [ 881s] [1216/1909] AR obj/api/transport/libnetwork_control.a [ 881s] [1217/1909] CC obj/third_party/usrsctp/usrsctp/sctp_callout.o [ 881s] [1218/1909] STAMP obj/api/bitrate_allocation.stamp [ 881s] [1219/1909] STAMP obj/api/rtc_event_log/rtc_event_log_factory.stamp [ 881s] [1220/1909] STAMP obj/rtc_base/rtc_task_queue_libevent.stamp [ 881s] [1221/1909] CC obj/third_party/usrsctp/usrsctp/sctp_crc32.o [ 881s] [1222/1909] CXX obj/third_party/libyuv/libyuv_internal/convert_from.o [ 881s] [1223/1909] CC obj/third_party/libvpx/libvpx/treewriter.o [ 881s] [1224/1909] STAMP obj/api/task_queue/default_task_queue_factory.stamp [ 881s] [1225/1909] STAMP obj/api/task_queue/global_task_queue_factory.stamp [ 881s] [1226/1909] ACTION //third_party/opus:convert_rtcd_assembler(//build/toolchain/linux:arm) [ 881s] [1227/1909] CXX obj/third_party/libyuv/libyuv_internal/convert_from_argb.o [ 881s] [1228/1909] CC obj/third_party/usrsctp/usrsctp/sctp_asconf.o [ 881s] [1229/1909] CC obj/third_party/libvpx/libvpx/vp9_blockd.o [ 881s] [1230/1909] CXX obj/third_party/libyuv/libyuv_internal/convert.o [ 881s] [1231/1909] CC obj/third_party/libvpx/libvpx/vp9_common_data.o [ 881s] [1232/1909] CC obj/third_party/libvpx/libvpx/vp9_alloccommon.o [ 881s] [1233/1909] CC obj/third_party/libvpx/libvpx/vp9_entropy.o [ 881s] [1234/1909] CC obj/third_party/libvpx/libvpx/vp9_iht4x4_add_neon.o [ 881s] [1235/1909] CC obj/third_party/libvpx/libvpx/vp8_dx_iface.o [ 881s] [1236/1909] CXX obj/third_party/libyuv/libyuv_internal/convert_argb.o [ 881s] [1237/1909] CXX obj/third_party/jsoncpp/jsoncpp/json_value.o [ 881s] [1238/1909] CC obj/third_party/libvpx/libvpx/vp9_filter.o [ 881s] [1239/1909] CC obj/third_party/libvpx/libvpx/vp8_quantize.o [ 881s] [1240/1909] CC obj/third_party/libvpx/libvpx/vp9_frame_buffers.o [ 881s] [1241/1909] CC obj/third_party/libvpx/libvpx/vp9_entropymv.o [ 881s] [1242/1909] CC obj/third_party/libvpx/libvpx/vp9_idct.o [ 881s] [1243/1909] CC obj/third_party/libvpx/libvpx/vp9_quant_common.o [ 881s] [1244/1909] CC obj/third_party/libvpx/libvpx/vp9_entropymode.o [ 881s] [1245/1909] CC obj/third_party/libvpx/libvpx/vp9_iht8x8_add_neon.o [ 881s] [1246/1909] CC obj/third_party/libvpx/libvpx/vp9_scale.o [ 881s] [1247/1909] CC obj/third_party/libvpx/libvpx/vp8_cx_iface.o [ 881s] [1248/1909] CXX obj/pc/rtc_pc_base/channel.o [ 881s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 881s] from ../../../../pc/channel_interface.h:20, [ 881s] from ../../../../pc/channel.h:33, [ 881s] from ../../../../pc/channel.cc:11: [ 881s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 881s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 881s] 423 | SctpDataContentDescription* as_sctp() override; [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 881s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 881s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 881s] | ^~~~~~~~~~~ [ 881s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 881s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 881s] from ../../../../call/call.h:24, [ 881s] from ../../../../pc/channel_manager.h:23, [ 881s] from ../../../../pc/channel.cc:24: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../pc/channel.cc: In member function 'bool cricket::BaseChannel::SendPacket(bool, rtc::CopyOnWriteBuffer*, const rtc::PacketOptions&)': [ 881s] ../../../../pc/channel.cc:410:21: warning: implicitly-declared 'rtc::PacketOptions& rtc::PacketOptions::operator=(const rtc::PacketOptions&)' is deprecated [-Wdeprecated-copy] [ 881s] 410 | data->options = options; [ 881s] | ^~~~~~~ [ 881s] In file included from ../../../../media/base/media_channel.h:42, [ 881s] from ../../../../pc/channel.h:28, [ 881s] from ../../../../pc/channel.cc:11: [ 881s] ../../../../rtc_base/async_packet_socket.h:42:3: note: because 'rtc::PacketOptions' has user-provided 'rtc::PacketOptions::PacketOptions(const rtc::PacketOptions&)' [ 881s] 42 | PacketOptions(const PacketOptions& other); [ 881s] | ^~~~~~~~~~~~~ [ 881s] ../../../../rtc_base/async_packet_socket.h: In member function 'rtc::PacketOptions& rtc::PacketOptions::operator=(const rtc::PacketOptions&)': [ 881s] ../../../../rtc_base/async_packet_socket.h:39:8: warning: implicitly-declared 'rtc::PacketTimeUpdateParams& rtc::PacketTimeUpdateParams::operator=(const rtc::PacketTimeUpdateParams&)' is deprecated [-Wdeprecated-copy] [ 881s] 39 | struct PacketOptions { [ 881s] | ^~~~~~~~~~~~~ [ 881s] ../../../../rtc_base/async_packet_socket.h:28:3: note: because 'rtc::PacketTimeUpdateParams' has user-provided 'rtc::PacketTimeUpdateParams::PacketTimeUpdateParams(const rtc::PacketTimeUpdateParams&)' [ 881s] 28 | PacketTimeUpdateParams(const PacketTimeUpdateParams& other); [ 881s] | ^~~~~~~~~~~~~~~~~~~~~~ [ 881s] ../../../../rtc_base/async_packet_socket.h:39:8: warning: implicitly-declared 'rtc::PacketInfo& rtc::PacketInfo::operator=(const rtc::PacketInfo&)' is deprecated [-Wdeprecated-copy] [ 881s] 39 | struct PacketOptions { [ 881s] | ^~~~~~~~~~~~~ [ 881s] In file included from ../../../../rtc_base/async_packet_socket.h:16, [ 881s] from ../../../../media/base/media_channel.h:42, [ 881s] from ../../../../pc/channel.h:28, [ 881s] from ../../../../pc/channel.cc:11: [ 881s] ../../../../rtc_base/network/sent_packet.h:40:3: note: because 'rtc::PacketInfo' has user-provided 'rtc::PacketInfo::PacketInfo(const rtc::PacketInfo&)' [ 881s] 40 | PacketInfo(const PacketInfo& info); [ 881s] | ^~~~~~~~~~ [ 881s] ../../../../pc/channel.cc: In member function 'bool cricket::BaseChannel::SendPacket(bool, rtc::CopyOnWriteBuffer*, const rtc::PacketOptions&)': [ 881s] ../../../../pc/channel.cc:410:21: note: synthesized method 'rtc::PacketOptions& rtc::PacketOptions::operator=(const rtc::PacketOptions&)' first required here [ 881s] 410 | data->options = options; [ 881s] | ^~~~~~~ [ 881s] [1249/1909] CC obj/third_party/libvpx/libvpx/vp9_rtcd.o [ 881s] [1250/1909] CC obj/third_party/libvpx/libvpx/vp9_pred_common.o [ 881s] [1251/1909] CC obj/third_party/libvpx/libvpx/vp9_mfqe.o [ 881s] [1252/1909] CC obj/third_party/libvpx/libvpx/vp9_postproc.o [ 881s] [1253/1909] CC obj/third_party/libvpx/libvpx/vp9_mvref_common.o [ 881s] [1254/1909] CC obj/third_party/usrsctp/usrsctp/sctp_auth.o [ 881s] [1255/1909] CC obj/third_party/libvpx/libvpx/vp9_scan.o [ 881s] [1256/1909] CC obj/third_party/libvpx/libvpx/vp9_seg_common.o [ 881s] [1257/1909] CC obj/third_party/libvpx/libvpx/vp9_reconinter.o [ 881s] [1258/1909] CC obj/third_party/libvpx/libvpx/vp9_tile_common.o [ 881s] [1259/1909] CC obj/third_party/libvpx/libvpx/vp9_iht16x16_add_neon.o [ 881s] [1260/1909] CC obj/third_party/libvpx/libvpx/vp9_reconintra.o [ 881s] [1261/1909] CC obj/third_party/libvpx/libvpx/vp9_job_queue.o [ 881s] [1262/1909] CC obj/third_party/libvpx/libvpx/vp9_cost.o [ 881s] [1263/1909] CC obj/third_party/libvpx/libvpx/vp9_dsubexp.o [ 881s] [1264/1909] CXX obj/video/video/transport_adapter.o [ 881s] [1265/1909] CC obj/third_party/libvpx/libvpx/vp9_error_neon.o [ 881s] [1266/1909] CC obj/third_party/libvpx/libvpx/vp9_context_tree.o [ 881s] [1267/1909] CC obj/third_party/usrsctp/usrsctp/sctp_cc_functions.o [ 881s] [1268/1909] CC obj/third_party/libvpx/libvpx/vp9_decoder.o [ 881s] [1269/1909] AR obj/logging/librtc_event_log_impl_base.a [ 881s] [1270/1909] CC obj/third_party/libvpx/libvpx/vp9_quantize_neon.o [ 881s] [1271/1909] CC obj/third_party/libvpx/libvpx/vp9_detokenize.o [ 881s] [1272/1909] CC obj/third_party/libvpx/libvpx/vp9_denoiser_neon.o [ 881s] [1273/1909] CXX obj/video/video/stream_synchronization.o [ 881s] [1274/1909] STAMP obj/modules/congestion_controller/goog_cc/link_capacity_estimator.stamp [ 881s] [1275/1909] CC obj/third_party/libvpx/libvpx/vp9_aq_cyclicrefresh.o [ 881s] [1276/1909] CC obj/third_party/libvpx/libvpx/vp9_loopfilter.o [ 881s] [1277/1909] CXX obj/pc/peerconnection/webrtc_session_description_factory.o [ 881s] In file included from ../../../../api/rtc_event_log/rtc_event_log_factory_interface.h:16, [ 881s] from ../../../../api/peer_connection_interface.h:88, [ 881s] from ../../../../pc/webrtc_session_description_factory.h:20, [ 881s] from ../../../../pc/webrtc_session_description_factory.cc:11: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 881s] from ../../../../pc/rtp_transport.h:18, [ 881s] from ../../../../pc/srtp_transport.h:24, [ 881s] from ../../../../pc/dtls_srtp_transport.h:21, [ 881s] from ../../../../pc/jsep_transport.h:26, [ 881s] from ../../../../pc/media_session.h:26, [ 881s] from ../../../../pc/webrtc_session_description_factory.h:24, [ 881s] from ../../../../pc/webrtc_session_description_factory.cc:11: [ 881s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 881s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 881s] 423 | SctpDataContentDescription* as_sctp() override; [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 881s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 881s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 881s] | ^~~~~~~~~~~ [ 881s] In file included from ../../../../api/jsep_session_description.h:24, [ 881s] from ../../../../pc/webrtc_session_description_factory.cc:22: [ 881s] ../../../../api/jsep_ice_candidate.h: In member function 'void webrtc::JsepIceCandidate::SetCandidate(const cricket::Candidate&)': [ 881s] ../../../../api/jsep_ice_candidate.h:39:18: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 881s] 39 | candidate_ = candidate; [ 881s] | ^~~~~~~~~ [ 881s] In file included from ../../../../p2p/base/port.h:21, [ 881s] from ../../../../p2p/base/port_allocator.h:19, [ 881s] from ../../../../api/peer_connection_interface.h:105, [ 881s] from ../../../../pc/webrtc_session_description_factory.h:20, [ 881s] from ../../../../pc/webrtc_session_description_factory.cc:11: [ 881s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 881s] 46 | Candidate(const Candidate&); [ 881s] | ^~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../api/jsep.h:29, [ 881s] from ../../../../pc/webrtc_session_description_factory.h:19, [ 881s] from ../../../../pc/webrtc_session_description_factory.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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]' [ 881s] ../../../../pc/rtp_sender.h:119:34: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../api/rtp_receiver_interface.h:25, [ 881s] from ../../../../api/peer_connection_interface.h:90, [ 881s] from ../../../../pc/webrtc_session_description_factory.h:20, [ 881s] from ../../../../pc/webrtc_session_description_factory.cc:11: [ 881s] ../../../../api/rtp_parameters.h:342:3: note: because 'webrtc::RtpFecParameters' has user-provided 'webrtc::RtpFecParameters::RtpFecParameters(const webrtc::RtpFecParameters&)' [ 881s] 342 | RtpFecParameters(const RtpFecParameters&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../api/jsep.h:29, [ 881s] from ../../../../pc/webrtc_session_description_factory.h:19, [ 881s] from ../../../../pc/webrtc_session_description_factory.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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]' [ 881s] ../../../../pc/rtp_sender.h:119:34: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../api/rtp_receiver_interface.h:25, [ 881s] from ../../../../api/peer_connection_interface.h:90, [ 881s] from ../../../../pc/webrtc_session_description_factory.h:20, [ 881s] from ../../../../pc/webrtc_session_description_factory.cc:11: [ 881s] ../../../../api/rtp_parameters.h:359:3: note: because 'webrtc::RtpRtxParameters' has user-provided 'webrtc::RtpRtxParameters::RtpRtxParameters(const webrtc::RtpRtxParameters&)' [ 881s] 359 | RtpRtxParameters(const RtpRtxParameters&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] [1278/1909] CXX obj/pc/rtc_pc_base/jsep_transport_controller.o [ 881s] In file included from ../../../../api/rtc_event_log/rtc_event_log_factory_interface.h:16, [ 881s] from ../../../../api/peer_connection_interface.h:88, [ 881s] from ../../../../pc/jsep_transport_controller.h:24, [ 881s] from ../../../../pc/jsep_transport_controller.cc:11: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 881s] from ../../../../pc/channel_interface.h:20, [ 881s] from ../../../../pc/channel.h:33, [ 881s] from ../../../../pc/jsep_transport_controller.h:30, [ 881s] from ../../../../pc/jsep_transport_controller.cc:11: [ 881s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 881s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 881s] 423 | SctpDataContentDescription* as_sctp() override; [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 881s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 881s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 881s] | ^~~~~~~~~~~ [ 881s] [1279/1909] CC obj/third_party/libvpx/libvpx/vp9_thread_common.o [ 881s] [1280/1909] CC obj/third_party/libvpx/libvpx/vp9_encodemv.o [ 881s] [1281/1909] CC obj/third_party/libvpx/libvpx/vp9_denoiser.o [ 881s] [1282/1909] CC obj/third_party/libvpx/libvpx/vp9_dct.o [ 881s] [1283/1909] CC obj/third_party/libvpx/libvpx/vp9_ethread.o [ 881s] [1284/1909] CC obj/third_party/libvpx/libvpx/vpx_convolve_neon.o [ 881s] [1285/1909] CC obj/third_party/libvpx/libvpx/vpx_convolve8_neon_asm.o [ 881s] [1286/1909] CC obj/third_party/libvpx/libvpx/sum_squares_neon.o [ 881s] [1287/1909] CC obj/third_party/libvpx/libvpx/idct8x8_add_neon.o [ 881s] [1288/1909] CXX obj/video/video/stats_counter.o [ 881s] [1289/1909] CC obj/third_party/libvpx/libvpx/vp9_encodemb.o [ 881s] [1290/1909] CC obj/third_party/pffft/pffft/pffft.o [ 881s] ../../../../third_party/pffft/src/pffft.c: In function 'validate_pffft_simd': [ 881s] ../../../../third_party/pffft/src/pffft.c:218:33: warning: variable 'u' set but not used [-Wunused-but-set-variable] [ 881s] 218 | v4sf_union a0, a1, a2, a3, t, u; [ 881s] | ^ [ 881s] ../../../../third_party/pffft/src/pffft.c:218:30: warning: variable 't' set but not used [-Wunused-but-set-variable] [ 881s] 218 | v4sf_union a0, a1, a2, a3, t, u; [ 881s] | ^ [ 881s] [1291/1909] CXX obj/third_party/libyuv/libyuv_internal/row_common.o [ 881s] [1292/1909] CC obj/third_party/libvpx/libvpx/quantize_neon.o [ 881s] [1293/1909] CC obj/third_party/libvpx/libvpx/subtract_neon.o [ 881s] [1294/1909] CC obj/third_party/libvpx/libvpx/bitwriter_buffer.o [ 881s] [1295/1909] CC obj/third_party/libvpx/libvpx/bitreader_buffer.o [ 881s] [1296/1909] CC obj/third_party/libvpx/libvpx/bitwriter.o [ 881s] [1297/1909] CC obj/third_party/libvpx/libvpx/bitreader.o [ 881s] [1298/1909] CXX obj/video/frame_dumping_decoder/frame_dumping_decoder.o [ 881s] [1299/1909] CC obj/third_party/libvpx/libvpx/sad_neon.o [ 881s] [1300/1909] CC obj/third_party/libvpx/libvpx/prob.o [ 881s] [1301/1909] CC obj/third_party/libvpx/libvpx/intrapred_neon.o [ 881s] [1302/1909] CC obj/third_party/libvpx/libvpx/sad4d_neon.o [ 881s] [1303/1909] CC obj/third_party/libvpx/libvpx/deblock.o [ 881s] [1304/1909] CC obj/third_party/libvpx/libvpx/avg.o [ 881s] [1305/1909] CC obj/third_party/libvpx/libvpx/psnr.o [ 881s] [1306/1909] CC obj/third_party/libvpx/libvpx/vp9_decodemv.o [ 881s] [1307/1909] CC obj/third_party/libvpx/libvpx/skin_detection.o [ 881s] [1308/1909] AR obj/rtc_base/experiments/libfield_trial_parser.a [ 881s] [1309/1909] CC obj/third_party/libvpx/libvpx/quantize.o [ 881s] [1310/1909] CC obj/third_party/libvpx/libvpx/variance_neon.o [ 881s] [1311/1909] CC obj/third_party/libvpx/libvpx/subpel_variance_neon.o [ 881s] [1312/1909] AR obj/rtc_base/experiments/libkeyframe_interval_settings_experiment.a [ 881s] [1313/1909] STAMP obj/rtc_base/task_utils/repeating_task.stamp [ 881s] [1314/1909] STAMP obj/rtc_base/rtc_base_approved.stamp [ 881s] [1315/1909] CXX obj/video/video/call_stats.o [ 881s] [1316/1909] STAMP obj/modules/audio_device/audio_device_api.stamp [ 881s] [1317/1909] STAMP obj/api/refcountedbase.stamp [ 881s] [1318/1909] CC obj/third_party/libvpx/libvpx/vpx_scaled_convolve8_neon.o [ 881s] [1319/1909] CXX obj/modules/video_coding/webrtc_vp8/libvpx_vp8_decoder.o [ 881s] [1320/1909] STAMP obj/api/video/video_frame.stamp [ 881s] [1321/1909] STAMP obj/api/audio_codecs/audio_codecs_api.stamp [ 881s] [1322/1909] STAMP obj/api/rtc_event_log_output_file.stamp [ 881s] [1323/1909] AR obj/api/audio_codecs/opus/libaudio_encoder_opus_config.a [ 881s] [1324/1909] STAMP obj/api/audio/audio_frame_api.stamp [ 881s] [1325/1909] STAMP obj/api/video/encoded_image.stamp [ 881s] [1326/1909] STAMP obj/api/rtp_headers.stamp [ 881s] [1327/1909] STAMP obj/api/audio/aec3_config.stamp [ 881s] [1328/1909] STAMP obj/api/audio/audio_mixer_api.stamp [ 881s] [1329/1909] CXX obj/video/video/buffered_frame_decryptor.o [ 881s] In file included from ../../../../api/video/encoded_frame.h:14, [ 881s] from ../../../../modules/video_coding/frame_object.h:15, [ 881s] from ../../../../video/buffered_frame_decryptor.h:20, [ 881s] from ../../../../video/buffered_frame_decryptor.cc:11: [ 881s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 881s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 881s] 108 | _codecSpecificInfo = *codec_specific; [ 881s] | ^~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 881s] from ../../../../api/video/encoded_frame.h:14, [ 881s] from ../../../../modules/video_coding/frame_object.h:15, [ 881s] from ../../../../video/buffered_frame_decryptor.h:20, [ 881s] from ../../../../video/buffered_frame_decryptor.cc:11: [ 881s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 881s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 881s] | ^~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../api/rtp_headers.h:18, [ 881s] from ../../../../modules/include/module_common_types.h:18, [ 881s] from ../../../../video/buffered_frame_decryptor.h:19, [ 881s] from ../../../../video/buffered_frame_decryptor.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 881s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 881s] from ../../../../api/video/encoded_frame.h:14, [ 881s] from ../../../../modules/video_coding/frame_object.h:15, [ 881s] from ../../../../video/buffered_frame_decryptor.h:20, [ 881s] from ../../../../video/buffered_frame_decryptor.cc:11: [ 881s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 881s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] [1330/1909] STAMP obj/api/transport/media/video_interfaces.stamp [ 881s] [1331/1909] STAMP obj/api/rtc_stats_api.stamp [ 881s] [1332/1909] STAMP obj/api/video_codecs/video_codecs_api.stamp [ 881s] [1333/1909] AR obj/rtc_base/experiments/librtt_mult_experiment.a [ 881s] [1334/1909] STAMP obj/logging/rtc_event_log_api.stamp [ 881s] [1335/1909] AR obj/modules/audio_coding/libaudio_coding_opus_common.a [ 881s] [1336/1909] AR obj/modules/audio_coding/libisac_common.a [ 881s] [1337/1909] STAMP obj/api/video/video_bitrate_allocator_factory.stamp [ 881s] [1338/1909] AR obj/modules/audio_coding/liblegacy_encoded_audio_frame.a [ 881s] [1339/1909] STAMP obj/media/rtc_vp9_profile.stamp [ 881s] [1340/1909] STAMP obj/logging/rtc_event_pacing.stamp [ 881s] [1341/1909] STAMP obj/modules/audio_device/audio_device_default.stamp [ 881s] [1342/1909] STAMP obj/modules/audio_processing/agc2/common.stamp [ 881s] [1343/1909] AR obj/modules/audio_coding/libg722.a [ 881s] [1344/1909] AR obj/modules/audio_coding/libg711.a [ 881s] [1345/1909] CXX obj/video/video/encoder_rtcp_feedback.o [ 881s] [1346/1909] CC obj/third_party/libvpx/libvpx/sad.o [ 881s] [1347/1909] AR obj/api/audio_codecs/g722/libaudio_decoder_g722.a [ 881s] [1348/1909] CXX obj/api/video_codecs/builtin_video_decoder_factory/builtin_video_decoder_factory.o [ 881s] [1349/1909] STAMP obj/modules/audio_processing/agc2/biquad_filter.stamp [ 881s] [1350/1909] STAMP obj/modules/audio_processing/utility/block_mean_calculator.stamp [ 881s] [1351/1909] STAMP obj/modules/audio_processing/agc2/gain_applier.stamp [ 881s] [1352/1909] AR obj/modules/audio_coding/libpcm16b.a [ 881s] [1353/1909] AR obj/api/audio_codecs/g722/libaudio_encoder_g722.a [ 881s] [1354/1909] AR obj/api/audio_codecs/g711/libaudio_encoder_g711.a [ 881s] [1355/1909] AR obj/api/audio_codecs/g711/libaudio_decoder_g711.a [ 881s] [1356/1909] STAMP obj/modules/pacing/interval_budget.stamp [ 881s] [1357/1909] CXX obj/video/video/send_delay_stats.o [ 881s] [1358/1909] AR obj/api/audio_codecs/L16/libaudio_encoder_L16.a [ 881s] [1359/1909] AR obj/api/audio_codecs/L16/libaudio_decoder_L16.a [ 881s] [1360/1909] STAMP obj/modules/rtp_rtcp/rtp_video_header.stamp [ 881s] [1361/1909] STAMP obj/rtc_base/audio_format_to_string.stamp [ 881s] [1362/1909] AR obj/rtc_base/librtc_numerics.a [ 881s] [1363/1909] AR obj/rtc_base/experiments/libjitter_upper_bound_experiment.a [ 881s] [1364/1909] AR obj/rtc_base/experiments/libaudio_allocation_settings.a [ 881s] [1365/1909] AR obj/rtc_base/experiments/libbalanced_degradation_settings.a [ 881s] [1366/1909] AR obj/rtc_base/experiments/libalr_experiment.a [ 881s] [1367/1909] AR obj/rtc_base/experiments/libnormalize_simulcast_size_experiment.a [ 881s] [1368/1909] AR obj/rtc_base/experiments/libcpu_speed_experiment.a [ 881s] [1369/1909] AR obj/rtc_base/experiments/libquality_scaler_settings.a [ 881s] [1370/1909] AR obj/rtc_base/experiments/libquality_scaling_experiment.a [ 881s] [1371/1909] AR obj/rtc_base/experiments/librate_control_settings.a [ 881s] [1372/1909] STAMP obj/system_wrappers/metrics.stamp [ 881s] [1373/1909] AR obj/stats/librtc_stats.a [ 881s] [1374/1909] AR obj/system_wrappers/libsystem_wrappers.a [ 881s] [1375/1909] STAMP obj/modules/module_api.stamp [ 881s] [1376/1909] STAMP obj/rtc_base/system/thread_registry.stamp [ 881s] [1377/1909] CC obj/third_party/libvpx/libvpx/loopfilter.o [ 881s] [1378/1909] STAMP obj/modules/congestion_controller/goog_cc/alr_detector.stamp [ 881s] [1379/1909] CC obj/third_party/libvpx/libvpx/fwd_txfm.o [ 881s] [1380/1909] STAMP obj/modules/congestion_controller/goog_cc/pushback_controller.stamp [ 881s] [1381/1909] STAMP obj/third_party/jsoncpp/jsoncpp.stamp [ 881s] [1382/1909] STAMP obj/common_audio/sinc_resampler.stamp [ 881s] [1383/1909] STAMP obj/common_audio/common_audio_cc.stamp [ 881s] [1384/1909] STAMP obj/rtc_base/rate_limiter.stamp [ 881s] [1385/1909] STAMP obj/stats/stats.stamp [ 881s] [1386/1909] STAMP obj/modules/video_processing/denoiser_filter.stamp [ 881s] [1387/1909] STAMP obj/modules/audio_processing/audio_generator_interface.stamp [ 881s] [1388/1909] STAMP obj/common_audio/common_audio_c.stamp [ 881s] [1389/1909] STAMP obj/third_party/opus/convert_rtcd_assembler.stamp [ 881s] [1390/1909] STAMP obj/rtc_base/rtc_json.stamp [ 881s] [1391/1909] AR obj/third_party/libyuv/libyuv_internal.a [ 881s] [1392/1909] AR obj/modules/video_processing/libvideo_processing_neon.a [ 881s] [1393/1909] STAMP obj/modules/audio_processing/api.stamp [ 881s] [1394/1909] STAMP obj/common_audio/common_audio_neon_c.stamp [ 881s] [1395/1909] CC obj/third_party/libvpx/libvpx/loopfilter_arm.o [ 881s] [1396/1909] CC obj/third_party/libvpx/libvpx/alloccommon.o [ 881s] [1397/1909] AR obj/common_audio/libcommon_audio_neon.a [ 881s] [1398/1909] CC obj/third_party/libvpx/libvpx/intrapred.o [ 881s] [1399/1909] STAMP obj/modules/audio_device/audio_device_buffer.stamp [ 881s] [1400/1909] AR obj/common_audio/libcommon_audio.a [ 881s] [1401/1909] AR obj/audio/utility/libaudio_frame_operations.a [ 881s] [1402/1909] STAMP obj/common_audio/fir_filter_factory.stamp [ 881s] [1403/1909] STAMP obj/modules/audio_coding/ilbc_c.stamp [ 881s] [1404/1909] STAMP obj/modules/audio_coding/isac_fix_common.stamp [ 881s] [1405/1909] AR obj/modules/audio_coding/libilbc.a [ 881s] [1406/1909] CC obj/third_party/usrsctp/usrsctp/sctp_input.o [ 881s] ../../../../third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_input.c: In function 'sctp_handle_stream_reset_response': [ 881s] ../../../../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] [ 881s] 3884 | sctp_reset_out_streams(stcb, number_entries, req_out_param->list_of_streams); [ 881s] | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ [ 881s] ../../../../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] [ 881s] 3897 | sctp_reset_clear_pending(stcb, number_entries, req_out_param->list_of_streams); [ 881s] | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ [ 881s] ../../../../third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_input.c: In function 'sctp_handle_str_reset_request_out': [ 881s] ../../../../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] [ 881s] 4175 | sctp_reset_in_stream(stcb, number_entries, req->list_of_streams); [ 881s] | ~~~^~~~~~~~~~~~~~~~~ [ 881s] [1407/1909] AR obj/modules/audio_coding/libisac_neon.a [ 881s] [1408/1909] AR obj/api/audio_codecs/ilbc/libaudio_decoder_ilbc.a [ 881s] [1409/1909] AR obj/api/audio_codecs/ilbc/libaudio_encoder_ilbc.a [ 881s] [1410/1909] CC obj/third_party/libvpx/libvpx/copymem_neon.o [ 881s] [1411/1909] STAMP obj/modules/audio_coding/isac_fix_c_arm_asm.stamp [ 881s] [1412/1909] AR obj/modules/audio_coding/libwebrtc_cng.a [ 881s] [1413/1909] STAMP obj/modules/audio_coding/isac_fix_c.stamp [ 881s] [1414/1909] AR obj/modules/audio_coding/libaudio_encoder_cng.a [ 881s] [1415/1909] AR obj/modules/audio_coding/libisac_fix.a [ 881s] [1416/1909] CC obj/third_party/libvpx/libvpx/bilinearpredict_neon.o [ 881s] [1417/1909] AR obj/api/audio_codecs/isac/libaudio_decoder_isac_fix.a [ 881s] [1418/1909] AR obj/api/audio_codecs/isac/libaudio_encoder_isac_fix.a [ 881s] [1419/1909] AR obj/modules/audio_coding/libneteq.a [ 881s] [1420/1909] CXX obj/api/video_codecs/builtin_video_encoder_factory/builtin_video_encoder_factory.o [ 881s] [1421/1909] STAMP obj/api/audio_codecs/isac/audio_decoder_isac.stamp [ 881s] [1422/1909] STAMP obj/api/audio_codecs/isac/audio_encoder_isac.stamp [ 881s] [1423/1909] AR obj/modules/audio_coding/libaudio_coding.a [ 881s] [1424/1909] CXX obj/modules/video_coding/webrtc_vp8/libvpx_interface.o [ 881s] [1425/1909] STAMP obj/modules/audio_device/audio_device_generic.stamp [ 881s] [1426/1909] STAMP obj/modules/audio_processing/apm_logging.stamp [ 881s] [1427/1909] AR obj/modules/audio_mixer/libaudio_frame_manipulator.a [ 881s] [1428/1909] AR obj/modules/audio_processing/libaudio_buffer.a [ 881s] [1429/1909] CXX obj/pc/peerconnection/rtc_stats_collector.o [ 881s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 881s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 881s] from ../../../../call/call.h:24, [ 881s] from ../../../../pc/rtc_stats_collector.h:25, [ 881s] from ../../../../pc/rtc_stats_collector.cc:11: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 881s] from ../../../../pc/channel_interface.h:20, [ 881s] from ../../../../pc/channel.h:33, [ 881s] from ../../../../pc/data_channel.h:23, [ 881s] from ../../../../pc/rtc_stats_collector.h:27, [ 881s] from ../../../../pc/rtc_stats_collector.cc:11: [ 881s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 881s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 881s] 423 | SctpDataContentDescription* as_sctp() override; [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 881s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 881s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 881s] | ^~~~~~~~~~~ [ 881s] In file included from ../../../../pc/peer_connection_internal.h:20, [ 881s] from ../../../../pc/rtc_stats_collector.h:28, [ 881s] from ../../../../pc/rtc_stats_collector.cc:11: [ 881s] ../../../../api/peer_connection_interface.h:1025:20: warning: 'virtual webrtc::RTCError webrtc::PeerConnectionInterface::SetBitrate(const webrtc::PeerConnectionInterface::BitrateParameters&)' was hidden [-Woverloaded-virtual] [ 881s] 1025 | virtual RTCError SetBitrate(const BitrateParameters& bitrate_parameters); [ 881s] | ^~~~~~~~~~ [ 881s] In file included from ../../../../pc/rtc_stats_collector.cc:26: [ 881s] ../../../../pc/peer_connection.h:196:12: warning: by 'virtual webrtc::RTCError webrtc::PeerConnection::SetBitrate(const webrtc::BitrateSettings&)' [-Woverloaded-virtual] [ 881s] 196 | RTCError SetBitrate(const BitrateSettings& bitrate) override; [ 881s] | ^~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../pc/rtc_stats_collector.h:20, [ 881s] from ../../../../pc/rtc_stats_collector.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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]' [ 881s] ../../../../pc/rtp_sender.h:119:34: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../call/audio_receive_stream.h:24, [ 881s] from ../../../../call/call.h:19, [ 881s] from ../../../../pc/rtc_stats_collector.h:25, [ 881s] from ../../../../pc/rtc_stats_collector.cc:11: [ 881s] ../../../../api/rtp_parameters.h:342:3: note: because 'webrtc::RtpFecParameters' has user-provided 'webrtc::RtpFecParameters::RtpFecParameters(const webrtc::RtpFecParameters&)' [ 881s] 342 | RtpFecParameters(const RtpFecParameters&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../pc/rtc_stats_collector.h:20, [ 881s] from ../../../../pc/rtc_stats_collector.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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]' [ 881s] ../../../../pc/rtp_sender.h:119:34: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../call/audio_receive_stream.h:24, [ 881s] from ../../../../call/call.h:19, [ 881s] from ../../../../pc/rtc_stats_collector.h:25, [ 881s] from ../../../../pc/rtc_stats_collector.cc:11: [ 881s] ../../../../api/rtp_parameters.h:359:3: note: because 'webrtc::RtpRtxParameters' has user-provided 'webrtc::RtpRtxParameters::RtpRtxParameters(const webrtc::RtpRtxParameters&)' [ 881s] 359 | RtpRtxParameters(const RtpRtxParameters&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] ../../../../pc/rtc_stats_collector.cc: In function 'const char* webrtc::{anonymous}::QualityLimitationReasonToRTCQualityLimitationReason(webrtc::QualityLimitationReason)': [ 881s] ../../../../pc/rtc_stats_collector.cc:213:1: warning: control reaches end of non-void function [-Wreturn-type] [ 881s] 213 | } [ 881s] | ^ [ 881s] [1430/1909] STAMP obj/modules/audio_processing/aecm/aecm_core.stamp [ 881s] [1431/1909] STAMP obj/modules/audio_processing/noise_suppression_proxy.stamp [ 881s] [1432/1909] STAMP obj/modules/audio_processing/agc/agc_legacy_c.stamp [ 881s] [1433/1909] STAMP obj/modules/audio_processing/gain_control_config_proxy.stamp [ 881s] [1434/1909] STAMP obj/modules/audio_processing/agc2/fixed_digital.stamp [ 881s] [1435/1909] STAMP obj/modules/audio_processing/utility/ooura_fft.stamp [ 881s] [1436/1909] STAMP obj/modules/audio_processing/audio_processing_c.stamp [ 881s] [1437/1909] AR obj/modules/audio_processing/vad/libvad.a [ 881s] [1438/1909] CC obj/third_party/libvpx/libvpx/inv_txfm.o [ 881s] [1439/1909] AR obj/modules/utility/libutility.a [ 881s] [1440/1909] STAMP obj/modules/audio_processing/aec/aec_core.stamp [ 881s] [1441/1909] STAMP obj/modules/audio_processing/agc/level_estimation.stamp [ 881s] [1442/1909] AR obj/modules/audio_processing/aec3/libaec3.a [ 881s] [1443/1909] STAMP obj/modules/audio_processing/agc2/noise_level_estimator.stamp [ 881s] [1444/1909] CXX obj/test/fake_video_codecs/fake_vp8_decoder.o [ 881s] [1445/1909] STAMP obj/modules/audio_processing/aec/aec.stamp [ 881s] [1446/1909] CXX obj/media/rtc_internal_video_codecs/fake_video_codec_factory.o [ 881s] [1447/1909] CXX obj/modules/video_coding/webrtc_vp9/vp9_frame_buffer_pool.o [ 881s] [1448/1909] AR obj/rtc_base/librtc_base.a [ 881s] [1449/1909] STAMP obj/api/audio/aec3_factory.stamp [ 881s] [1450/1909] AR obj/api/libjingle_peerconnection_api.a [ 881s] [1451/1909] CXX obj/media/rtc_internal_video_codecs/internal_decoder_factory.o [ 881s] [1452/1909] STAMP obj/api/simulated_network_api.stamp [ 881s] [1453/1909] CC obj/modules/audio_coding/webrtc_opus_c/opus_interface.o [ 881s] [1454/1909] STAMP obj/api/video/video_stream_encoder.stamp [ 881s] [1455/1909] CC obj/third_party/libvpx/libvpx/vp9_decodeframe.o [ 881s] [1456/1909] CC obj/third_party/opus/opus/entcode.o [ 881s] [1457/1909] STAMP obj/call/simulated_network.stamp [ 881s] [1458/1909] STAMP obj/api/api.stamp [ 881s] [1459/1909] CXX obj/media/rtc_internal_video_codecs/internal_encoder_factory.o [ 881s] [1460/1909] STAMP obj/rtc_base/memory/fifo_buffer.stamp [ 881s] [1461/1909] AR obj/logging/librtc_event_log_impl_encoder.a [ 881s] [1462/1909] STAMP obj/logging/ice_log.stamp [ 881s] [1463/1909] STAMP obj/media/rtc_h264_profile_id.stamp [ 881s] [1464/1909] STAMP obj/logging/rtc_stream_config.stamp [ 881s] [1465/1909] STAMP obj/modules/audio_device/audio_device_impl.stamp [ 881s] [1466/1909] CC obj/third_party/opus/opus/celt.o [ 881s] [1467/1909] STAMP obj/logging/rtc_event_video.stamp [ 881s] [1468/1909] STAMP obj/logging/rtc_event_audio.stamp [ 881s] [1469/1909] AR obj/modules/audio_coding/libaudio_network_adaptor.a [ 881s] [1470/1909] CC obj/third_party/opus/opus/cwrs.o [ 881s] [1471/1909] STAMP obj/modules/audio_device/audio_device.stamp [ 881s] [1472/1909] CC obj/third_party/usrsctp/usrsctp/sctp_indata.o [ 881s] [1473/1909] AR obj/p2p/librtc_p2p.a [ 881s] [1474/1909] AR obj/p2p/libstunprober.a [ 881s] [1475/1909] STAMP obj/p2p/p2p.stamp [ 881s] [1476/1909] CXX obj/test/fake_video_codecs/configurable_frame_size_encoder.o [ 881s] [1477/1909] CC obj/third_party/opus/opus/laplace.o [ 881s] [1478/1909] CC obj/third_party/opus/opus/entdec.o [ 881s] [1479/1909] CC obj/third_party/opus/opus/entenc.o [ 881s] [1480/1909] CC obj/third_party/opus/opus/modes.o [ 881s] [1481/1909] CXX obj/test/fake_video_codecs/fake_vp8_encoder.o [ 881s] [1482/1909] CC obj/third_party/opus/opus/mathops.o [ 881s] [1483/1909] CC obj/third_party/opus/opus/mdct.o [ 881s] [1484/1909] CC obj/third_party/opus/opus/celt_lpc.o [ 881s] [1485/1909] CXX obj/api/audio_codecs/opus/audio_encoder_opus/audio_encoder_opus.o [ 881s] [1486/1909] CC obj/third_party/opus/opus/LPC_analysis_filter.o [ 881s] [1487/1909] CXX obj/api/audio_codecs/builtin_audio_decoder_factory/builtin_audio_decoder_factory.o [ 881s] [1488/1909] CC obj/third_party/opus/opus/vq.o [ 881s] [1489/1909] CXX obj/media/rtc_internal_video_codecs/multiplex_codec_factory.o [ 881s] [1490/1909] CC obj/third_party/opus/opus/kiss_fft.o [ 881s] [1491/1909] CC obj/third_party/opus/opus/HP_variable_cutoff.o [ 881s] [1492/1909] CC obj/third_party/opus/opus/LPC_fit.o [ 881s] [1493/1909] CC obj/third_party/opus/opus/LPC_inv_pred_gain.o [ 881s] [1494/1909] CC obj/third_party/opus/opus/NLSF_VQ.o [ 881s] [1495/1909] CC obj/third_party/opus/opus/LP_variable_cutoff.o [ 881s] [1496/1909] CC obj/third_party/opus/opus/NLSF_VQ_weights_laroia.o [ 881s] [1497/1909] CC obj/third_party/opus/opus/CNG.o [ 881s] [1498/1909] CC obj/third_party/opus/opus/decode_core.o [ 881s] [1499/1909] CC obj/third_party/opus/opus/NLSF_decode.o [ 881s] [1500/1909] CXX obj/api/audio_codecs/builtin_audio_encoder_factory/builtin_audio_encoder_factory.o [ 881s] [1501/1909] CC obj/third_party/opus/opus/NLSF_unpack.o [ 881s] [1502/1909] CC obj/third_party/opus/opus/NLSF_encode.o [ 881s] [1503/1909] CXX obj/api/audio_codecs/opus/audio_decoder_multiopus/audio_decoder_multi_channel_opus.o [ 881s] [1504/1909] CC obj/third_party/opus/opus/quant_bands.o [ 881s] [1505/1909] CXX obj/api/audio_codecs/opus/audio_encoder_multiopus/audio_encoder_multi_channel_opus.o [ 881s] [1506/1909] CC obj/third_party/opus/opus/ana_filt_bank_1.o [ 881s] [1507/1909] CC obj/third_party/opus/opus/NLSF_stabilize.o [ 881s] [1508/1909] CC obj/third_party/opus/opus/pitch.o [ 881s] [1509/1909] CC obj/third_party/opus/opus/VQ_WMat_EC.o [ 881s] [1510/1909] CC obj/third_party/opus/opus/NLSF_del_dec_quant.o [ 881s] [1511/1909] CC obj/third_party/opus/opus/bwexpander_32.o [ 881s] [1512/1909] CXX obj/api/audio_codecs/opus/audio_decoder_opus/audio_decoder_opus.o [ 881s] [1513/1909] CC obj/third_party/opus/opus/bwexpander.o [ 881s] [1514/1909] CC obj/third_party/opus/opus/check_control_input.o [ 881s] [1515/1909] CXX obj/modules/audio_coding/webrtc_opus/audio_decoder_opus.o [ 881s] [1516/1909] CC obj/third_party/opus/opus/biquad_alt.o [ 881s] [1517/1909] CC obj/third_party/opus/opus/NLSF2A.o [ 881s] [1518/1909] CC obj/third_party/opus/opus/control_SNR.o [ 881s] [1519/1909] CC obj/third_party/opus/opus/debug.o [ 881s] [1520/1909] CC obj/third_party/opus/opus/control_audio_bandwidth.o [ 881s] [1521/1909] CXX obj/test/fake_video_codecs/fake_decoder.o [ 881s] [1522/1909] CC obj/third_party/opus/opus/k2a_FIX.o [ 881s] [1523/1909] CC obj/third_party/opus/opus/decode_frame.o [ 881s] [1524/1909] CXX obj/modules/video_coding/webrtc_vp9/vp9.o [ 881s] [1525/1909] CC obj/third_party/opus/opus/decoder_set_fs.o [ 881s] [1526/1909] CXX obj/test/fake_video_codecs/fake_encoder.o [ 881s] [1527/1909] CC obj/third_party/opus/opus/rate.o [ 881s] [1528/1909] CC obj/third_party/opus/opus/A2NLSF.o [ 881s] [1529/1909] CC obj/third_party/opus/opus/VAD.o [ 881s] [1530/1909] CC obj/third_party/opus/opus/PLC.o [ 881s] [1531/1909] CC obj/third_party/opus/opus/code_signs.o [ 881s] [1532/1909] CC obj/third_party/opus/opus/init_encoder.o [ 881s] [1533/1909] CC obj/third_party/opus/opus/decode_pulses.o [ 881s] [1534/1909] CC obj/third_party/opus/opus/decode_indices.o [ 881s] [1535/1909] CC obj/third_party/opus/opus/pitch_est_tables.o [ 881s] [1536/1909] CC obj/third_party/opus/opus/init_decoder.o [ 881s] [1537/1909] CC obj/third_party/opus/opus/encode_indices.o [ 881s] [1538/1909] CC obj/third_party/opus/opus/lin2log.o [ 881s] [1539/1909] CC obj/third_party/opus/opus/decode_parameters.o [ 881s] [1540/1909] CC obj/third_party/opus/opus/inner_prod_aligned.o [ 881s] [1541/1909] CC obj/third_party/opus/opus/control_codec.o [ 881s] [1542/1909] CC obj/third_party/opus/opus/log2lin.o [ 881s] [1543/1909] CC obj/third_party/opus/opus/interpolate.o [ 881s] [1544/1909] CC obj/third_party/opus/opus/gain_quant.o [ 881s] [1545/1909] CC obj/third_party/opus/opus/find_pred_coefs_FIX.o [ 881s] [1546/1909] CC obj/third_party/opus/opus/NSQ.o [ 881s] [1547/1909] CC obj/third_party/opus/opus/process_NLSFs.o [ 881s] [1548/1909] CC obj/third_party/opus/opus/resampler_private_AR2.o [ 881s] [1549/1909] CC obj/third_party/opus/opus/decode_pitch.o [ 881s] [1550/1909] CC obj/third_party/opus/opus/resampler.o [ 881s] [1551/1909] CC obj/third_party/opus/opus/resampler_down2_3.o [ 881s] [1552/1909] CC obj/third_party/opus/opus/resampler_down2.o [ 881s] [1553/1909] CC obj/third_party/opus/opus/resampler_rom.o [ 881s] [1554/1909] CC obj/third_party/opus/opus/resampler_private_IIR_FIR.o [ 881s] [1555/1909] CC obj/third_party/opus/opus/shell_coder.o [ 881s] [1556/1909] CC obj/third_party/opus/opus/sigm_Q15.o [ 881s] [1557/1909] CC obj/third_party/opus/opus/resampler_private_up2_HQ.o [ 881s] [1558/1909] CC obj/third_party/opus/opus/quant_LTP_gains.o [ 881s] [1559/1909] CC obj/third_party/opus/opus/stereo_encode_pred.o [ 881s] [1560/1909] CC obj/third_party/opus/opus/stereo_decode_pred.o [ 881s] [1561/1909] CC obj/third_party/opus/opus/stereo_quant_pred.o [ 881s] [1562/1909] CC obj/third_party/opus/opus/dec_API.o [ 881s] [1563/1909] CC obj/third_party/opus/opus/resampler_private_down_FIR.o [ 881s] [1564/1909] CC obj/third_party/opus/opus/stereo_MS_to_LR.o [ 881s] [1565/1909] CC obj/third_party/opus/opus/sum_sqr_shift.o [ 881s] [1566/1909] CC obj/third_party/opus/opus/tables_NLSF_CB_NB_MB.o [ 881s] [1567/1909] CC obj/third_party/opus/opus/table_LSF_cos.o [ 881s] [1568/1909] CXX obj/pc/peerconnection/peer_connection_factory.o [ 881s] In file included from ../../../../api/rtc_event_log/rtc_event_log_factory_interface.h:16, [ 881s] from ../../../../api/peer_connection_interface.h:88, [ 881s] from ../../../../pc/peer_connection_factory.h:20, [ 881s] from ../../../../pc/peer_connection_factory.cc:11: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 881s] from ../../../../pc/channel_interface.h:20, [ 881s] from ../../../../pc/channel.h:33, [ 881s] from ../../../../pc/channel_manager.h:28, [ 881s] from ../../../../pc/peer_connection_factory.h:23, [ 881s] from ../../../../pc/peer_connection_factory.cc:11: [ 881s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 881s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 881s] 423 | SctpDataContentDescription* as_sctp() override; [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 881s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 881s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 881s] | ^~~~~~~~~~~ [ 881s] In file included from ../../../../pc/peer_connection_factory.h:20, [ 881s] from ../../../../pc/peer_connection_factory.cc:11: [ 881s] ../../../../api/peer_connection_interface.h:1025:20: warning: 'virtual webrtc::RTCError webrtc::PeerConnectionInterface::SetBitrate(const webrtc::PeerConnectionInterface::BitrateParameters&)' was hidden [-Woverloaded-virtual] [ 881s] 1025 | virtual RTCError SetBitrate(const BitrateParameters& bitrate_parameters); [ 881s] | ^~~~~~~~~~ [ 881s] In file included from ../../../../pc/peer_connection_factory.cc:35: [ 881s] ../../../../pc/peer_connection.h:196:12: warning: by 'virtual webrtc::RTCError webrtc::PeerConnection::SetBitrate(const webrtc::BitrateSettings&)' [-Woverloaded-virtual] [ 881s] 196 | RTCError SetBitrate(const BitrateSettings& bitrate) override; [ 881s] | ^~~~~~~~~~ [ 881s] In file included from ../../../../pc/peer_connection_factory.h:20, [ 881s] from ../../../../pc/peer_connection_factory.cc:11: [ 881s] ../../../../api/peer_connection_proxy.h: In instantiation of 'class webrtc::PeerConnectionProxyWithInternal': [ 881s] ../../../../pc/peer_connection_factory.cc:282:29: required from here [ 881s] ../../../../api/peer_connection_interface.h:1025:20: warning: 'virtual webrtc::RTCError webrtc::PeerConnectionInterface::SetBitrate(const webrtc::PeerConnectionInterface::BitrateParameters&)' was hidden [-Woverloaded-virtual] [ 881s] 1025 | virtual RTCError SetBitrate(const BitrateParameters& bitrate_parameters); [ 881s] | ^~~~~~~~~~ [ 881s] In file included from ../../../../api/rtp_receiver_interface.h:24, [ 881s] from ../../../../api/peer_connection_interface.h:90, [ 881s] from ../../../../pc/peer_connection_factory.h:20, [ 881s] from ../../../../pc/peer_connection_factory.cc:11: [ 881s] ../../../../api/peer_connection_proxy.h:119:25: warning: by 'webrtc::RTCError webrtc::PeerConnectionProxyWithInternal::SetBitrate(const webrtc::BitrateSettings&) [with INTERNAL_CLASS = webrtc::PeerConnectionInterface]' [-Woverloaded-virtual] [ 881s] 119 | PROXY_METHOD1(RTCError, SetBitrate, const BitrateSettings&) [ 881s] | ^~~~~~~~~~ [ 881s] ../../../../api/proxy.h:500:5: note: in definition of macro 'PROXY_METHOD1' [ 881s] 500 | r method(t1 a1) override { \ [ 881s] | ^~~~~~ [ 881s] In file included from ../../../../pc/peer_connection_factory.h:20, [ 881s] from ../../../../pc/peer_connection_factory.cc:11: [ 881s] ../../../../api/peer_connection_interface.h:1098:16: warning: 'virtual bool webrtc::PeerConnectionInterface::StartRtcEventLog(std::unique_ptr)' was hidden [-Woverloaded-virtual] [ 881s] 1098 | virtual bool StartRtcEventLog(std::unique_ptr output); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../api/rtp_receiver_interface.h:24, [ 881s] from ../../../../api/peer_connection_interface.h:90, [ 881s] from ../../../../pc/peer_connection_factory.h:20, [ 881s] from ../../../../pc/peer_connection_factory.cc:11: [ 881s] ../../../../api/peer_connection_proxy.h:136:15: warning: by 'webrtc::PeerConnectionProxyWithInternal::StartRtcEventLog' [-Woverloaded-virtual] [ 881s] 136 | StartRtcEventLog, [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] ../../../../api/proxy.h:512:5: note: in definition of macro 'PROXY_METHOD2' [ 881s] 512 | r method(t1 a1, t2 a2) override { \ [ 881s] | ^~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../api/media_stream_interface.h:25, [ 881s] from ../../../../pc/peer_connection_factory.h:18, [ 881s] from ../../../../pc/peer_connection_factory.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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]' [ 881s] ../../../../pc/rtp_sender.h:119:34: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../api/rtp_receiver_interface.h:25, [ 881s] from ../../../../api/peer_connection_interface.h:90, [ 881s] from ../../../../pc/peer_connection_factory.h:20, [ 881s] from ../../../../pc/peer_connection_factory.cc:11: [ 881s] ../../../../api/rtp_parameters.h:342:3: note: because 'webrtc::RtpFecParameters' has user-provided 'webrtc::RtpFecParameters::RtpFecParameters(const webrtc::RtpFecParameters&)' [ 881s] 342 | RtpFecParameters(const RtpFecParameters&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../api/media_stream_interface.h:25, [ 881s] from ../../../../pc/peer_connection_factory.h:18, [ 881s] from ../../../../pc/peer_connection_factory.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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]' [ 881s] ../../../../pc/rtp_sender.h:119:34: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../api/rtp_receiver_interface.h:25, [ 881s] from ../../../../api/peer_connection_interface.h:90, [ 881s] from ../../../../pc/peer_connection_factory.h:20, [ 881s] from ../../../../pc/peer_connection_factory.cc:11: [ 881s] ../../../../api/rtp_parameters.h:359:3: note: because 'webrtc::RtpRtxParameters' has user-provided 'webrtc::RtpRtxParameters::RtpRtxParameters(const webrtc::RtpRtxParameters&)' [ 881s] 359 | RtpRtxParameters(const RtpRtxParameters&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../api/rtp_receiver_interface.h:24, [ 881s] from ../../../../api/peer_connection_interface.h:90, [ 881s] from ../../../../pc/peer_connection_factory.h:20, [ 881s] from ../../../../pc/peer_connection_factory.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../api/proxy.h:172:35: required from 'void webrtc::MethodCall0::OnMessage(rtc::Message*) [with C = webrtc::PeerConnectionInterface; R = webrtc::PeerConnectionInterface::RTCConfiguration]' [ 881s] ../../../../api/proxy.h:172:8: required from here [ 881s] ../../../../api/proxy.h:77:8: warning: implicitly-declared 'webrtc::PeerConnectionInterface::RTCConfiguration& webrtc::PeerConnectionInterface::RTCConfiguration::operator=(const webrtc::PeerConnectionInterface::RTCConfiguration&)' is deprecated [-Wdeprecated-copy] [ 881s] 77 | r_ = (c->*m)(); [ 881s] | ~~~^~~~~~~~~~~ [ 881s] In file included from ../../../../pc/peer_connection_factory.h:20, [ 881s] from ../../../../pc/peer_connection_factory.cc:11: [ 881s] ../../../../api/peer_connection_interface.h:300:5: note: because 'webrtc::PeerConnectionInterface::RTCConfiguration' has user-provided 'webrtc::PeerConnectionInterface::RTCConfiguration::RTCConfiguration(const webrtc::PeerConnectionInterface::RTCConfiguration&)' [ 881s] 300 | RTCConfiguration(const RTCConfiguration&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../api/media_stream_interface.h:25, [ 881s] from ../../../../pc/peer_connection_factory.h:18, [ 881s] from ../../../../pc/peer_connection_factory.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../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]' [ 881s] ../../../../api/proxy.h:172:35: required from 'void webrtc::MethodCall0::OnMessage(rtc::Message*) [with C = webrtc::PeerConnectionInterface; R = webrtc::PeerConnectionInterface::RTCConfiguration]' [ 881s] ../../../../api/proxy.h:172:8: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../api/peer_connection_interface.h:80, [ 881s] from ../../../../pc/peer_connection_factory.h:20, [ 881s] from ../../../../pc/peer_connection_factory.cc:11: [ 881s] ../../../../api/crypto/crypto_options.h:23:3: note: because 'webrtc::CryptoOptions' has user-provided 'webrtc::CryptoOptions::CryptoOptions(const webrtc::CryptoOptions&)' [ 881s] 23 | CryptoOptions(const CryptoOptions& other); [ 881s] | ^~~~~~~~~~~~~ [ 881s] [1569/1909] CC obj/third_party/opus/opus/tables_LTP.o [ 881s] [1570/1909] CC obj/third_party/opus/opus/tables_NLSF_CB_WB.o [ 881s] [1571/1909] CC obj/third_party/opus/opus/tables_gain.o [ 881s] [1572/1909] CC obj/third_party/opus/opus/sort.o [ 881s] [1573/1909] CC obj/third_party/opus/opus/tables_other.o [ 881s] [1574/1909] CC obj/third_party/opus/opus/tables_pulses_per_block.o [ 881s] [1575/1909] CC obj/third_party/opus/opus/stereo_find_predictor.o [ 881s] [1576/1909] CC obj/third_party/opus/opus/tables_pitch_lag.o [ 881s] [1577/1909] CC obj/third_party/opus/opus/stereo_LR_to_MS.o [ 881s] [1578/1909] CC obj/third_party/libvpx/libvpx/entropymv.o [ 881s] [1579/1909] CC obj/third_party/libvpx/libvpx/blockd.o [ 881s] [1580/1909] CC obj/third_party/opus/opus/encode_pulses.o [ 881s] [1581/1909] CC obj/third_party/opus/opus/mlp.o [ 881s] [1582/1909] CC obj/third_party/libvpx/libvpx/vp9_encodeframe.o [ 881s] [1583/1909] CC obj/third_party/libvpx/libvpx/entropymode.o [ 881s] [1584/1909] CC obj/third_party/libvpx/libvpx/entropy.o [ 881s] [1585/1909] CC obj/third_party/libvpx/libvpx/dequantize.o [ 881s] [1586/1909] CC obj/third_party/libvpx/libvpx/systemdependent.o [ 881s] [1587/1909] CC obj/third_party/libvpx/libvpx/extend.o [ 881s] [1588/1909] CXX obj/modules/audio_coding/webrtc_multiopus/audio_decoder_multi_channel_opus_impl.o [ 881s] [1589/1909] CC obj/third_party/libvpx/libvpx/shortidct4x4llm_neon.o [ 881s] [1590/1909] CC obj/third_party/libvpx/libvpx/findnearmv.o [ 881s] [1591/1909] CC obj/third_party/libvpx/libvpx/dequantizeb_neon.o [ 881s] [1592/1909] CC obj/third_party/libvpx/libvpx/modecont.o [ 881s] [1593/1909] CC obj/third_party/libvpx/libvpx/idct_blk.o [ 881s] [1594/1909] CC obj/third_party/libvpx/libvpx/idctllm.o [ 881s] [1595/1909] CC obj/third_party/libvpx/libvpx/dc_only_idct_add_neon.o [ 881s] [1596/1909] CC obj/third_party/opus/opus/enc_API.o [ 881s] [1597/1909] CC obj/third_party/libvpx/libvpx/mbpitch.o [ 881s] [1598/1909] CC obj/third_party/libvpx/libvpx/iwalsh_neon.o [ 881s] [1599/1909] CC obj/third_party/libvpx/libvpx/dequant_idct_neon.o [ 881s] [1600/1909] CC obj/third_party/libvpx/libvpx/rtcd.o [ 881s] [1601/1909] CC obj/third_party/libvpx/libvpx/loopfiltersimplehorizontaledge_neon.o [ 881s] [1602/1909] CC obj/third_party/libvpx/libvpx/quant_common.o [ 881s] [1603/1909] CC obj/third_party/libvpx/libvpx/filter.o [ 881s] [1604/1909] CC obj/third_party/libvpx/libvpx/swapyv12buffer.o [ 881s] [1605/1909] CC obj/third_party/libvpx/libvpx/idct_blk_neon.o [ 881s] [1606/1909] CC obj/third_party/libvpx/libvpx/reconintra4x4.o [ 881s] [1607/1909] CC obj/third_party/libvpx/libvpx/setupintrarecon.o [ 881s] [1608/1909] CC obj/third_party/opus/opus/NSQ_del_dec.o [ 881s] [1609/1909] CC obj/third_party/libvpx/libvpx/treecoder.o [ 881s] [1610/1909] CC obj/third_party/libvpx/libvpx/loopfiltersimpleverticaledge_neon.o [ 881s] [1611/1909] CC obj/third_party/libvpx/libvpx/dboolhuff.o [ 881s] [1612/1909] CC obj/third_party/libvpx/libvpx/reconintra.o [ 881s] [1613/1909] CC obj/third_party/opus/opus/celt_decoder.o [ 881s] [1614/1909] CC obj/third_party/libvpx/libvpx/vp8_skin_detection.o [ 881s] [1615/1909] CC obj/third_party/libvpx/libvpx/postproc.o [ 881s] [1616/1909] CXX obj/modules/audio_coding/webrtc_multiopus/audio_encoder_multi_channel_opus_impl.o [ 881s] [1617/1909] CC obj/third_party/libvpx/libvpx/vp8_loopfilter_neon.o [ 881s] [1618/1909] CC obj/third_party/libvpx/libvpx/copy_c.o [ 881s] [1619/1909] CC obj/third_party/libvpx/libvpx/boolhuff.o [ 881s] [1620/1909] CC obj/third_party/libvpx/libvpx/detokenize.o [ 881s] [1621/1909] CC obj/third_party/libvpx/libvpx/loopfilter_filters.o [ 881s] [1622/1909] CC obj/third_party/libvpx/libvpx/mfqe.o [ 881s] [1623/1909] CC obj/third_party/libvpx/libvpx/dct.o [ 881s] [1624/1909] CC obj/third_party/libvpx/libvpx/modecosts.o [ 881s] [1625/1909] CC obj/third_party/libvpx/libvpx/onyxd_if.o [ 881s] [1626/1909] CC obj/third_party/libvpx/libvpx/mbloopfilter_neon.o [ 881s] [1627/1909] CC obj/third_party/libvpx/libvpx/reconinter.o [ 881s] [1628/1909] CC obj/third_party/libvpx/libvpx/fastquantizeb_neon.o [ 881s] [1629/1909] CC obj/third_party/libvpx/libvpx/lookahead.o [ 881s] [1630/1909] CC obj/third_party/libvpx/libvpx/encodeintra.o [ 881s] [1631/1909] CC obj/third_party/libvpx/libvpx/vp8_loopfilter.o [ 881s] [1632/1909] CC obj/third_party/libvpx/libvpx/denoising_neon.o [ 881s] [1633/1909] CC obj/third_party/libvpx/libvpx/vp8_shortwalsh4x4_neon.o [ 881s] [1634/1909] CC obj/third_party/libvpx/libvpx/shortfdct_neon.o [ 881s] [1635/1909] CC obj/third_party/opus/opus/bands.o [ 881s] [1636/1909] CC obj/third_party/libvpx/libvpx/segmentation.o [ 881s] [1637/1909] CC obj/third_party/libvpx/libvpx/sixtappredict_neon.o [ 881s] [1638/1909] CC obj/third_party/libvpx/libvpx/vp9_extend.o [ 881s] [1639/1909] CC obj/third_party/libvpx/libvpx/mr_dissim.o [ 881s] [1640/1909] CC obj/third_party/libvpx/libvpx/picklpf.o [ 881s] [1641/1909] CC obj/third_party/libvpx/libvpx/denoising.o [ 881s] [1642/1909] CC obj/third_party/libvpx/libvpx/encodemv.o [ 881s] [1643/1909] CC obj/third_party/libvpx/libvpx/decodemv.o [ 881s] [1644/1909] CC obj/third_party/libvpx/libvpx/encodemb.o [ 881s] [1645/1909] CC obj/third_party/libvpx/libvpx/vp9_lookahead.o [ 881s] [1646/1909] CC obj/third_party/libvpx/libvpx/vp9_frame_scale.o [ 881s] [1647/1909] CC obj/third_party/libvpx/libvpx/ethreading.o [ 881s] [1648/1909] CC obj/third_party/libvpx/libvpx/vp9_multi_thread.o [ 881s] [1649/1909] CC obj/third_party/libvpx/libvpx/vp9_picklpf.o [ 881s] [1650/1909] CC obj/third_party/libvpx/libvpx/vp9_skin_detection.o [ 881s] [1651/1909] CC obj/third_party/libvpx/libvpx/vp9_noise_estimate.o [ 881s] [1652/1909] CC obj/third_party/libvpx/libvpx/tokenize.o [ 881s] [1653/1909] CC obj/third_party/libvpx/libvpx/threading.o [ 881s] [1654/1909] CC obj/third_party/libvpx/libvpx/vp9_quantize.o [ 881s] [1655/1909] CC obj/third_party/libvpx/libvpx/vp9_treewriter.o [ 881s] [1656/1909] CC obj/third_party/libvpx/libvpx/decodeframe.o [ 881s] [1657/1909] CC obj/third_party/libvpx/libvpx/vpx_codec.o [ 881s] [1658/1909] CC obj/third_party/libvpx/libvpx/vp9_tokenize.o [ 881s] [1659/1909] CC obj/third_party/libvpx/libvpx/vp9_subexp.o [ 881s] [1660/1909] CC obj/third_party/libvpx/libvpx/vpx_decoder.o [ 881s] [1661/1909] CC obj/third_party/libvpx/libvpx/ratectrl.o [ 881s] [1662/1909] CC obj/third_party/libvpx/libvpx/encodeframe.o [ 881s] [1663/1909] CC obj/third_party/libvpx/libvpx/vpx_image.o [ 881s] [1664/1909] CC obj/third_party/libvpx/libvpx/add_noise.o [ 881s] [1665/1909] CC obj/third_party/libvpx/libvpx/vp9_resize.o [ 881s] [1666/1909] CC obj/third_party/libvpx/libvpx/vp9_segmentation.o [ 881s] [1667/1909] CC obj/third_party/libvpx/libvpx/vpx_encoder.o [ 881s] [1668/1909] CC obj/third_party/libvpx/libvpx/bitstream.o [ 881s] [1669/1909] CXX obj/pc/peerconnection/webrtc_sdp.o [ 881s] In file included from ../../../../pc/webrtc_sdp.cc:31: [ 881s] ../../../../api/jsep_ice_candidate.h: In member function 'void webrtc::JsepIceCandidate::SetCandidate(const cricket::Candidate&)': [ 881s] ../../../../api/jsep_ice_candidate.h:39:18: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 881s] 39 | candidate_ = candidate; [ 881s] | ^~~~~~~~~ [ 881s] In file included from ../../../../pc/webrtc_sdp.cc:29: [ 881s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 881s] 46 | Candidate(const Candidate&); [ 881s] | ^~~~~~~~~ [ 881s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 881s] from ../../../../pc/rtp_transport.h:18, [ 881s] from ../../../../pc/srtp_transport.h:24, [ 881s] from ../../../../pc/dtls_srtp_transport.h:21, [ 881s] from ../../../../pc/jsep_transport.h:26, [ 881s] from ../../../../pc/media_session.h:26, [ 881s] from ../../../../pc/webrtc_sdp.cc:42: [ 881s] ../../../../pc/session_description.h: At global scope: [ 881s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 881s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 881s] 423 | SctpDataContentDescription* as_sctp() override; [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 881s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 881s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../pc/webrtc_sdp.cc: In function 'bool webrtc::ParseCandidate(const string&, cricket::Candidate*, webrtc::SdpParseError*, bool)': [ 881s] ../../../../pc/webrtc_sdp.cc:1220:74: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 881s] 1220 | generation, foundation, network_id, network_cost); [ 881s] | ^ [ 881s] In file included from ../../../../pc/webrtc_sdp.cc:29: [ 881s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 881s] 46 | Candidate(const Candidate&); [ 881s] | ^~~~~~~~~ [ 881s] [1670/1909] CC obj/third_party/libvpx/libvpx/pickinter.o [ 881s] [1671/1909] CC obj/third_party/libvpx/libvpx/vp9_rd.o [ 881s] [1672/1909] CC obj/third_party/libvpx/libvpx/avg_pred_neon.o [ 881s] [1673/1909] CC obj/third_party/libvpx/libvpx/vp9_dx_iface.o [ 881s] [1674/1909] CC obj/third_party/libvpx/libvpx/fdct_neon.o [ 881s] [1675/1909] CC obj/third_party/opus/opus/analysis.o [ 881s] [1676/1909] CC obj/third_party/libvpx/libvpx/fdct_partial_neon.o [ 881s] [1677/1909] CC obj/third_party/libvpx/libvpx/vp9_speed_features.o [ 881s] [1678/1909] CC obj/third_party/libvpx/libvpx/subtract.o [ 881s] [1679/1909] CC obj/third_party/libvpx/libvpx/avg_neon.o [ 881s] [1680/1909] CC obj/third_party/libvpx/libvpx/sum_squares.o [ 881s] [1681/1909] CC obj/third_party/libvpx/libvpx/idct16x16_1_add_neon.o [ 881s] [1682/1909] CC obj/third_party/libvpx/libvpx/arm_cpudetect.o [ 881s] [1683/1909] CC obj/third_party/libvpx/libvpx/vpx_dsp_rtcd.o [ 881s] [1684/1909] CC obj/third_party/libvpx/libvpx/idct32x32_1_add_neon.o [ 881s] [1685/1909] CC obj/third_party/libvpx/libvpx/vpx_mem.o [ 881s] [1686/1909] CC obj/third_party/libvpx/libvpx/hadamard_neon.o [ 881s] [1687/1909] CC obj/third_party/libvpx/libvpx/vp9_frame_scale_neon.o [ 881s] [1688/1909] CXX obj/modules/video_coding/webrtc_vp8/libvpx_vp8_encoder.o [ 881s] ../../../../modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc: In member function 'virtual webrtc::VideoEncoder::EncoderInfo webrtc::LibvpxVp8Encoder::GetEncoderInfo() const': [ 881s] ../../../../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] [ 881s] 1194 | : VideoEncoder::ScalingSettings::kOff; [ 881s] | ^~~~ [ 881s] In file included from ../../../../modules/video_coding/codecs/vp8/libvpx_vp8_encoder.h:20, [ 881s] from ../../../../modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc:11: [ 881s] ../../../../api/video_codecs/video_encoder.h:106:5: note: because 'webrtc::VideoEncoder::ScalingSettings' has user-provided 'webrtc::VideoEncoder::ScalingSettings::ScalingSettings(const webrtc::VideoEncoder::ScalingSettings&)' [ 881s] 106 | ScalingSettings(const ScalingSettings&); [ 881s] | ^~~~~~~~~~~~~~~ [ 881s] [1689/1909] CC obj/third_party/libvpx/libvpx/gen_scalers.o [ 881s] [1690/1909] CC obj/third_party/libvpx/libvpx/idct8x8_1_add_neon.o [ 881s] [1691/1909] CC obj/third_party/libvpx/libvpx/vpx_scale_rtcd.o [ 881s] [1692/1909] ASM obj/third_party/libvpx/libvpx_assembly_arm/idct4x4_1_add_neon.asm.o [ 881s] [1693/1909] CC obj/third_party/libvpx/libvpx/fwd_txfm_neon.o [ 881s] [1694/1909] ASM obj/third_party/libvpx/libvpx_assembly_arm/idct_neon.asm.o [ 881s] [1695/1909] CC obj/third_party/libvpx/libvpx/vpx_thread.o [ 881s] [1696/1909] ASM obj/third_party/libvpx/libvpx_assembly_arm/loopfilter_16_neon.asm.o [ 881s] [1697/1909] CC obj/third_party/libvpx/libvpx/vpx_write_yuv_frame.o [ 881s] [1698/1909] ASM obj/third_party/libvpx/libvpx_assembly_arm/intrapred_neon_asm.asm.o [ 881s] [1699/1909] ASM obj/third_party/libvpx/libvpx_assembly_arm/loopfilter_8_neon.asm.o [ 881s] [1700/1909] ASM obj/third_party/libvpx/libvpx_assembly_arm/save_reg_neon.asm.o [ 881s] [1701/1909] ASM obj/third_party/libvpx/libvpx_assembly_arm/vpx_convolve8_avg_horiz_filter_type1_neon.asm.o [ 881s] [1702/1909] AR obj/third_party/libyuv/libyuv_neon.a [ 881s] [1703/1909] ASM obj/third_party/libvpx/libvpx_assembly_arm/loopfilter_4_neon.asm.o [ 881s] [1704/1909] ASM obj/third_party/libvpx/libvpx_assembly_arm/vpx_convolve8_avg_horiz_filter_type2_neon.asm.o [ 881s] [1705/1909] ASM obj/third_party/libvpx/libvpx_assembly_arm/vpx_convolve8_avg_vert_filter_type2_neon.asm.o [ 881s] [1706/1909] ASM obj/third_party/libvpx/libvpx_assembly_arm/vpx_convolve8_horiz_filter_type1_neon.asm.o [ 881s] [1707/1909] ASM obj/third_party/libvpx/libvpx_assembly_arm/idct4x4_add_neon.asm.o [ 881s] [1708/1909] CC obj/third_party/libvpx/libvpx/yv12config.o [ 881s] [1709/1909] ASM obj/third_party/libvpx/libvpx_assembly_arm/vpx_convolve8_avg_vert_filter_type1_neon.asm.o [ 881s] [1710/1909] ASM obj/third_party/libvpx/libvpx_assembly_arm/vpx_convolve8_horiz_filter_type2_neon.asm.o [ 881s] [1711/1909] ASM obj/third_party/libvpx/libvpx_assembly_arm/vpx_convolve_avg_neon_asm.asm.o [ 881s] [1712/1909] CC obj/third_party/libvpx/libvpx/yv12extend.o [ 881s] [1713/1909] ASM obj/third_party/libvpx/libvpx_assembly_arm/vpx_convolve8_vert_filter_type2_neon.asm.o [ 881s] [1714/1909] STAMP obj/third_party/libyuv/libyuv.stamp [ 881s] [1715/1909] ASM obj/third_party/libvpx/libvpx_assembly_arm/vpx_convolve8_vert_filter_type1_neon.asm.o [ 881s] [1716/1909] CC obj/third_party/libvpx/libvpx/vpx_convolve.o [ 881s] [1717/1909] CC obj/third_party/libvpx/libvpx/deblock_neon.o [ 881s] [1718/1909] CXX obj/video/video/send_statistics_proxy.o [ 881s] [1719/1909] AR obj/third_party/pffft/libpffft.a [ 881s] [1720/1909] ASM obj/third_party/libvpx/libvpx_assembly_arm/vpx_convolve_copy_neon_asm.asm.o [ 881s] [1721/1909] CC obj/third_party/opus/opus/mlp_data.o [ 881s] [1722/1909] STAMP obj/api/video/video_frame_i420.stamp [ 881s] [1723/1909] CC obj/third_party/libvpx/libvpx/vpx_scale.o [ 881s] [1724/1909] STAMP obj/modules/audio_processing/utility/pffft_wrapper.stamp [ 881s] [1725/1909] CC obj/third_party/libvpx/libvpx/vp9_rdopt.o [ 881s] [1726/1909] STAMP obj/api/video/video_frame_i010.stamp [ 881s] [1727/1909] AR obj/third_party/libvpx/libvpx_assembly_arm.a [ 881s] [1728/1909] AR obj/common_video/libcommon_video.a [ 881s] [1729/1909] STAMP obj/modules/audio_processing/agc2/rnn_vad/rnn_vad.stamp [ 881s] [1730/1909] CC obj/third_party/libvpx/libvpx/vp9_svc_layercontext.o [ 881s] [1731/1909] CC obj/third_party/libvpx/libvpx/mcomp.o [ 881s] [1732/1909] STAMP obj/modules/video_coding/video_codec_interface.stamp [ 881s] [1733/1909] CC obj/third_party/opus/opus/LTP_scale_ctrl_FIX.o [ 881s] [1734/1909] AR obj/modules/video_processing/libvideo_processing.a [ 881s] [1735/1909] STAMP obj/modules/rtp_rtcp/rtp_rtcp_format.stamp [ 881s] [1736/1909] AR obj/modules/video_coding/libencoded_frame.a [ 881s] [1737/1909] CC obj/third_party/opus/opus/LTP_analysis_filter_FIX.o [ 881s] [1738/1909] STAMP obj/modules/audio_processing/agc2/rnn_vad_with_level.stamp [ 881s] [1739/1909] AR obj/modules/video_coding/libwebrtc_vp9_helpers.a [ 881s] [1740/1909] CC obj/third_party/opus/opus/opus_multistream.o [ 881s] [1741/1909] CC obj/third_party/opus/opus/apply_sine_window_FIX.o [ 881s] [1742/1909] CC obj/third_party/opus/opus/autocorr_FIX.o [ 881s] [1743/1909] AR obj/modules/congestion_controller/rtp/libtransport_feedback.a [ 881s] [1744/1909] STAMP obj/api/video/encoded_frame.stamp [ 881s] [1745/1909] STAMP obj/modules/audio_processing/agc2/adaptive_digital.stamp [ 881s] [1746/1909] AR obj/modules/remote_bitrate_estimator/libremote_bitrate_estimator.a [ 881s] [1747/1909] STAMP obj/call/rtp_interfaces.stamp [ 881s] [1748/1909] STAMP obj/logging/rtc_event_rtp_rtcp.stamp [ 881s] [1749/1909] AR obj/modules/congestion_controller/libtransport_feedback.a [ 881s] [1750/1909] AR obj/modules/video_coding/libpacket.a [ 881s] [1751/1909] CC obj/third_party/opus/opus/opus.o [ 881s] [1752/1909] CC obj/third_party/libvpx/libvpx/vp9_cx_iface.o [ 881s] [1753/1909] STAMP obj/call/bitrate_configurator.stamp [ 881s] [1754/1909] CC obj/third_party/opus/opus/corrMatrix_FIX.o [ 881s] [1755/1909] CXX obj/modules/audio_coding/webrtc_opus/audio_encoder_opus.o [ 881s] [1756/1909] STAMP obj/modules/audio_processing/agc2/level_estimation_agc.stamp [ 881s] [1757/1909] STAMP obj/call/video_stream_api.stamp [ 881s] [1758/1909] AR obj/modules/video_coding/libnack_module.a [ 881s] [1759/1909] AR obj/modules/rtp_rtcp/librtp_rtcp.a [ 881s] [1760/1909] STAMP obj/logging/rtc_event_bwe.stamp [ 881s] [1761/1909] STAMP obj/modules/audio_processing/agc/agc.stamp [ 881s] [1762/1909] CC obj/third_party/opus/opus/find_LPC_FIX.o [ 881s] [1763/1909] STAMP obj/modules/congestion_controller/goog_cc/estimators.stamp [ 881s] [1764/1909] STAMP obj/call/rtp_receiver.stamp [ 881s] [1765/1909] CC obj/third_party/opus/opus/find_pitch_lags_FIX.o [ 881s] [1766/1909] AR obj/modules/audio_processing/libaudio_processing.a [ 881s] [1767/1909] CC obj/third_party/opus/opus/repacketizer.o [ 881s] [1768/1909] STAMP obj/logging/logging.stamp [ 881s] [1769/1909] CC obj/third_party/opus/opus/k2a_Q16_FIX.o [ 881s] [1770/1909] STAMP obj/modules/congestion_controller/goog_cc/probe_controller.stamp [ 881s] [1771/1909] AR obj/modules/pacing/libpacing.a [ 881s] [1772/1909] STAMP obj/call/call_interfaces.stamp [ 881s] [1773/1909] AR obj/modules/audio_mixer/libaudio_mixer_impl.a [ 881s] [1774/1909] CC obj/third_party/libvpx/libvpx/fdct16x16_neon.o [ 881s] [1775/1909] STAMP obj/modules/video_coding/video_coding_utility.stamp [ 881s] [1776/1909] CC obj/third_party/opus/opus/opus_multistream_decoder.o [ 881s] [1777/1909] CC obj/third_party/opus/opus/residual_energy_FIX.o [ 881s] [1778/1909] CC obj/third_party/opus/opus/find_LTP_FIX.o [ 881s] [1779/1909] STAMP obj/modules/congestion_controller/goog_cc/delay_based_bwe.stamp [ 881s] [1780/1909] STAMP obj/modules/audio_processing/aec_dump/aec_dump.stamp [ 881s] [1781/1909] STAMP obj/call/simulated_packet_receiver.stamp [ 881s] [1782/1909] AR obj/media/librtc_simulcast_encoder_adapter.a [ 881s] [1783/1909] AR obj/modules/video_coding/libwebrtc_vp8_temporal_layers.a [ 881s] [1784/1909] AR obj/modules/bitrate_controller/libbitrate_controller.a [ 881s] [1785/1909] AR obj/media/librtc_media_base.a [ 881s] [1786/1909] STAMP obj/modules/audio_processing/aec_dump/null_aec_dump_factory.stamp [ 881s] [1787/1909] CC obj/third_party/opus/opus/process_gains_FIX.o [ 881s] [1788/1909] STAMP obj/modules/audio_mixer/audio_mixer.stamp [ 881s] [1789/1909] AR obj/modules/video_coding/libwebrtc_multiplex.a [ 881s] [1790/1909] STAMP obj/call/fake_network.stamp [ 881s] [1791/1909] CXX obj/video/video/rtp_video_stream_receiver.o [ 881s] In file included from ../../../../api/video/encoded_frame.h:14, [ 881s] from ../../../../modules/video_coding/frame_object.h:15, [ 881s] from ../../../../video/buffered_frame_decryptor.h:20, [ 881s] from ../../../../video/rtp_video_stream_receiver.h:44, [ 881s] from ../../../../video/rtp_video_stream_receiver.cc:11: [ 881s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 881s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 881s] 108 | _codecSpecificInfo = *codec_specific; [ 881s] | ^~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 881s] from ../../../../api/video/encoded_frame.h:14, [ 881s] from ../../../../modules/video_coding/frame_object.h:15, [ 881s] from ../../../../video/buffered_frame_decryptor.h:20, [ 881s] from ../../../../video/rtp_video_stream_receiver.h:44, [ 881s] from ../../../../video/rtp_video_stream_receiver.cc:11: [ 881s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 881s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 881s] | ^~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../video/rtp_video_stream_receiver.h:21, [ 881s] from ../../../../video/rtp_video_stream_receiver.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 881s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 881s] from ../../../../api/video/encoded_frame.h:14, [ 881s] from ../../../../modules/video_coding/frame_object.h:15, [ 881s] from ../../../../video/buffered_frame_decryptor.h:20, [ 881s] from ../../../../video/rtp_video_stream_receiver.h:44, [ 881s] from ../../../../video/rtp_video_stream_receiver.cc:11: [ 881s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 881s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../video/rtp_video_stream_receiver.h:21, [ 881s] from ../../../../video/rtp_video_stream_receiver.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/packet.h:20, [ 881s] from ../../../../modules/video_coding/loss_notification_controller.h:18, [ 881s] from ../../../../video/rtp_video_stream_receiver.h:35, [ 881s] from ../../../../video/rtp_video_stream_receiver.cc:11: [ 881s] ../../../../modules/rtp_rtcp/source/rtp_generic_frame_descriptor.h:32:3: note: because 'webrtc::RtpGenericFrameDescriptor' has user-provided 'webrtc::RtpGenericFrameDescriptor::RtpGenericFrameDescriptor(const webrtc::RtpGenericFrameDescriptor&)' [ 881s] 32 | RtpGenericFrameDescriptor(const RtpGenericFrameDescriptor&); [ 881s] | ^~~~~~~~~~~~~~~~~~~~~~~~~ [ 881s] ../../../../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)': [ 881s] ../../../../video/rtp_video_stream_receiver.cc:286:24: warning: this statement may fall through [-Wimplicit-fallthrough=] [ 881s] 286 | RequestKeyFrame(); [ 881s] | ~~~~~~~~~~~~~~~^~ [ 881s] ../../../../video/rtp_video_stream_receiver.cc:288:7: note: here [ 881s] 288 | case video_coding::H264SpsPpsTracker::kDrop: [ 881s] | ^~~~ [ 881s] [1792/1909] STAMP obj/call/bitrate_allocator.stamp [ 881s] [1793/1909] AR obj/api/video_codecs/librtc_software_fallback_wrappers.a [ 881s] [1794/1909] CC obj/third_party/opus/opus/residual_energy16_FIX.o [ 881s] [1795/1909] AR obj/media/librtc_encoder_simulcast_proxy.a [ 881s] [1796/1909] AR obj/api/video_codecs/libvp8_temporal_layers_factory.a [ 881s] [1797/1909] AR obj/api/video/libbuiltin_video_bitrate_allocator_factory.a [ 881s] [1798/1909] AR obj/modules/congestion_controller/libcongestion_controller.a [ 881s] [1799/1909] AR obj/modules/video_capture/libvideo_capture_module.a [ 881s] [1800/1909] CC obj/third_party/libvpx/libvpx/rdopt.o [ 881s] [1801/1909] AR obj/modules/congestion_controller/goog_cc/libgoog_cc.a [ 881s] [1802/1909] AR obj/modules/video_coding/libwebrtc_h264.a [ 881s] [1803/1909] CC obj/third_party/opus/opus/regularize_correlations_FIX.o [ 881s] [1804/1909] CC obj/third_party/opus/opus/schur64_FIX.o [ 881s] [1805/1909] STAMP obj/modules/congestion_controller/rtp/control_handler.stamp [ 881s] [1806/1909] ASM obj/third_party/opus/opus/celt_pitch_xcorr_arm_gnu.o [ 881s] [1807/1909] AR obj/audio/libaudio.a [ 881s] [1808/1909] STAMP obj/modules/video_capture/video_capture_internal_impl.stamp [ 881s] [1809/1909] AR obj/api/transport/libgoog_cc.a [ 881s] [1810/1909] CC obj/third_party/opus/opus/encode_frame_FIX.o [ 881s] [1811/1909] AR obj/modules/video_coding/libvideo_coding.a [ 881s] [1812/1909] CXX obj/modules/video_coding/webrtc_vp9/vp9_impl.o [ 881s] ../../../../modules/video_coding/codecs/vp9/vp9_impl.cc: In member function 'virtual int webrtc::VP9EncoderImpl::GetEncodedLayerFrame(const vpx_codec_cx_pkt*)': [ 881s] ../../../../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] [ 881s] 1439 | codec_specific_ = {}; [ 881s] | ^ [ 881s] In file included from ../../../../modules/video_coding/codecs/vp9/include/vp9.h:20, [ 881s] from ../../../../modules/video_coding/codecs/vp9/vp9_impl.h:22, [ 881s] from ../../../../modules/video_coding/codecs/vp9/vp9_impl.cc:14: [ 881s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 881s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 881s] | ^~~~~~~~~~~~~~~~~ [ 881s] ../../../../modules/video_coding/codecs/vp9/vp9_impl.cc: In member function 'virtual webrtc::VideoEncoder::EncoderInfo webrtc::VP9EncoderImpl::GetEncoderInfo() const': [ 881s] ../../../../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] [ 881s] 1533 | info.scaling_settings = VideoEncoder::ScalingSettings::kOff; [ 881s] | ^~~~ [ 881s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:19, [ 881s] from ../../../../modules/video_coding/codecs/vp9/include/vp9.h:20, [ 881s] from ../../../../modules/video_coding/codecs/vp9/vp9_impl.h:22, [ 881s] from ../../../../modules/video_coding/codecs/vp9/vp9_impl.cc:14: [ 881s] ../../../../api/video_codecs/video_encoder.h:106:5: note: because 'webrtc::VideoEncoder::ScalingSettings' has user-provided 'webrtc::VideoEncoder::ScalingSettings::ScalingSettings(const webrtc::VideoEncoder::ScalingSettings&)' [ 881s] 106 | ScalingSettings(const ScalingSettings&); [ 881s] | ^~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../api/rtp_parameters.h:19, [ 881s] from ../../../../media/base/codec.h:19, [ 881s] from ../../../../modules/video_coding/codecs/vp9/include/vp9.h:19, [ 881s] from ../../../../modules/video_coding/codecs/vp9/vp9_impl.h:22, [ 881s] from ../../../../modules/video_coding/codecs/vp9/vp9_impl.cc:14: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 881s] from ../../../../modules/video_coding/codecs/vp9/include/vp9.h:20, [ 881s] from ../../../../modules/video_coding/codecs/vp9/vp9_impl.h:22, [ 881s] from ../../../../modules/video_coding/codecs/vp9/vp9_impl.cc:14: [ 881s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 881s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] [1813/1909] STAMP obj/modules/modules.stamp [ 881s] [1814/1909] STAMP obj/call/rtp_sender.stamp [ 881s] [1815/1909] CC obj/third_party/opus/opus/vector_ops_FIX.o [ 881s] [1816/1909] CC obj/third_party/libvpx/libvpx/idct16x16_add_neon.o [ 881s] [1817/1909] CC obj/third_party/opus/opus/arm_silk_map.o [ 881s] [1818/1909] CC obj/third_party/opus/opus/arm_celt_map.o [ 881s] [1819/1909] CC obj/third_party/opus/opus/schur_FIX.o [ 881s] [1820/1909] CC obj/third_party/opus/opus/armcpu.o [ 881s] [1821/1909] CC obj/third_party/opus/opus/warped_autocorrelation_FIX.o [ 881s] [1822/1909] CXX obj/pc/rtc_pc_base/media_session.o [ 881s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 881s] from ../../../../pc/rtp_transport.h:18, [ 881s] from ../../../../pc/srtp_transport.h:24, [ 881s] from ../../../../pc/dtls_srtp_transport.h:21, [ 881s] from ../../../../pc/jsep_transport.h:26, [ 881s] from ../../../../pc/media_session.h:26, [ 881s] from ../../../../pc/media_session.cc:11: [ 881s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 881s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 881s] 423 | SctpDataContentDescription* as_sctp() override; [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 881s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 881s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 881s] | ^~~~~~~~~~~ [ 881s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 881s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 881s] from ../../../../call/call.h:24, [ 881s] from ../../../../pc/channel_manager.h:23, [ 881s] from ../../../../pc/media_session.cc:30: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] [1823/1909] CC obj/third_party/usrsctp/usrsctp/sctp_sha1.o [ 881s] [1824/1909] CC obj/third_party/opus/opus/opus_decoder.o [ 881s] [1825/1909] CC obj/third_party/usrsctp/usrsctp/user_recv_thread.o [ 881s] [1826/1909] CC obj/third_party/opus/opus/noise_shape_analysis_FIX.o [ 881s] [1827/1909] CC obj/third_party/usrsctp/usrsctp/sctp6_usrreq.o [ 881s] [1828/1909] CC obj/third_party/opus/opus/burg_modified_FIX.o [ 881s] [1829/1909] CC obj/third_party/usrsctp/usrsctp/sctp_userspace.o [ 881s] [1830/1909] CC obj/third_party/usrsctp/usrsctp/sctp_peeloff.o [ 881s] [1831/1909] CC obj/third_party/usrsctp/usrsctp/sctp_sysctl.o [ 881s] [1832/1909] CC obj/third_party/opus/opus/pitch_neon_intr.o [ 881s] [1833/1909] CC obj/third_party/usrsctp/usrsctp/user_environment.o [ 881s] [1834/1909] CC obj/third_party/opus/opus/celt_neon_intr.o [ 881s] [1835/1909] CC obj/third_party/libvpx/libvpx/vp9_ratectrl.o [ 881s] [1836/1909] CC obj/third_party/opus/opus/biquad_alt_neon_intr.o [ 881s] [1837/1909] CC obj/third_party/opus/opus/LPC_inv_pred_gain_neon_intr.o [ 881s] [1838/1909] CC obj/third_party/libvpx/libvpx/idct32x32_135_add_neon.o [ 881s] [1839/1909] CC obj/third_party/opus/opus/NSQ_neon.o [ 881s] [1840/1909] CC obj/third_party/opus/opus/opus_multistream_encoder.o [ 881s] [1841/1909] STAMP obj/video/frame_dumping_decoder.stamp [ 881s] [1842/1909] CC obj/third_party/libvpx/libvpx/variance.o [ 881s] [1843/1909] CC obj/third_party/opus/opus/warped_autocorrelation_FIX_neon_intr.o [ 881s] [1844/1909] CC obj/third_party/usrsctp/usrsctp/sctp_ss_functions.o [ 881s] [1845/1909] CC obj/third_party/libvpx/libvpx/vp9_bitstream.o [ 881s] [1846/1909] CC obj/third_party/opus/opus/celt_encoder.o [ 881s] [1847/1909] CC obj/third_party/libvpx/libvpx/idct32x32_add_neon.o [ 881s] [1848/1909] CC obj/third_party/libvpx/libvpx/idct32x32_34_add_neon.o [ 881s] [1849/1909] CC obj/third_party/usrsctp/usrsctp/user_mbuf.o [ 881s] [1850/1909] CC obj/third_party/opus/opus/pitch_analysis_core_FIX.o [ 881s] [1851/1909] CC obj/third_party/libvpx/libvpx/onyx_if.o [ 881s] [1852/1909] CC obj/third_party/usrsctp/usrsctp/sctp_timer.o [ 881s] [1853/1909] CXX obj/video/video/quality_threshold.o [ 881s] [1854/1909] CXX obj/video/video/quality_limitation_reason_tracker.o [ 881s] [1855/1909] CC obj/third_party/opus/opus/NSQ_del_dec_neon_intr.o [ 881s] ../../../../third_party/opus/src/silk/arm/NSQ_del_dec_neon_intr.c: In function 'silk_NSQ_del_dec_neon': [ 881s] ../../../../third_party/opus/src/silk/arm/NSQ_del_dec_neon_intr.c:422:55: warning: iteration 80 invokes undefined behavior [-Waggressive-loop-optimizations] [ 881s] 422 | NSQ->sLPC_Q14[ i ] = psDelDec->sLPC_Q14[ i ][ Winner_ind ]; [ 881s] | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ [ 881s] ../../../../third_party/opus/src/silk/arm/NSQ_del_dec_neon_intr.c:421:9: note: within this loop [ 881s] 421 | for( ; i < NSQ_LPC_BUF_LENGTH; i++ ) { [ 881s] | ^~~ [ 881s] [1856/1909] CC obj/third_party/usrsctp/usrsctp/user_socket.o [ 881s] [1857/1909] CXX obj/video/video/rtp_streams_synchronizer.o [ 881s] [1858/1909] CC obj/third_party/libvpx/libvpx/vp9_encoder.o [ 881s] [1859/1909] CC obj/third_party/opus/opus/opus_encoder.o [ 881s] [1860/1909] AR obj/third_party/opus/libopus.a [ 881s] [1861/1909] STAMP obj/modules/audio_coding/webrtc_opus_c.stamp [ 881s] [1862/1909] AR obj/modules/audio_coding/libwebrtc_multiopus.a [ 881s] [1863/1909] AR obj/modules/audio_coding/libwebrtc_opus.a [ 881s] [1864/1909] AR obj/api/audio_codecs/opus/libaudio_decoder_multiopus.a [ 881s] [1865/1909] AR obj/api/audio_codecs/opus/libaudio_decoder_opus.a [ 881s] [1866/1909] STAMP obj/api/audio_codecs/opus/audio_encoder_multiopus.stamp [ 881s] [1867/1909] STAMP obj/api/audio_codecs/opus/audio_encoder_opus.stamp [ 881s] [1868/1909] CC obj/third_party/libvpx/libvpx/vp9_pickmode.o [ 881s] [1869/1909] AR obj/api/audio_codecs/libbuiltin_audio_decoder_factory.a [ 881s] [1870/1909] AR obj/api/audio_codecs/libbuiltin_audio_encoder_factory.a [ 881s] [1871/1909] CXX obj/video/video/video_quality_observer.o [ 881s] [1872/1909] CXX obj/video/video/report_block_stats.o [ 881s] [1873/1909] CXX obj/video/video_stream_encoder_impl/encoder_bitrate_adjuster.o [ 881s] [1874/1909] CC obj/third_party/usrsctp/usrsctp/sctp_pcb.o [ 881s] [1875/1909] CC obj/third_party/usrsctp/usrsctp/sctputil.o [ 881s] [1876/1909] CXX obj/video/video_stream_encoder_impl/overuse_frame_detector.o [ 881s] [1877/1909] STAMP obj/video/video_stream_encoder_impl.stamp [ 881s] [1878/1909] STAMP obj/api/video/video_stream_encoder_create.stamp [ 881s] [1879/1909] CXX obj/video/video/video_stream_decoder.o [ 881s] In file included from ../../../../modules/video_coding/generic_decoder.h:17, [ 881s] from ../../../../modules/video_coding/decoder_database.h:17, [ 881s] from ../../../../modules/video_coding/video_coding_impl.h:21, [ 881s] from ../../../../video/video_stream_decoder.cc:14: [ 881s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 881s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 881s] 108 | _codecSpecificInfo = *codec_specific; [ 881s] | ^~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 881s] from ../../../../modules/video_coding/generic_decoder.h:17, [ 881s] from ../../../../modules/video_coding/decoder_database.h:17, [ 881s] from ../../../../modules/video_coding/video_coding_impl.h:21, [ 881s] from ../../../../video/video_stream_decoder.cc:14: [ 881s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 881s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 881s] | ^~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../api/rtp_headers.h:18, [ 881s] from ../../../../modules/include/module_common_types.h:18, [ 881s] from ../../../../modules/remote_bitrate_estimator/include/remote_bitrate_estimator.h:20, [ 881s] from ../../../../video/video_stream_decoder.h:21, [ 881s] from ../../../../video/video_stream_decoder.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 881s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 881s] from ../../../../modules/video_coding/generic_decoder.h:17, [ 881s] from ../../../../modules/video_coding/decoder_database.h:17, [ 881s] from ../../../../modules/video_coding/video_coding_impl.h:21, [ 881s] from ../../../../video/video_stream_decoder.cc:14: [ 881s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 881s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] [1880/1909] CC obj/third_party/usrsctp/usrsctp/sctp_usrreq.o [ 881s] [1881/1909] CXX obj/video/video/video_send_stream.o [ 881s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 881s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 881s] from ../../../../video/video_send_stream_impl.h:30, [ 881s] from ../../../../video/video_send_stream.cc:25: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] [1882/1909] CXX obj/video/video/video_send_stream_impl.o [ 881s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 881s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 881s] from ../../../../video/video_send_stream_impl.h:30, [ 881s] from ../../../../video/video_send_stream_impl.cc:10: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../video/video_send_stream_impl.cc: In function 'webrtc::RtpSenderFrameEncryptionConfig webrtc::internal::{anonymous}::CreateFrameEncryptionConfig(const webrtc::VideoSendStream::Config*)': [ 881s] ../../../../video/video_send_stream_impl.cc:141:52: warning: implicitly-declared 'webrtc::CryptoOptions& webrtc::CryptoOptions::operator=(const webrtc::CryptoOptions&)' is deprecated [-Wdeprecated-copy] [ 881s] 141 | frame_encryption_config.crypto_options = config->crypto_options; [ 881s] | ^~~~~~~~~~~~~~ [ 881s] In file included from ../../../../call/rtp_transport_controller_send_interface.h:23, [ 881s] from ../../../../video/video_send_stream_impl.h:30, [ 881s] from ../../../../video/video_send_stream_impl.cc:10: [ 881s] ../../../../api/crypto/crypto_options.h:23:3: note: because 'webrtc::CryptoOptions' has user-provided 'webrtc::CryptoOptions::CryptoOptions(const webrtc::CryptoOptions&)' [ 881s] 23 | CryptoOptions(const CryptoOptions& other); [ 881s] | ^~~~~~~~~~~~~ [ 881s] [1883/1909] CC obj/third_party/usrsctp/usrsctp/sctp_output.o [ 881s] ../../../../third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_output.c: In function 'send_forward_tsn': [ 881s] ../../../../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] [ 881s] 10973 | strseq_m = (struct sctp_strseq_mid *)fwdtsn; [ 881s] | ^~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_output.c:46: [ 881s] ../../../../third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_header.h:407:8: note: defined here [ 881s] 407 | struct sctp_forward_tsn_chunk { [ 881s] | ^~~~~~~~~~~~~~~~~~~~~~ [ 881s] ../../../../third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_header.h:418:8: note: defined here [ 881s] 418 | struct sctp_strseq_mid { [ 881s] | ^~~~~~~~~~~~~~~ [ 881s] ../../../../third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_output.c: In function 'sctp_send_sack': [ 881s] ../../../../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] [ 881s] 11367 | dup = (uint32_t *) gap_descriptor; [ 881s] | ^~~ [ 881s] In file included from ../../../../third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_output.c:46: [ 881s] ../../../../third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_header.h:265:8: note: defined here [ 881s] 265 | struct sctp_gap_ack_block { [ 881s] | ^~~~~~~~~~~~~~~~~~ [ 881s] [1884/1909] CC obj/third_party/libvpx/libvpx/fdct32x32_neon.o [ 881s] [1885/1909] AR obj/third_party/usrsctp/libusrsctp.a [ 881s] [1886/1909] AR obj/media/librtc_data.a [ 881s] [1887/1909] AR obj/pc/librtc_pc_base.a [ 881s] [1888/1909] CC obj/third_party/libvpx/libvpx/vp9_mcomp.o [ 881s] [1889/1909] AR obj/third_party/libvpx/libvpx.a [ 881s] [1890/1909] AR obj/modules/video_coding/libwebrtc_vp8.a [ 881s] [1891/1909] AR obj/modules/video_coding/libwebrtc_vp9.a [ 881s] [1892/1909] STAMP obj/test/fake_video_codecs.stamp [ 881s] [1893/1909] CXX obj/video/video/receive_statistics_proxy.o [ 881s] [1894/1909] AR obj/media/librtc_internal_video_codecs.a [ 881s] [1895/1909] AR obj/api/video_codecs/libbuiltin_video_decoder_factory.a [ 881s] [1896/1909] AR obj/api/video_codecs/libbuiltin_video_encoder_factory.a [ 881s] [1897/1909] CXX obj/video/video/video_receive_stream.o [ 881s] In file included from ../../../../api/video/encoded_frame.h:14, [ 881s] from ../../../../modules/video_coding/frame_buffer2.h:21, [ 881s] from ../../../../video/video_receive_stream.h:23, [ 881s] from ../../../../video/video_receive_stream.cc:11: [ 881s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 881s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 881s] 108 | _codecSpecificInfo = *codec_specific; [ 881s] | ^~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 881s] from ../../../../api/video/encoded_frame.h:14, [ 881s] from ../../../../modules/video_coding/frame_buffer2.h:21, [ 881s] from ../../../../video/video_receive_stream.h:23, [ 881s] from ../../../../video/video_receive_stream.cc:11: [ 881s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 881s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 881s] | ^~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../api/transport/network_types.h:16, [ 881s] from ../../../../api/transport/network_control.h:16, [ 881s] from ../../../../api/media_transport_interface.h:20, [ 881s] from ../../../../video/video_receive_stream.h:17, [ 881s] from ../../../../video/video_receive_stream.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 881s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 881s] from ../../../../api/video/encoded_frame.h:14, [ 881s] from ../../../../modules/video_coding/frame_buffer2.h:21, [ 881s] from ../../../../video/video_receive_stream.h:23, [ 881s] from ../../../../video/video_receive_stream.cc:11: [ 881s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 881s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] [1898/1909] AR obj/video/libvideo.a [ 881s] [1899/1909] AR obj/call/libcall.a [ 881s] [1900/1909] AR obj/media/librtc_audio_video.a [ 881s] [1901/1909] STAMP obj/media/rtc_media.stamp [ 881s] [1902/1909] STAMP obj/pc/rtc_pc.stamp [ 881s] [1903/1909] STAMP obj/media/media.stamp [ 881s] [1904/1909] STAMP obj/pc/pc.stamp [ 881s] [1905/1909] CXX obj/pc/peerconnection/peer_connection.o [ 881s] In file included from ../../../../api/rtc_event_log/rtc_event_log_factory_interface.h:16, [ 881s] from ../../../../api/peer_connection_interface.h:88, [ 881s] from ../../../../pc/peer_connection.h:21, [ 881s] from ../../../../pc/peer_connection.cc:11: [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 881s] 49 | virtual void StopLogging(std::function callback) { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 881s] 63 | void StopLogging() override {} [ 881s] | ^~~~~~~~~~~ [ 881s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 881s] from ../../../../pc/channel_interface.h:20, [ 881s] from ../../../../pc/channel.h:33, [ 881s] from ../../../../pc/jsep_transport_controller.h:30, [ 881s] from ../../../../pc/peer_connection.h:24, [ 881s] from ../../../../pc/peer_connection.cc:11: [ 881s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 881s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 881s] 423 | SctpDataContentDescription* as_sctp() override; [ 881s] | ^~~~~~~ [ 881s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 881s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 881s] | ^~~~~~~~~~~ [ 881s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 881s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 881s] | ^~~~~~~~~~~ [ 881s] In file included from ../../../../pc/peer_connection.h:21, [ 881s] from ../../../../pc/peer_connection.cc:11: [ 881s] ../../../../api/peer_connection_interface.h:1025:20: warning: 'virtual webrtc::RTCError webrtc::PeerConnectionInterface::SetBitrate(const webrtc::PeerConnectionInterface::BitrateParameters&)' was hidden [-Woverloaded-virtual] [ 881s] 1025 | virtual RTCError SetBitrate(const BitrateParameters& bitrate_parameters); [ 881s] | ^~~~~~~~~~ [ 881s] In file included from ../../../../pc/peer_connection.cc:11: [ 881s] ../../../../pc/peer_connection.h:196:12: warning: by 'virtual webrtc::RTCError webrtc::PeerConnection::SetBitrate(const webrtc::BitrateSettings&)' [-Woverloaded-virtual] [ 881s] 196 | RTCError SetBitrate(const BitrateSettings& bitrate) override; [ 881s] | ^~~~~~~~~~ [ 881s] In file included from ../../../../pc/peer_connection.cc:23: [ 881s] ../../../../api/jsep_ice_candidate.h: In member function 'void webrtc::JsepIceCandidate::SetCandidate(const cricket::Candidate&)': [ 881s] ../../../../api/jsep_ice_candidate.h:39:18: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 881s] 39 | candidate_ = candidate; [ 881s] | ^~~~~~~~~ [ 881s] In file included from ../../../../p2p/base/port.h:21, [ 881s] from ../../../../p2p/base/port_allocator.h:19, [ 881s] from ../../../../api/peer_connection_interface.h:105, [ 881s] from ../../../../pc/peer_connection.h:21, [ 881s] from ../../../../pc/peer_connection.cc:11: [ 881s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 881s] 46 | Candidate(const Candidate&); [ 881s] | ^~~~~~~~~ [ 881s] ../../../../pc/peer_connection.cc: In member function 'bool webrtc::PeerConnection::Initialize(const webrtc::PeerConnectionInterface::RTCConfiguration&, webrtc::PeerConnectionDependencies)': [ 881s] ../../../../pc/peer_connection.cc:1018:41: warning: implicitly-declared 'webrtc::CryptoOptions& webrtc::CryptoOptions::operator=(const webrtc::CryptoOptions&)' is deprecated [-Wdeprecated-copy] [ 881s] 1018 | : options.crypto_options; [ 881s] | ^~~~~~~~~~~~~~ [ 881s] In file included from ../../../../api/peer_connection_interface.h:80, [ 881s] from ../../../../pc/peer_connection.h:21, [ 881s] from ../../../../pc/peer_connection.cc:11: [ 881s] ../../../../api/crypto/crypto_options.h:23:3: note: because 'webrtc::CryptoOptions' has user-provided 'webrtc::CryptoOptions::CryptoOptions(const webrtc::CryptoOptions&)' [ 881s] 23 | CryptoOptions(const CryptoOptions& other); [ 881s] | ^~~~~~~~~~~~~ [ 881s] ../../../../pc/peer_connection.cc:1084:20: warning: implicitly-declared 'webrtc::PeerConnectionInterface::RTCConfiguration& webrtc::PeerConnectionInterface::RTCConfiguration::operator=(const webrtc::PeerConnectionInterface::RTCConfiguration&)' is deprecated [-Wdeprecated-copy] [ 881s] 1084 | configuration_ = configuration; [ 881s] | ^~~~~~~~~~~~~ [ 881s] In file included from ../../../../pc/peer_connection.h:21, [ 881s] from ../../../../pc/peer_connection.cc:11: [ 881s] ../../../../api/peer_connection_interface.h:300:5: note: because 'webrtc::PeerConnectionInterface::RTCConfiguration' has user-provided 'webrtc::PeerConnectionInterface::RTCConfiguration::RTCConfiguration(const webrtc::PeerConnectionInterface::RTCConfiguration&)' [ 881s] 300 | RTCConfiguration(const RTCConfiguration&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] ../../../../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*)': [ 881s] ../../../../pc/peer_connection.cc:3262:25: warning: redundant move in return statement [-Wredundant-move] [ 881s] 3262 | return std::move(error); [ 881s] | ~~~~~~~~~^~~~~~~ [ 881s] ../../../../pc/peer_connection.cc:3262:25: note: remove 'std::move' call [ 881s] ../../../../pc/peer_connection.cc:3283:23: warning: redundant move in return statement [-Wredundant-move] [ 881s] 3283 | return std::move(error); [ 881s] | ~~~~~~~~~^~~~~~~ [ 881s] ../../../../pc/peer_connection.cc:3283:23: note: remove 'std::move' call [ 881s] ../../../../pc/peer_connection.cc:3292:19: warning: redundant move in return statement [-Wredundant-move] [ 881s] 3292 | return std::move(transceiver); [ 881s] | ~~~~~~~~~^~~~~~~~~~~~~ [ 881s] ../../../../pc/peer_connection.cc:3292:19: note: remove 'std::move' call [ 881s] ../../../../pc/peer_connection.cc: In member function 'virtual bool webrtc::PeerConnection::SetConfiguration(const webrtc::PeerConnectionInterface::RTCConfiguration&, webrtc::RTCError*)': [ 881s] ../../../../pc/peer_connection.cc:3537:20: warning: implicitly-declared 'webrtc::PeerConnectionInterface::RTCConfiguration& webrtc::PeerConnectionInterface::RTCConfiguration::operator=(const webrtc::PeerConnectionInterface::RTCConfiguration&)' is deprecated [-Wdeprecated-copy] [ 881s] 3537 | configuration_ = modified_config; [ 881s] | ^~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../pc/peer_connection.h:21, [ 881s] from ../../../../pc/peer_connection.cc:11: [ 881s] ../../../../api/peer_connection_interface.h:300:5: note: because 'webrtc::PeerConnectionInterface::RTCConfiguration' has user-provided 'webrtc::PeerConnectionInterface::RTCConfiguration::RTCConfiguration(const webrtc::PeerConnectionInterface::RTCConfiguration&)' [ 881s] 300 | RTCConfiguration(const RTCConfiguration&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] ../../../../pc/peer_connection.cc: In member function 'void webrtc::PeerConnection::GetOptionsForOffer(const webrtc::PeerConnectionInterface::RTCOfferAnswerOptions&, cricket::MediaSessionOptions*)': [ 881s] ../../../../pc/peer_connection.cc:4296:54: warning: implicitly-declared 'webrtc::CryptoOptions& webrtc::CryptoOptions::operator=(const webrtc::CryptoOptions&)' is deprecated [-Wdeprecated-copy] [ 881s] 4296 | session_options->crypto_options = GetCryptoOptions(); [ 881s] | ^ [ 881s] In file included from ../../../../api/peer_connection_interface.h:80, [ 881s] from ../../../../pc/peer_connection.h:21, [ 881s] from ../../../../pc/peer_connection.cc:11: [ 881s] ../../../../api/crypto/crypto_options.h:23:3: note: because 'webrtc::CryptoOptions' has user-provided 'webrtc::CryptoOptions::CryptoOptions(const webrtc::CryptoOptions&)' [ 881s] 23 | CryptoOptions(const CryptoOptions& other); [ 881s] | ^~~~~~~~~~~~~ [ 881s] ../../../../pc/peer_connection.cc: In member function 'void webrtc::PeerConnection::GetOptionsForAnswer(const webrtc::PeerConnectionInterface::RTCOfferAnswerOptions&, cricket::MediaSessionOptions*)': [ 881s] ../../../../pc/peer_connection.cc:4600:54: warning: implicitly-declared 'webrtc::CryptoOptions& webrtc::CryptoOptions::operator=(const webrtc::CryptoOptions&)' is deprecated [-Wdeprecated-copy] [ 881s] 4600 | session_options->crypto_options = GetCryptoOptions(); [ 881s] | ^ [ 881s] In file included from ../../../../api/peer_connection_interface.h:80, [ 881s] from ../../../../pc/peer_connection.h:21, [ 881s] from ../../../../pc/peer_connection.cc:11: [ 881s] ../../../../api/crypto/crypto_options.h:23:3: note: because 'webrtc::CryptoOptions' has user-provided 'webrtc::CryptoOptions::CryptoOptions(const webrtc::CryptoOptions&)' [ 881s] 23 | CryptoOptions(const CryptoOptions& other); [ 881s] | ^~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../api/transport/network_types.h:16, [ 881s] from ../../../../api/transport/network_control.h:16, [ 881s] from ../../../../api/media_transport_interface.h:20, [ 881s] from ../../../../pc/peer_connection.h:20, [ 881s] from ../../../../pc/peer_connection.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../api/peer_connection_interface.h:80, [ 881s] from ../../../../pc/peer_connection.h:21, [ 881s] from ../../../../pc/peer_connection.cc:11: [ 881s] ../../../../api/crypto/crypto_options.h:23:3: note: because 'webrtc::CryptoOptions' has user-provided 'webrtc::CryptoOptions::CryptoOptions(const webrtc::CryptoOptions&)' [ 881s] 23 | CryptoOptions(const CryptoOptions& other); [ 881s] | ^~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../api/transport/network_types.h:16, [ 881s] from ../../../../api/transport/network_control.h:16, [ 881s] from ../../../../api/media_transport_interface.h:20, [ 881s] from ../../../../pc/peer_connection.h:20, [ 881s] from ../../../../pc/peer_connection.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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]' [ 881s] ../../../../pc/rtp_sender.h:119:34: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../api/rtp_receiver_interface.h:25, [ 881s] from ../../../../api/peer_connection_interface.h:90, [ 881s] from ../../../../pc/peer_connection.h:21, [ 881s] from ../../../../pc/peer_connection.cc:11: [ 881s] ../../../../api/rtp_parameters.h:342:3: note: because 'webrtc::RtpFecParameters' has user-provided 'webrtc::RtpFecParameters::RtpFecParameters(const webrtc::RtpFecParameters&)' [ 881s] 342 | RtpFecParameters(const RtpFecParameters&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 881s] from ../../../../api/transport/network_types.h:16, [ 881s] from ../../../../api/transport/network_control.h:16, [ 881s] from ../../../../api/media_transport_interface.h:20, [ 881s] from ../../../../pc/peer_connection.h:20, [ 881s] from ../../../../pc/peer_connection.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../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]' [ 881s] ../../../../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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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*]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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 >]' [ 881s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/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]' [ 881s] ../../../../pc/rtp_sender.h:119:34: required from here [ 881s] ../../../../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] [ 881s] 159 | this->data_ = std::forward(u); [ 881s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../api/rtp_receiver_interface.h:25, [ 881s] from ../../../../api/peer_connection_interface.h:90, [ 881s] from ../../../../pc/peer_connection.h:21, [ 881s] from ../../../../pc/peer_connection.cc:11: [ 881s] ../../../../api/rtp_parameters.h:359:3: note: because 'webrtc::RtpRtxParameters' has user-provided 'webrtc::RtpRtxParameters::RtpRtxParameters(const webrtc::RtpRtxParameters&)' [ 881s] 359 | RtpRtxParameters(const RtpRtxParameters&); [ 881s] | ^~~~~~~~~~~~~~~~ [ 881s] In file included from ../../../../api/rtp_receiver_interface.h:24, [ 881s] from ../../../../api/peer_connection_interface.h:90, [ 881s] from ../../../../pc/peer_connection.h:21, [ 881s] from ../../../../pc/peer_connection.cc:11: [ 881s] ../../../../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]': [ 881s] ../../../../api/proxy.h:191:35: required from 'void webrtc::ConstMethodCall0::OnMessage(rtc::Message*) [with C = webrtc::RtpSenderInterface; R = webrtc::RtpParameters]' [ 881s] ../../../../api/proxy.h:191:8: required from here [ 881s] ../../../../api/proxy.h:77:8: warning: implicitly-declared 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' is deprecated [-Wdeprecated-copy] [ 881s] 77 | r_ = (c->*m)(); [ 881s] | ~~~^~~~~~~~~~~ [ 881s] In file included from ../../../../api/rtp_receiver_interface.h:25, [ 881s] from ../../../../api/peer_connection_interface.h:90, [ 881s] from ../../../../pc/peer_connection.h:21, [ 881s] from ../../../../pc/peer_connection.cc:11: [ 881s] ../../../../api/rtp_parameters.h:624:3: note: because 'webrtc::RtpParameters' has user-provided 'webrtc::RtpParameters::RtpParameters(const webrtc::RtpParameters&)' [ 881s] 624 | RtpParameters(const RtpParameters&); [ 881s] | ^~~~~~~~~~~~~ [ 881s] ../../../../api/rtp_parameters.h:622:19: warning: implicitly-declared 'webrtc::RtcpParameters& webrtc::RtcpParameters::operator=(const webrtc::RtcpParameters&)' is deprecated [-Wdeprecated-copy] [ 881s] 622 | struct RTC_EXPORT RtpParameters { [ 881s] | ^~~~~~~~~~~~~ [ 881s] ../../../../api/rtp_parameters.h:589:3: note: because 'webrtc::RtcpParameters' has user-provided 'webrtc::RtcpParameters::RtcpParameters(const webrtc::RtcpParameters&)' [ 881s] 589 | RtcpParameters(const RtcpParameters&); [ 881s] | ^~~~~~~~~~~~~~ [ 881s] In file included from ../../../../api/rtp_receiver_interface.h:24, [ 881s] from ../../../../api/peer_connection_interface.h:90, [ 881s] from ../../../../pc/peer_connection.h:21, [ 881s] from ../../../../pc/peer_connection.cc:11: [ 881s] ../../../../api/proxy.h:77:8: note: synthesized method 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' first required here [ 881s] 77 | r_ = (c->*m)(); [ 881s] | ~~~^~~~~~~~~~~ [ 881s] ../../../../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]': [ 881s] ../../../../api/proxy.h:191:35: required from 'void webrtc::ConstMethodCall0::OnMessage(rtc::Message*) [with C = webrtc::RtpReceiverInterface; R = webrtc::RtpParameters]' [ 881s] ../../../../api/proxy.h:191:8: required from here [ 881s] ../../../../api/proxy.h:77:8: warning: implicitly-declared 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' is deprecated [-Wdeprecated-copy] [ 881s] In file included from ../../../../api/rtp_receiver_interface.h:25, [ 881s] from ../../../../api/peer_connection_interface.h:90, [ 881s] from ../../../../pc/peer_connection.h:21, [ 881s] from ../../../../pc/peer_connection.cc:11: [ 881s] ../../../../api/rtp_parameters.h:624:3: note: because 'webrtc::RtpParameters' has user-provided 'webrtc::RtpParameters::RtpParameters(const webrtc::RtpParameters&)' [ 881s] 624 | RtpParameters(const RtpParameters&); [ 881s] | ^~~~~~~~~~~~~ [ 881s] [1906/1909] AR obj/pc/libpeerconnection.a [ 881s] [1907/1909] AR obj/api/libcreate_peerconnection_factory.a [ 881s] [1908/1909] STAMP obj/pc/libjingle_peerconnection.stamp [ 881s] [1909/1909] AR obj/libwebrtc.a [ 881s] [689/874] COPY WEBRTC [ 881s] [690/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/SocketLWS.cpp.o [ 881s] [691/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpTransceiver.cpp.o [ 881s] [692/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioBuffer.cpp.o [ 881s] [693/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/EventSourceParser.cpp.o [ 881s] [694/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/MediaElementAudioSourceNode.cpp.o [ 881s] [695/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioNode.cpp.o [ 881s] [696/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaStreamTrack.cpp.o [ 882s] [697/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/NavigatorMixin.cpp.o [ 882s] [698/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/WebRtcManager.cpp.o [ 882s] [699/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDataChannel.cpp.o [ 882s] [700/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpReceiver.cpp.o [ 882s] [701/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaStream.cpp.o [ 882s] [702/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WindowOrWorkerGlobalScope.cpp.o [ 883s] [703/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpSender.cpp.o [ 883s] [704/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/BorderImage.cpp.o [ 883s] [705/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioContext.cpp.o [ 883s] [706/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioDestinationNode.cpp.o [ 883s] [707/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioBufferSourceNode.cpp.o [ 883s] [708/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSAngle.cpp.o [ 883s] [709/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnection.cpp.o [ 883s] [710/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Serializer.cpp.o [ 883s] [711/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WebBase.cpp.o [ 883s] [712/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSLength.cpp.o [ 883s] [713/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/storage/Storage.cpp.o [ 883s] [714/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSGradientValue.cpp.o [ 883s] [715/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/BaseAudioContext.cpp.o [ 883s] [716/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/AncestorSelectorFilter.cpp.o [ 884s] [717/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSFilterFunction.cpp.o [ 884s] [718/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSProperty.cpp.o [ 884s] [719/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/History.cpp.o [ 884s] [720/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleLookupTrie.cpp.o [ 884s] [721/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Screen.cpp.o [ 884s] [722/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Location.cpp.o [ 884s] [723/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSKeywordValue.cpp.o [ 885s] [724/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/EventSource.cpp.o [ 885s] [725/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CalcData.cpp.o [ 885s] [726/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSTime.cpp.o [ 885s] [727/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSRuleList.cpp.o [ 885s] [728/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ImageValue.cpp.o [ 886s] [729/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSNumericValue.cpp.o [ 886s] [730/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ContentData.cpp.o [ 886s] [731/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CounterStyle.cpp.o [ 886s] [732/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Archiver.cpp.o [ 886s] [733/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryEvaluator.cpp.o [ 886s] [734/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleValue.cpp.o [ 886s] [735/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSVariableSyntaxTreeBuilder.cpp.o [ 886s] [736/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Archivable.cpp.o [ 886s] [737/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQuery.cpp.o [ 886s] [738/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ListStyleData.cpp.o [ 886s] [739/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/PositionedMaskData.cpp.o [ 886s] [740/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleAnimationData.cpp.o [ 886s] [741/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/NamedColors.cpp.o [ 887s] [742/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/ProgramOptions.cpp.o [ 887s] [743/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/GradientData.cpp.o [ 887s] [744/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ShadowData.cpp.o [ 887s] [745/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/FilterFunctions.cpp.o [ 887s] [746/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSUnitValue.cpp.o [ 887s] [747/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Navigator.cpp.o [ 887s] [748/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleSheet.cpp.o [ 887s] [749/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleBackgroundData.cpp.o [ 888s] [750/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleRule.cpp.o [ 888s] [751/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryList.cpp.o [ 888s] [752/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/launcher/WebWorkerEntry.cpp.o [ 888s] [753/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSParser.cpp.o [ 888s] [754/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQuerySet.cpp.o [ 888s] [755/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Window.cpp.o [ 888s] [756/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Unit.cpp.o [ 888s] [757/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleTransitionData.cpp.o [ 888s] [758/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaList.cpp.o [ 888s] [759/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryListMatcher.cpp.o [ 888s] [760/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/FontResource.cpp.o [ 888s] [761/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/UnitHelper.cpp.o [ 888s] [762/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/AttributeName.cpp.o [ 888s] [763/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/GlobalOptions.cpp.o [ 888s] [764/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleSheet.cpp.o [ 889s] [765/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/BrowsingContext.cpp.o [ 889s] [766/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/AtomicString.cpp.o [ 889s] [767/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Id.cpp.o [ 889s] [768/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Message.cpp.o [ 889s] [769/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/RandomEngine.cpp.o [ 889s] [770/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Length.cpp.o [ 889s] [771/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/QualifiedName.cpp.o [ 889s] [772/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Cryptographic.cpp.o [ 889s] [773/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/LineBreakerIteratorPool.cpp.o [ 890s] [774/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/TextConverter.cpp.o [ 890s] [775/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleSheetList.cpp.o [ 890s] [776/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaValues.cpp.o [ 890s] [777/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasSkia.cpp.o [ 890s] [778/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasCairoUtils.cpp.o [ 890s] [779/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/String.cpp.o [ 890s] [780/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/URLSearchParams.cpp.o [ 890s] [781/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleRule.cpp.o [ 890s] [782/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasMock.cpp.o [ 890s] [783/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WebView.cpp.o [ 890s] [784/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopLibUV.cpp.o [ 891s] [785/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/hb-icu/HarfBuzzICU.cpp.o [ 891s] [786/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/ImageUtils.cpp.o [ 891s] [787/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopWindows.cpp.o [ 891s] [788/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorMock.cpp.o [ 891s] [789/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathSkia.cpp.o [ 891s] [790/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathMock.cpp.o [ 891s] [791/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplMock.cpp.o [ 891s] [792/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorCairo.cpp.o [ 891s] [793/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorSkia.cpp.o [ 891s] [794/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplSkia.cpp.o [ 891s] [795/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtcLinux.cpp.o [ 891s] [796/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/xml/FormData.cpp.o [ 891s] [797/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudioLinux.cpp.o [ 891s] [798/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTV.cpp.o [ 891s] [799/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ComputedStyle.cpp.o [ 891s] [800/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/file/File.cpp.o [ 892s] [801/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/file/Directory.cpp.o [ 892s] [802/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/Demuxer.cpp.o [ 892s] [803/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/URL.cpp.o [ 892s] [804/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/HeaderResource.cpp.o [ 892s] [805/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MockMediaPlayer.cpp.o [ 892s] [806/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/NativeImageDataImpl.cpp.o [ 892s] [807/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathCairo.cpp.o [ 892s] [808/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ComputedStyleCSSStyleDeclaration.cpp.o [ 892s] [809/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPCacheEntry.cpp.o [ 892s] [810/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPCache.cpp.o [ 892s] [811/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/AnimatedGIFNativeImageDataImpl.cpp.o [ 893s] [812/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/CompressedNativeImageDataImpl.cpp.o [ 893s] [813/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinLibUV.cpp.o [ 893s] [814/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/xml/XMLHttpRequest.cpp.o [ 893s] [815/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/DemuxerMP4.cpp.o [ 893s] [816/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/tts/TTSBase.cpp.o [ 893s] [817/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/process/base/Process.cpp.o [ 893s] [818/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/tts/TTSTV.cpp.o [ 893s] [819/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerLibUV.cpp.o [ 893s] [820/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ResourceURL.cpp.o [ 893s] [821/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerWindows.cpp.o [ 893s] [822/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinWindows.cpp.o [ 893s] [823/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MP4PacketGenerator.cpp.o [ 893s] [824/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopEFL.cpp.o [ 893s] [825/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/DemuxerWebM.cpp.o [ 893s] [826/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerEFL.cpp.o [ 894s] [827/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPResponse.cpp.o [ 894s] [828/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinEFL.cpp.o [ 894s] [829/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/SVGNativeImageDataImpl.cpp.o [ 895s] [830/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/StreamInfo.cpp.o [ 895s] [831/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/android/AndroidBridge.cpp.o [ 895s] [832/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/public/DeviceInfo.cpp.o [ 895s] [833/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPTransaction.cpp.o [ 895s] [834/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ElementResourceClient.cpp.o [ 895s] [835/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasCairo.cpp.o [ 895s] [836/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPRequest.cpp.o [ 895s] [837/874] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/WebWidgetAPIInstance.cpp.o [ 895s] [838/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplCairo.cpp.o [ 895s] [839/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/curl/NetworkSharedResourceManager.cpp.o [ 895s] [840/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/TextResource.cpp.o [ 895s] [841/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWEWebView.cpp.o [ 895s] [842/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplHeadless.cpp.o [ 895s] [843/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/VirtualCursorData.cpp.o [ 895s] [844/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPUtil.cpp.o [ 895s] [845/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPHeaderMap.cpp.o [ 895s] [846/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/Resource.cpp.o [ 896s] [847/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorGL.cpp.o [ 896s] [848/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/dali/LWEWebViewDALi.cpp.o [ 896s] [849/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplGB.cpp.o [ 896s] [850/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/JavaScriptNativeHandler.cpp.o [ 896s] [851/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWE.cpp.o [ 896s] [852/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/webrtc/VideoCapturer.cpp.o [ 896s] [853/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleDeclaration.cpp.o [ 896s] [854/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/ecore_wayland2/LWEWebViewEcoreWayland2.cpp.o [ 896s] [855/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudioTizen.cpp.o [ 896s] [856/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ImageResource.cpp.o [ 896s] [857/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudio.cpp.o [ 896s] [858/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/efl/LWEWebViewEFL.cpp.o [ 897s] [859/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/glfw/LWEWebViewGLFW.cpp.o [ 897s] [860/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayer.cpp.o [ 897s] [861/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTizenBase.cpp.o [ 897s] [862/874] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/ExtensionManager.cpp.o [ 897s] [863/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplGL.cpp.o [ 897s] [864/874] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/ExtensionAdapter.cpp.o [ 897s] [865/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ResourceLoader.cpp.o [ 897s] [866/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTizen.cpp.o [ 898s] [867/874] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/TizenDeviceAPILoaderForEscargot.cpp.o [ 898s] [868/874] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/Extension.cpp.o [ 898s] [869/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/PlatformWindow.cpp.o [ 898s] [870/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtc.cpp.o [ 899s] [871/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWEWebContainer.cpp.o [ 899s] [872/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtcTizen.cpp.o [ 901s] [873/874] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Style.cpp.o [ 1467s] [874/874] Linking CXX shared library out_tizen/unified_tv/release/lib/liblightweight-web-engine.tv.so [ 1467s] + ninja starfish.executable [ 1468s] [1/4] cd /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0 && echo LIBWEBSOCKETS\ TARGET [ 1468s] LIBWEBSOCKETS TARGET [ 1469s] [2/4] Building CXX object CMakeFiles/starfish.executable.dir/src/shell/testRunner.cpp.o [ 1470s] [3/4] Building CXX object CMakeFiles/starfish.executable.dir/src/shell/shell.cpp.o [ 2017s] [4/4] Linking CXX executable out_tizen/unified_tv/release/lightweight-web-engine.tv [ 2017s] + rm -f CMakeCache.txt [ 2017s] + cmake CMakeLists.txt -DMODE=release -DHOST=tizen -DARCH=arm -DCUSTOM=unified_mobile -DBACKEND=dali -DLTO=1 -DTARGETNAME=lightweight-web-engine-dali-plugin.mobile -G Ninja [ 2017s] -- The C compiler identification is GNU 9.2.0 [ 2017s] -- The CXX compiler identification is GNU 9.2.0 [ 2017s] -- Check for working C compiler: /bin/cc [ 2017s] -- Check for working C compiler: /bin/cc -- works [ 2017s] -- Detecting C compiler ABI info [ 2017s] -- Detecting C compiler ABI info - done [ 2017s] -- Detecting C compile features [ 2018s] -- Detecting C compile features - done [ 2018s] -- Check for working CXX compiler: /bin/c++ [ 2018s] -- Check for working CXX compiler: /bin/c++ -- works [ 2018s] -- Detecting CXX compiler ABI info [ 2018s] -- Detecting CXX compiler ABI info - done [ 2018s] -- Detecting CXX compile features [ 2019s] -- Detecting CXX compile features - done [ 2019s] -- Found PkgConfig: /bin/pkg-config (found version "0.28") [ 2019s] -- Checking for modules 'dlog;libpng;freetype2;fontconfig;harfbuzz;elementary;ecore' [ 2019s] -- Found dlog, version 1.0 [ 2020s] -- Found libpng, version 1.6.37 [ 2020s] -- Found freetype2, version 23.1.17 [ 2020s] -- Found fontconfig, version 2.13.1 [ 2020s] -- Found harfbuzz, version 2.6.4 [ 2020s] -- Found elementary, version 1.24.99 [ 2020s] -- Found ecore, version 1.24.99 [ 2024s] -- Checking for module 'cairo' [ 2024s] -- Found cairo, version 1.14.2 [ 2025s] -- Checking for modules 'capi-media-player;capi-network-connection' [ 2025s] -- Found capi-media-player, version [ 2025s] -- Found capi-network-connection, version [ 2026s] -- Looking for cap_set_flag in cap [ 2026s] -- Looking for cap_set_flag in cap - not found [ 2026s] -- Checking for module 'dlog' [ 2026s] -- Found dlog, version 1.0 [ 2027s] -- Starfish [ 2027s] -- 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--param=ssp-buffer-size=4-march=armv7-a-mtune=cortex-a8-mlittle-endian-mfpu=neon-mfloat-abi=softfp-mthumb-Wp,-D__SOFTFP__-Wl,-O1-Wl,--hash-style=gnu-Wa,-mimplicit-it=thumb-g-DSTARFISH_TIZEN_MAJOR_VERSION=6-DSTARFISH_TIZEN_VERSION_6_0 [ 2027s] -- LIBRARIES: clipperescargotmp4parsewebmskia_matrix/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/out_tizen/unified_mobile/release/lib/libtuv.sopthreadcurlsslcryptojpeggif-Llib/tizendali-coredali-adaptordali-toolkitrtdlcapi-location-manager-Wl,-soname,liblightweight-web-engine-dali-plugin.so.1dlogpng16zfontconfigfreetypeharfbuzzelementaryecore_evasecore_fileecore_imfecore_inputecore_conedjeevasectorluameldbusethumb_clientethumbemotionefreeteioeetemileecoreefleoeinapthreadmrtdlcairocapi-media-playercapi-media-tooltbmcapi-media-sound-managercapi-network-connectioncapi-base-common [ 2027s] -- 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 [ 2027s] -- LDFLAGS: -Wl,--gc-sections-Wl,-rpath=/usr/local/lib-flto [ 2027s] -- 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/freetype2/usr/include/libpng16/usr/include/fribidi/usr/include/harfbuzz/usr/include/ector-1/usr/include/eeze-1/usr/include/libmount/usr/include/blkid/usr/include/efreet-1/usr/include/eio-1/usr/include/efreet-1/usr/include/ecore-file-1/usr/include/ecore-ipc-1/usr/include/ecore-con-1/usr/include/eldbus-1/usr/include/dbus-1.0/usr/lib/dbus-1.0/include/usr/include/eet-1/usr/include/emile-1/usr/include/ecore-1/usr/include/glib-2.0/usr/lib/glib-2.0/include/usr/include/efl-1/usr/include/efl-1/interfaces/usr/include/eo-1/usr/include/eina-1/usr/include/eina-1/eina/usr/include/dlog/usr/include/cairo/usr/include/pixman-1/usr/include/ecore-evas-1/usr/include/ecore-input-evas-1/usr/include/ecore-input-1/usr/include/eeze-1/usr/include/libmount/usr/include/blkid/usr/include/ecore-file-1/usr/include/ecore-con-1/usr/include/eldbus-1/usr/include/dbus-1.0/usr/lib/dbus-1.0/include/usr/include/evas-1/usr/include/evas-1/canvas/usr/include/evas-1/gesture/usr/include/uuid/usr/include/freetype2/usr/include/fribidi/usr/include/harfbuzz/usr/include/ecore-1/usr/include/glib-2.0/usr/lib/glib-2.0/include/usr/include/ector-1/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/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/arm/release/include [ 2027s] -- Configuring done [ 2027s] -- Generating done [ 2027s] -- Build files have been written to: /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0 [ 2027s] + ninja starfish.shared_library [ 2028s] [1/880] Linking CXX static library out_tizen/unified_mobile/release/lib/libruntime-icu-binder-static.a [ 2028s] [2/880] Linking CXX static library out_tizen/unified_mobile/release/lib/libgc-lib.a [ 2028s] [3/880] COPY TUV [ 2028s] [4/880] cd /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0 && echo TUV\ TARGET [ 2028s] TUV TARGET [ 2028s] [5/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioDestinationNode.cpp.o [ 2028s] [6/880] Linking CXX shared library out_tizen/unified_mobile/release/lib/libskia_matrix.so [ 2028s] [7/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferBinding.cpp.o [ 2028s] [8/880] Linking CXX shared library out_tizen/unified_mobile/release/lib/libwebm.so [ 2028s] [9/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferOptionsBinding.cpp.o [ 2028s] [10/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioContextOptionsBinding.cpp.o [ 2028s] [11/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferSourceOptionsBinding.cpp.o [ 2028s] [12/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferSourceNodeBinding.cpp.o [ 2028s] [13/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BufferSourceOrDOMStringBinding.cpp.o [ 2028s] [14/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioScheduledSourceNodeBinding.cpp.o [ 2028s] [15/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BaseAudioContextBinding.cpp.o [ 2028s] [16/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioDestinationNodeBinding.cpp.o [ 2028s] [17/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioContextBinding.cpp.o [ 2028s] [18/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioNodeBinding.cpp.o [ 2028s] [19/880] Linking CXX shared library out_tizen/unified_mobile/release/lib/libclipper.so [ 2028s] [20/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BatteryManagerBinding.cpp.o [ 2028s] [21/880] Linking CXX shared library out_tizen/unified_mobile/release/lib/libmp4parse.so [ 2028s] [22/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasImageSourceOrBlobOrImageDataBinding.cpp.o [ 2028s] [23/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasRenderingContext2DBinding.cpp.o [ 2028s] [24/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasRenderingContext2DOrWebGLRenderingContextOrImageBitmapRenderingContextBinding.cpp.o [ 2030s] [25/880] Linking CXX static library out_tizen/unified_mobile/release/lib/libescargot.a [ 2030s] [26/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AnimationEventInitBinding.cpp.o [ 2030s] [27/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ArrayBufferViewOrArrayBufferBinding.cpp.o [ 2030s] [28/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BlobOrBufferSourceOrUSVStringOrReadableStreamBinding.cpp.o [ 2030s] [29/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BufferSourceOrBlobOrDOMStringBinding.cpp.o [ 2030s] [30/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSNumericTypeBinding.cpp.o [ 2031s] [31/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BlobCustomBinding.cpp.o [ 2031s] [32/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSCounterStyleRuleBinding.cpp.o [ 2031s] [33/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSConditionRuleBinding.cpp.o [ 2031s] [34/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSNamespaceRuleBinding.cpp.o [ 2031s] [35/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSSupportsRuleBinding.cpp.o [ 2031s] [36/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSBinding.cpp.o [ 2031s] [37/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AnimationEventBinding.cpp.o [ 2031s] [38/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSKeywordValueBinding.cpp.o [ 2031s] [39/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AnimationBinding.cpp.o [ 2031s] [40/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSMediaRuleBinding.cpp.o [ 2031s] [41/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CustomEventInitBinding.cpp.o [ 2031s] [42/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSNumericValueBinding.cpp.o [ 2031s] [43/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BlobBinding.cpp.o [ 2031s] [44/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSUnitValueBinding.cpp.o [ 2031s] [45/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSRuleBinding.cpp.o [ 2031s] [46/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasPatternBinding.cpp.o [ 2031s] [47/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleValueBinding.cpp.o [ 2031s] [48/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSImportRuleBinding.cpp.o [ 2031s] [49/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSKeyframeRuleBinding.cpp.o [ 2031s] [50/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/Starfish.cpp.o [ 2031s] [51/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSFontFaceRuleBinding.cpp.o [ 2031s] [52/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasGradientBinding.cpp.o [ 2031s] [53/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/StaticStrings.cpp.o [ 2031s] [54/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleRuleBinding.cpp.o [ 2032s] [55/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleDeclarationBinding.cpp.o [ 2032s] [56/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AttrBinding.cpp.o [ 2032s] [57/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSRuleListBinding.cpp.o [ 2032s] [58/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSKeyframesRuleBinding.cpp.o [ 2032s] [59/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CharacterDataCustomBinding.cpp.o [ 2033s] [60/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleSheetBinding.cpp.o [ 2033s] [61/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CDATASectionBinding.cpp.o [ 2033s] [62/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CloseEventInitBinding.cpp.o [ 2033s] [63/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSGroupingRuleBinding.cpp.o [ 2033s] [64/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CompositionEventInitBinding.cpp.o [ 2033s] [65/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrix2DInitBinding.cpp.o [ 2033s] [66/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrixInitBinding.cpp.o [ 2033s] [67/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrMediaStreamTrackBinding.cpp.o [ 2033s] [68/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CoordinatesBinding.cpp.o [ 2033s] [69/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CloseEventBinding.cpp.o [ 2033s] [70/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMPointInitBinding.cpp.o [ 2034s] [71/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMExceptionBinding.cpp.o [ 2034s] [72/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrFunctionBinding.cpp.o [ 2034s] [73/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrCanvasGradientOrCanvasPatternBinding.cpp.o [ 2034s] [74/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringMapBinding.cpp.o [ 2034s] [75/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CustomEventBinding.cpp.o [ 2034s] [76/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMPointBinding.cpp.o [ 2034s] [77/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CompositionEventBinding.cpp.o [ 2034s] [78/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMQuadBinding.cpp.o [ 2034s] [79/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMRectBinding.cpp.o [ 2034s] [80/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMRectListBinding.cpp.o [ 2034s] [81/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrSequenceOfDOMStringBinding.cpp.o [ 2034s] [82/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringListBinding.cpp.o [ 2034s] [83/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMPointReadOnlyBinding.cpp.o [ 2034s] [84/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMRectReadOnlyBinding.cpp.o [ 2034s] [85/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrRTCOAuthCredentialBinding.cpp.o [ 2034s] [86/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrixBinding.cpp.o [ 2034s] [87/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrixReadOnlyBinding.cpp.o [ 2034s] [88/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLCanvasElementBinding.cpp.o [ 2034s] [89/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrSequenceOfdoubleBinding.cpp.o [ 2035s] [90/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CharacterDataBinding.cpp.o [ 2035s] [91/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMTokenListBinding.cpp.o [ 2035s] [92/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CommentBinding.cpp.o [ 2035s] [93/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EffectTimingBinding.cpp.o [ 2035s] [94/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMImplementationBinding.cpp.o [ 2036s] [95/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMParserBinding.cpp.o [ 2036s] [96/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventSourceInitBinding.cpp.o [ 2036s] [97/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventOrDOMStringBinding.cpp.o [ 2036s] [98/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventInitBinding.cpp.o [ 2036s] [99/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ErrorEventInitBinding.cpp.o [ 2036s] [100/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ErrorEventBinding.cpp.o [ 2036s] [101/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FocusEventInitBinding.cpp.o [ 2036s] [102/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpTransceiverInitBinding.cpp.o [ 2036s] [103/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventBinding.cpp.o [ 2037s] [104/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GeolocationBinding.cpp.o [ 2037s] [105/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventTargetBinding.cpp.o [ 2037s] [106/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventModifierInitBinding.cpp.o [ 2037s] [107/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLImageElementOrSVGImageElementBinding.cpp.o [ 2037s] [108/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLImageElementOrSVGImageElementOrHTMLVideoElementOrHTMLCanvasElementOrImageBitmapBinding.cpp.o [ 2037s] [109/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentHoldable.cpp.o [ 2037s] [110/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FocusEventBinding.cpp.o [ 2037s] [111/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GeopositionBinding.cpp.o [ 2037s] [112/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventSourceBinding.cpp.o [ 2037s] [113/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentCustomBinding.cpp.o [ 2038s] [114/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentFragmentBinding.cpp.o [ 2038s] [115/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GeolocationCustomBinding.cpp.o [ 2038s] [116/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentTypeBinding.cpp.o [ 2038s] [117/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GetRootNodeOptionsBinding.cpp.o [ 2038s] [118/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FormDataBinding.cpp.o [ 2038s] [119/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentBinding.cpp.o [ 2039s] [120/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLAnchorElementBinding.cpp.o [ 2039s] [121/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLAudioElementBinding.cpp.o [ 2039s] [122/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ElementBinding.cpp.o [ 2039s] [123/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLBodyElementBinding.cpp.o [ 2039s] [124/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLBaseElementBinding.cpp.o [ 2039s] [125/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLBRElementBinding.cpp.o [ 2039s] [126/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDListElementBinding.cpp.o [ 2039s] [127/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDialogElementBinding.cpp.o [ 2039s] [128/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLButtonElementBinding.cpp.o [ 2039s] [129/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLAreaElementBinding.cpp.o [ 2039s] [130/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLElementOrlongBinding.cpp.o [ 2039s] [131/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLCollectionBinding.cpp.o [ 2039s] [132/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDivElementBinding.cpp.o [ 2040s] [133/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDocumentBinding.cpp.o [ 2040s] [134/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFieldSetElementBinding.cpp.o [ 2040s] [135/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLElementBinding.cpp.o [ 2040s] [136/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFormElementBinding.cpp.o [ 2040s] [137/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFormControlsCollectionBinding.cpp.o [ 2040s] [138/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHRElementBinding.cpp.o [ 2041s] [139/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLInputElementCustomBinding.cpp.o [ 2041s] [140/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHeadElementBinding.cpp.o [ 2041s] [141/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFontElementBinding.cpp.o [ 2041s] [142/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHeadingElementBinding.cpp.o [ 2041s] [143/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHtmlElementBinding.cpp.o [ 2041s] [144/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLegendElementBinding.cpp.o [ 2041s] [145/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLInputElementBinding.cpp.o [ 2041s] [146/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLImageElementBinding.cpp.o [ 2041s] [147/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLIElementBinding.cpp.o [ 2042s] [148/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLIFrameElementBinding.cpp.o [ 2042s] [149/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLabelElementBinding.cpp.o [ 2042s] [150/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLinkElementBinding.cpp.o [ 2042s] [151/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLMetaElementBinding.cpp.o [ 2043s] [152/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLMediaElementBinding.cpp.o [ 2043s] [153/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLMapElementBinding.cpp.o [ 2043s] [154/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLModElementBinding.cpp.o [ 2043s] [155/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptionElementOrHTMLOptGroupElementBinding.cpp.o [ 2043s] [156/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageBitmapRenderingContextBinding.cpp.o [ 2043s] [157/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOListElementBinding.cpp.o [ 2043s] [158/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageDataBinding.cpp.o [ 2043s] [159/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLScriptElementOrSVGScriptElementBinding.cpp.o [ 2043s] [160/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptionElementBinding.cpp.o [ 2043s] [161/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLObjectElementBinding.cpp.o [ 2043s] [162/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOutputElementBinding.cpp.o [ 2044s] [163/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptGroupElementBinding.cpp.o [ 2044s] [164/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLPreElementBinding.cpp.o [ 2044s] [165/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaDevicesBinding.cpp.o [ 2044s] [166/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaElementAudioSourceNodeBinding.cpp.o [ 2044s] [167/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLParamElementBinding.cpp.o [ 2044s] [168/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLParagraphElementBinding.cpp.o [ 2044s] [169/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaElementAudioSourceOptionsBinding.cpp.o [ 2044s] [170/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLQuoteElementBinding.cpp.o [ 2044s] [171/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLScriptElementBinding.cpp.o [ 2044s] [172/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptionsCollectionBinding.cpp.o [ 2044s] [173/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaStreamBinding.cpp.o [ 2044s] [174/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaStreamTrackBinding.cpp.o [ 2044s] [175/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaStreamConstraintsBinding.cpp.o [ 2044s] [176/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLSourceElementBinding.cpp.o [ 2044s] [177/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaTrackConstraintSetBinding.cpp.o [ 2044s] [178/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaTrackConstraintsBinding.cpp.o [ 2044s] [179/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageDataCustomBinding.cpp.o [ 2044s] [180/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLSpanElementBinding.cpp.o [ 2045s] [181/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLStyleElementBinding.cpp.o [ 2045s] [182/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HeadersBinding.cpp.o [ 2045s] [183/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLSelectElementBinding.cpp.o [ 2045s] [184/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTFootElementBinding.cpp.o [ 2045s] [185/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableCaptionElementBinding.cpp.o [ 2045s] [186/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTHeadElementBinding.cpp.o [ 2045s] [187/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableCellElementBinding.cpp.o [ 2045s] [188/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTrackElementBinding.cpp.o [ 2045s] [189/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableColElementBinding.cpp.o [ 2045s] [190/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTHElementBinding.cpp.o [ 2045s] [191/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NotificationBinding.cpp.o [ 2045s] [192/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NotificationOptionsBinding.cpp.o [ 2045s] [193/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/Path2DBinding.cpp.o [ 2045s] [194/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageBitmapOptionsBinding.cpp.o [ 2046s] [195/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/Path2DOrDOMStringBinding.cpp.o [ 2046s] [196/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLUListElementBinding.cpp.o [ 2046s] [197/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HistoryBinding.cpp.o [ 2046s] [198/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageBitmapBinding.cpp.o [ 2046s] [199/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushManagerBinding.cpp.o [ 2046s] [200/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushSubscriptionBinding.cpp.o [ 2046s] [201/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushSubscriptionOptionsBinding.cpp.o [ 2046s] [202/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/InputEventInitBinding.cpp.o [ 2046s] [203/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushSubscriptionOptionsInitBinding.cpp.o [ 2046s] [204/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCAnswerOptionsBinding.cpp.o [ 2046s] [205/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCCertificateBinding.cpp.o [ 2046s] [206/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCConfigurationBinding.cpp.o [ 2046s] [207/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableElementBinding.cpp.o [ 2046s] [208/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelBinding.cpp.o [ 2046s] [209/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelEventBinding.cpp.o [ 2046s] [210/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelEventInitBinding.cpp.o [ 2046s] [211/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTitleElementBinding.cpp.o [ 2046s] [212/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelInitBinding.cpp.o [ 2046s] [213/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCErrorBinding.cpp.o [ 2046s] [214/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceCandidateInitBinding.cpp.o [ 2046s] [215/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDtlsTransportBinding.cpp.o [ 2046s] [216/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCErrorInitBinding.cpp.o [ 2046s] [217/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceCandidateBinding.cpp.o [ 2046s] [218/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyframeEffectOptionsBinding.cpp.o [ 2046s] [219/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceCandidatePairBinding.cpp.o [ 2046s] [220/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceServerBinding.cpp.o [ 2046s] [221/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableSectionElementBinding.cpp.o [ 2046s] [222/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceTransportBinding.cpp.o [ 2046s] [223/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCOfferOptionsBinding.cpp.o [ 2046s] [224/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCOfferAnswerOptionsBinding.cpp.o [ 2046s] [225/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionBinding.cpp.o [ 2046s] [226/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceErrorEventBinding.cpp.o [ 2046s] [227/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceEventBinding.cpp.o [ 2046s] [228/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceEventInitBinding.cpp.o [ 2046s] [229/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceErrorEventInitBinding.cpp.o [ 2046s] [230/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyframeAnimationOptionsBinding.cpp.o [ 2046s] [231/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpParametersBinding.cpp.o [ 2046s] [232/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpSendParametersBinding.cpp.o [ 2046s] [233/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpSenderBinding.cpp.o [ 2046s] [234/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpReceiverBinding.cpp.o [ 2046s] [235/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpTransceiverBinding.cpp.o [ 2046s] [236/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCSessionDescriptionBinding.cpp.o [ 2046s] [237/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCTrackEventBinding.cpp.o [ 2046s] [238/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCSctpTransportBinding.cpp.o [ 2046s] [239/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCSessionDescriptionInitBinding.cpp.o [ 2046s] [240/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCTrackEventInitBinding.cpp.o [ 2046s] [241/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyboardEventBinding.cpp.o [ 2047s] [242/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLUnknownElementBinding.cpp.o [ 2047s] [243/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyboardEventInitBinding.cpp.o [ 2047s] [244/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTextAreaElementBinding.cpp.o [ 2047s] [245/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/InputEventBinding.cpp.o [ 2047s] [246/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaQueryListEventInitBinding.cpp.o [ 2047s] [247/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/LocationBinding.cpp.o [ 2047s] [248/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaQueryListBinding.cpp.o [ 2047s] [249/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaListBinding.cpp.o [ 2047s] [250/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLVideoElementBinding.cpp.o [ 2047s] [251/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableRowElementBinding.cpp.o [ 2047s] [252/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaQueryListEventBinding.cpp.o [ 2047s] [253/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessageEventInitBinding.cpp.o [ 2047s] [254/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessageChannelBinding.cpp.o [ 2047s] [255/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaSourceBinding.cpp.o [ 2047s] [256/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessagePortBinding.cpp.o [ 2047s] [257/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerContainerBinding.cpp.o [ 2047s] [258/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MouseEventInitBinding.cpp.o [ 2048s] [259/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessageEventBinding.cpp.o [ 2048s] [260/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MouseEventBinding.cpp.o [ 2048s] [261/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NavigatorBinding.cpp.o [ 2048s] [262/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ProgressEventInitBinding.cpp.o [ 2049s] [263/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ProgressEventBinding.cpp.o [ 2049s] [264/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RegistrationOptionsBinding.cpp.o [ 2049s] [265/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCOAuthCredentialBinding.cpp.o [ 2049s] [266/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RequestInitBinding.cpp.o [ 2049s] [267/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PositionErrorBinding.cpp.o [ 2049s] [268/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ReadableStreamBinding.cpp.o [ 2049s] [269/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RequestOrUSVStringBinding.cpp.o [ 2049s] [270/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingWorkerInstance.cpp.o [ 2049s] [271/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeOrDOMStringBinding.cpp.o [ 2049s] [272/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NamedNodeMapBinding.cpp.o [ 2050s] [273/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ReadableStreamDefaultReaderBinding.cpp.o [ 2050s] [274/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ResponseBinding.cpp.o [ 2050s] [275/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ReadableStreamDefaultControllerBinding.cpp.o [ 2050s] [276/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeFilterBinding.cpp.o [ 2050s] [277/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ResponseInitBinding.cpp.o [ 2050s] [278/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RequestBinding.cpp.o [ 2050s] [279/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerBinding.cpp.o [ 2050s] [280/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerGlobalScopeBinding.cpp.o [ 2050s] [281/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGAnimatedLengthBinding.cpp.o [ 2050s] [282/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerRegistrationBinding.cpp.o [ 2050s] [283/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisEventBinding.cpp.o [ 2050s] [284/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisBinding.cpp.o [ 2050s] [285/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGLengthBinding.cpp.o [ 2050s] [286/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeBinding.cpp.o [ 2050s] [287/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisEventInitBinding.cpp.o [ 2050s] [288/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisVoiceBinding.cpp.o [ 2050s] [289/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ProcessingInstructionBinding.cpp.o [ 2050s] [290/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisUtteranceBinding.cpp.o [ 2050s] [291/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeListBinding.cpp.o [ 2050s] [292/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeIteratorBinding.cpp.o [ 2051s] [293/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextMetricsBinding.cpp.o [ 2051s] [294/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGCircleElementBinding.cpp.o [ 2052s] [295/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGElementBinding.cpp.o [ 2052s] [296/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RangeBinding.cpp.o [ 2052s] [297/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGImageElementBinding.cpp.o [ 2052s] [298/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScreenBinding.cpp.o [ 2052s] [299/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGClipPathElementBinding.cpp.o [ 2052s] [300/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGGElementBinding.cpp.o [ 2052s] [301/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGPathElementBinding.cpp.o [ 2052s] [302/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScrollOptionsBinding.cpp.o [ 2052s] [303/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGEllipseElementBinding.cpp.o [ 2052s] [304/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGDefsElementBinding.cpp.o [ 2052s] [305/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGDocumentBinding.cpp.o [ 2052s] [306/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGPolylineElementBinding.cpp.o [ 2052s] [307/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SecurityPolicyViolationEventInitBinding.cpp.o [ 2052s] [308/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGPolygonElementBinding.cpp.o [ 2053s] [309/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGLineElementBinding.cpp.o [ 2053s] [310/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGSVGElementBinding.cpp.o [ 2053s] [311/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGScriptElementBinding.cpp.o [ 2053s] [312/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGRectElementBinding.cpp.o [ 2053s] [313/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WebGLRenderingContextBinding.cpp.o [ 2053s] [314/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WebSocketBinding.cpp.o [ 2053s] [315/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScrollToOptionsBinding.cpp.o [ 2053s] [316/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingWindowInstance.cpp.o [ 2053s] [317/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SecurityPolicyViolationEventBinding.cpp.o [ 2053s] [318/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGStyleElementBinding.cpp.o [ 2053s] [319/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerGlobalScopeBinding.cpp.o [ 2053s] [320/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerLocationBinding.cpp.o [ 2053s] [321/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SourceBufferBinding.cpp.o [ 2053s] [322/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerGlobalScopeCustomBinding.cpp.o [ 2053s] [323/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/StorageBinding.cpp.o [ 2053s] [324/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerNavigatorBinding.cpp.o [ 2053s] [325/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/StyleSheetListBinding.cpp.o [ 2054s] [326/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SourceBufferListBinding.cpp.o [ 2054s] [327/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackBinding.cpp.o [ 2054s] [328/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptEngineInstance.cpp.o [ 2054s] [329/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGTextElementBinding.cpp.o [ 2054s] [330/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/testRunnerBinding.cpp.o [ 2054s] [331/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGUseElementBinding.cpp.o [ 2054s] [332/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackCueBinding.cpp.o [ 2055s] [333/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackCueListBinding.cpp.o [ 2055s] [334/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackListBinding.cpp.o [ 2055s] [335/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingSecurity.cpp.o [ 2055s] [336/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TransitionEventInitBinding.cpp.o [ 2055s] [337/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchInitBinding.cpp.o [ 2055s] [338/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchListBinding.cpp.o [ 2055s] [339/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TimeRangesBinding.cpp.o [ 2055s] [340/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/StyleSheetBinding.cpp.o [ 2055s] [341/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/UIEventInitBinding.cpp.o [ 2055s] [342/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowOrServiceWorkerBinding.cpp.o [ 2056s] [343/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/UIEventBinding.cpp.o [ 2056s] [344/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TransitionEventBinding.cpp.o [ 2056s] [345/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchBinding.cpp.o [ 2056s] [346/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/URLSearchParamsCustomBinding.cpp.o [ 2056s] [347/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ShadowRootBinding.cpp.o [ 2056s] [348/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchEventBinding.cpp.o [ 2056s] [349/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/URLBinding.cpp.o [ 2056s] [350/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextBinding.cpp.o [ 2056s] [351/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptWrappable.cpp.o [ 2056s] [352/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/URLSearchParamsBinding.cpp.o [ 2056s] [353/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingInstance.cpp.o [ 2056s] [354/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/doubleOrCSSNumericValueBinding.cpp.o [ 2056s] [355/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/doubleOrAutoKeywordBinding.cpp.o [ 2057s] [356/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLHttpRequestUploadBinding.cpp.o [ 2057s] [357/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/StorageNamespaceImpl.cpp.o [ 2057s] [358/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLHttpRequestEventTargetBinding.cpp.o [ 2057s] [359/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WebViewHoldable.cpp.o [ 2057s] [360/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/StorageManager.cpp.o [ 2057s] [361/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/CubicBezier.cpp.o [ 2057s] [362/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TreeWalkerBinding.cpp.o [ 2057s] [363/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/Animation.cpp.o [ 2057s] [364/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowHoldable.cpp.o [ 2058s] [365/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/WebStorageNamespaceProvider.cpp.o [ 2058s] [366/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/StorageImpl.cpp.o [ 2058s] [367/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/VTTCueBinding.cpp.o [ 2058s] [368/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/TimingFunction.cpp.o [ 2058s] [369/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowBinding.cpp.o [ 2059s] [370/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicyDirectiveList.cpp.o [ 2059s] [371/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLHttpRequestBinding.cpp.o [ 2059s] [372/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CloseEvent.cpp.o [ 2059s] [373/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/AnimationEvent.cpp.o [ 2059s] [374/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowProxy.cpp.o [ 2059s] [375/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicy.cpp.o [ 2059s] [376/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicySourceListDirective.cpp.o [ 2059s] [377/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLDocumentBinding.cpp.o [ 2059s] [378/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMException.cpp.o [ 2059s] [379/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrixInit.cpp.o [ 2059s] [380/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Attribute.cpp.o [ 2059s] [381/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CSS.cpp.o [ 2059s] [382/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMPoint.cpp.o [ 2060s] [383/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMStringMap.cpp.o [ 2060s] [384/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMPointReadOnly.cpp.o [ 2060s] [385/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/history/HistoryManager.cpp.o [ 2060s] [386/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowCustomBinding.cpp.o [ 2060s] [387/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMQuad.cpp.o [ 2060s] [388/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRect.cpp.o [ 2060s] [389/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRectReadOnly.cpp.o [ 2060s] [390/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRectList.cpp.o [ 2060s] [391/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMTokenList.cpp.o [ 2060s] [392/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/TimingOptions.cpp.o [ 2060s] [393/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Comment.cpp.o [ 2061s] [394/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrix.cpp.o [ 2061s] [395/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMImplementation.cpp.o [ 2061s] [396/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CDATASection.cpp.o [ 2061s] [397/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Attr.cpp.o [ 2062s] [398/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Event.cpp.o [ 2062s] [399/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ExecutionContext.cpp.o [ 2062s] [400/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMStringList.cpp.o [ 2062s] [401/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CharacterData.cpp.o [ 2062s] [402/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DocumentFragment.cpp.o [ 2063s] [403/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/AnimationUtil.cpp.o [ 2063s] [404/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMParser.cpp.o [ 2063s] [405/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLCollection.cpp.o [ 2063s] [406/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLBaseElement.cpp.o [ 2063s] [407/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrixReadOnly.cpp.o [ 2063s] [408/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLAreaElement.cpp.o [ 2063s] [409/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLButtonElement.cpp.o [ 2064s] [410/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFieldSetElement.cpp.o [ 2064s] [411/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDialogElement.cpp.o [ 2064s] [412/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/WebOrigin.cpp.o [ 2064s] [413/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDivElement.cpp.o [ 2064s] [414/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFormControlsCollection.cpp.o [ 2064s] [415/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/AnimationTask.cpp.o [ 2065s] [416/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFontElement.cpp.o [ 2065s] [417/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLAnchorElement.cpp.o [ 2065s] [418/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLInputElement.cpp.o [ 2065s] [419/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLabelElement.cpp.o [ 2065s] [420/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLBodyElement.cpp.o [ 2065s] [421/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLIElement.cpp.o [ 2065s] [422/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLegendElement.cpp.o [ 2065s] [423/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMapElement.cpp.o [ 2065s] [424/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHyperlinkContainer.cpp.o [ 2065s] [425/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/EventTarget.cpp.o [ 2066s] [426/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDocument.cpp.o [ 2066s] [427/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHeadingElement.cpp.o [ 2066s] [428/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHtmlElement.cpp.o [ 2066s] [429/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLListContainer.cpp.o [ 2066s] [430/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLIFrameElement.cpp.o [ 2067s] [431/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOListElement.cpp.o [ 2067s] [432/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLModElement.cpp.o [ 2067s] [433/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLinkElement.cpp.o [ 2067s] [434/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLElement.cpp.o [ 2067s] [435/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFormElement.cpp.o [ 2067s] [436/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptGroupElement.cpp.o [ 2067s] [437/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLObjectElement.cpp.o [ 2068s] [438/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLImageElement.cpp.o [ 2068s] [439/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMetaElement.cpp.o [ 2068s] [440/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptionElement.cpp.o [ 2068s] [441/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Element.cpp.o [ 2068s] [442/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLQuoteElement.cpp.o [ 2068s] [443/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOutputElement.cpp.o [ 2068s] [444/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptionsCollection.cpp.o [ 2068s] [445/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableCaptionElement.cpp.o [ 2068s] [446/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLParamElement.cpp.o [ 2069s] [447/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMediaElement.cpp.o [ 2069s] [448/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLSourceElement.cpp.o [ 2069s] [449/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ImageBitmapOptions.cpp.o [ 2069s] [450/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ImageBitmap.cpp.o [ 2069s] [451/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/KeyboardEvent.cpp.o [ 2069s] [452/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableCellElement.cpp.o [ 2069s] [453/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableColGroupElement.cpp.o [ 2069s] [454/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableColElement.cpp.o [ 2070s] [455/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTablePartElement.cpp.o [ 2070s] [456/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLUnknownElement.cpp.o [ 2070s] [457/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLScriptElement.cpp.o [ 2070s] [458/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTextAreaElement.cpp.o [ 2070s] [459/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableSectionElement.cpp.o [ 2070s] [460/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableRowElement.cpp.o [ 2070s] [461/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasPath.cpp.o [ 2070s] [462/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/Path2D.cpp.o [ 2070s] [463/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/MessageChannel.cpp.o [ 2070s] [464/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext.cpp.o [ 2070s] [465/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext2D.cpp.o [ 2070s] [466/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext2DMixIn.cpp.o [ 2070s] [467/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/HTMLCanvasElement.cpp.o [ 2070s] [468/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageBitmapRenderingContext.cpp.o [ 2070s] [469/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageData.cpp.o [ 2070s] [470/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Document.cpp.o [ 2070s] [471/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLVideoElement.cpp.o [ 2070s] [472/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/TextMetrics.cpp.o [ 2070s] [473/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/WebGLRenderingContext.cpp.o [ 2070s] [474/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableElement.cpp.o [ 2070s] [475/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLUListElement.cpp.o [ 2071s] [476/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/MessagePort.cpp.o [ 2071s] [477/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTitleElement.cpp.o [ 2071s] [478/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTrackElement.cpp.o [ 2071s] [479/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLStyleElement.cpp.o [ 2071s] [480/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLSelectElement.cpp.o [ 2072s] [481/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackCueList.cpp.o [ 2072s] [482/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeIterator.cpp.o [ 2072s] [483/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TransitionEvent.cpp.o [ 2072s] [484/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTextEditable.cpp.o [ 2072s] [485/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/UIEvent.cpp.o [ 2072s] [486/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeList.cpp.o [ 2072s] [487/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeListImpl.cpp.o [ 2072s] [488/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasImageSource.cpp.o [ 2072s] [489/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ProcessingInstruction.cpp.o [ 2073s] [490/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NamedNodeMap.cpp.o [ 2073s] [491/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntitySearch.cpp.o [ 2073s] [492/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/SelectorQuery.cpp.o [ 2073s] [493/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntityParser.cpp.o [ 2073s] [494/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Range.cpp.o [ 2073s] [495/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntityTable.cpp.o [ 2073s] [496/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Text.cpp.o [ 2073s] [497/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasPattern.cpp.o [ 2073s] [498/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageSmoothingQuality.cpp.o [ 2073s] [499/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedCanvas.cpp.o [ 2073s] [500/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasGradient.cpp.o [ 2073s] [501/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLElementLookupTrie.cpp.o [ 2073s] [502/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackList.cpp.o [ 2074s] [503/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Touch.cpp.o [ 2074s] [504/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Avplay.cpp.o [ 2074s] [505/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackCue.cpp.o [ 2074s] [506/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TouchEvent.cpp.o [ 2074s] [507/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrack.cpp.o [ 2074s] [508/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLParserIdioms.cpp.o [ 2074s] [509/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TouchList.cpp.o [ 2074s] [510/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TreeWalker.cpp.o [ 2075s] [511/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/PseudoElement.cpp.o [ 2075s] [512/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLElementStack.cpp.o [ 2075s] [513/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLConstructionSite.cpp.o [ 2075s] [514/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLFormattingElementList.cpp.o [ 2076s] [515/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Node.cpp.o [ 2076s] [516/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLStackItem.cpp.o [ 2076s] [517/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLParser.cpp.o [ 2076s] [518/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLTokenizer.cpp.o [ 2076s] [519/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/MimeType.cpp.o [ 2076s] [520/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLTreeBuilder.cpp.o [ 2076s] [521/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/builder/html/HTMLDocumentBuilder.cpp.o [ 2076s] [522/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/TimeRanges.cpp.o [ 2076s] [523/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/inspector/Inspector.cpp.o [ 2077s] [524/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/PreloadScanner.cpp.o [ 2077s] [525/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Scrolling.cpp.o [ 2077s] [526/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedLength.cpp.o [ 2077s] [527/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Console.cpp.o [ 2077s] [528/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPathElement.cpp.o [ 2077s] [529/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGDocument.cpp.o [ 2077s] [530/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Fetch.cpp.o [ 2077s] [531/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Body.cpp.o [ 2077s] [532/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGElement.cpp.o [ 2077s] [533/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGImageElement.cpp.o [ 2077s] [534/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/FetchUtils.cpp.o [ 2077s] [535/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPolygonElement.cpp.o [ 2077s] [536/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLineElement.cpp.o [ 2077s] [537/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGCircleElement.cpp.o [ 2078s] [538/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGEllipseElement.cpp.o [ 2078s] [539/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/HeadersData.cpp.o [ 2078s] [540/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/RequestData.cpp.o [ 2078s] [541/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPolylineElement.cpp.o [ 2078s] [542/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGSVGElement.cpp.o [ 2078s] [543/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGClipPathElement.cpp.o [ 2078s] [544/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Request.cpp.o [ 2078s] [545/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Headers.cpp.o [ 2078s] [546/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGRectElement.cpp.o [ 2078s] [547/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/ResponseData.cpp.o [ 2078s] [548/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/xml/XMLSerializer.cpp.o [ 2078s] [549/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Response.cpp.o [ 2079s] [550/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTextElement.cpp.o [ 2079s] [551/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStream.cpp.o [ 2079s] [552/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamDefaultReader.cpp.o [ 2079s] [553/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamBuffer.cpp.o [ 2079s] [554/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGUseElement.cpp.o [ 2079s] [555/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fileapi/Blob.cpp.o [ 2079s] [556/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLength.cpp.o [ 2079s] [557/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGStyleElement.cpp.o [ 2080s] [558/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamDefaultController.cpp.o [ 2080s] [559/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGScriptElement.cpp.o [ 2083s] [560/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameQuoteText.cpp.o [ 2083s] [561/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameInline.cpp.o [ 2083s] [562/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameCounterText.cpp.o [ 2084s] [563/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBoxBlockLayout.cpp.o [ 2084s] [564/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameButtonBox.cpp.o [ 2084s] [565/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameOptGroupBox.cpp.o [ 2084s] [566/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableObjectBox.cpp.o [ 2084s] [567/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameDocument.cpp.o [ 2084s] [568/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedIFrame.cpp.o [ 2084s] [569/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/battery/Battery.cpp.o [ 2084s] [570/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableColBox.cpp.o [ 2084s] [571/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameOptionBox.cpp.o [ 2084s] [572/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedVideo.cpp.o [ 2085s] [573/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameSelectBox.cpp.o [ 2085s] [574/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableCaptionBox.cpp.o [ 2085s] [575/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableCellBox.cpp.o [ 2085s] [576/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplaced.cpp.o [ 2085s] [577/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedObject.cpp.o [ 2085s] [578/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBox.cpp.o [ 2085s] [579/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastApplication.cpp.o [ 2085s] [580/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameInputBox.cpp.o [ 2085s] [581/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastConfig.cpp.o [ 2085s] [582/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/DIALRunnable.cpp.o [ 2085s] [583/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastServer.cpp.o [ 2085s] [584/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/SSDPRunnable.cpp.o [ 2085s] [585/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableSectionBox.cpp.o [ 2085s] [586/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGLineBox.cpp.o [ 2085s] [587/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedImage.cpp.o [ 2085s] [588/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableBox.cpp.o [ 2086s] [589/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGCircleBox.cpp.o [ 2086s] [590/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/LayoutRepaintTracker.cpp.o [ 2086s] [591/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGBox.cpp.o [ 2086s] [592/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableRowBox.cpp.o [ 2086s] [593/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaDevices.cpp.o [ 2086s] [594/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaStream.cpp.o [ 2086s] [595/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaStreamTrack.cpp.o [ 2086s] [596/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGClipPathBox.cpp.o [ 2086s] [597/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameFlexibleBox.cpp.o [ 2086s] [598/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCCertificate.cpp.o [ 2086s] [599/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDataChannel.cpp.o [ 2086s] [600/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCConfiguration.cpp.o [ 2086s] [601/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGInvisibleBox.cpp.o [ 2086s] [602/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDtlsTransport.cpp.o [ 2086s] [603/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDataChannelEvent.cpp.o [ 2086s] [604/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCError.cpp.o [ 2086s] [605/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceServer.cpp.o [ 2086s] [606/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceCandidate.cpp.o [ 2086s] [607/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceTransport.cpp.o [ 2086s] [608/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnectionIceErrorEvent.cpp.o [ 2086s] [609/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnection.cpp.o [ 2086s] [610/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnectionIceEvent.cpp.o [ 2086s] [611/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCSctpTransport.cpp.o [ 2086s] [612/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpReceiver.cpp.o [ 2086s] [613/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpSender.cpp.o [ 2086s] [614/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpTransceiver.cpp.o [ 2086s] [615/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/RepaintRegionTracker.cpp.o [ 2086s] [616/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCSessionDescription.cpp.o [ 2086s] [617/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCStatsReport.cpp.o [ 2086s] [618/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCTrackEvent.cpp.o [ 2086s] [619/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/WebRtcManager.cpp.o [ 2086s] [620/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/LWSRunnable.cpp.o [ 2086s] [621/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/WebSocket.cpp.o [ 2086s] [622/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/SocketLWS.cpp.o [ 2086s] [623/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/SocketNN.cpp.o [ 2087s] [624/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGEllipseBox.cpp.o [ 2087s] [625/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/CanvasFillStrokeSource.cpp.o [ 2087s] [626/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/Connection.cpp.o [ 2087s] [627/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/ShadowBlur.cpp.o [ 2087s] [628/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameGridBox.cpp.o [ 2087s] [629/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/JobQueue.cpp.o [ 2087s] [630/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/IORunnable.cpp.o [ 2087s] [631/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/image/BufferedNativeImageData.cpp.o [ 2087s] [632/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/Message.cpp.o [ 2087s] [633/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorker.cpp.o [ 2088s] [634/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/BaseRunnable.cpp.o [ 2088s] [635/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerAgent.cpp.o [ 2088s] [636/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerContainer.cpp.o [ 2088s] [637/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTreeBuilder.cpp.o [ 2088s] [638/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/image/ImageDecoder.cpp.o [ 2088s] [639/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBox.cpp.o [ 2088s] [640/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/Frame.cpp.o [ 2088s] [641/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRegistration.cpp.o [ 2088s] [642/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/client/ServiceWorkerClientConnection.cpp.o [ 2088s] [643/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRequest.cpp.o [ 2088s] [644/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerExecutor.cpp.o [ 2088s] [645/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerGlobalScope.cpp.o [ 2088s] [646/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/GeolocationTizen.cpp.o [ 2088s] [647/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/PositionError.cpp.o [ 2088s] [648/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerHostJobHandler.cpp.o [ 2088s] [649/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerServer.cpp.o [ 2088s] [650/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/Notification.cpp.o [ 2088s] [651/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/TextDecorationData.cpp.o [ 2088s] [652/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/NotificationJob.cpp.o [ 2088s] [653/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/NotificationService.cpp.o [ 2088s] [654/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushManager.cpp.o [ 2088s] [655/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushServiceAgent.cpp.o [ 2089s] [656/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushSubscription.cpp.o [ 2089s] [657/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushSubscriptionOptions.cpp.o [ 2089s] [658/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/Compositor.cpp.o [ 2089s] [659/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/StackingContext.cpp.o [ 2089s] [660/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/message_loop/MessageLoop.cpp.o [ 2089s] [661/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPolylineBox.cpp.o [ 2089s] [662/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/message_loop/Timer.cpp.o [ 2089s] [663/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/tts/SpeechSynthesis.cpp.o [ 2089s] [664/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Coordinates.cpp.o [ 2089s] [665/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPathBox.cpp.o [ 2089s] [666/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGSVGBox.cpp.o [ 2089s] [667/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/tts/TextAlternativeHelper.cpp.o [ 2089s] [668/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioBufferSourceNode.cpp.o [ 2089s] [669/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioBuffer.cpp.o [ 2090s] [670/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioContext.cpp.o [ 2090s] [671/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Geoposition.cpp.o [ 2090s] [672/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPolygonBox.cpp.o [ 2090s] [673/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioNode.cpp.o [ 2090s] [674/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioScheduledSourceNode.cpp.o [ 2090s] [675/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/MediaElementAudioSourceNode.cpp.o [ 2090s] [676/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/BaseAudioContext.cpp.o [ 2090s] [677/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WebWorker.cpp.o [ 2090s] [678/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerGlobalScope.cpp.o [ 2090s] [679/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerLocation.cpp.o [ 2090s] [680/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerNavigator.cpp.o [ 2090s] [681/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerScriptController.cpp.o [ 2090s] [682/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ErrorData.cpp.o [ 2090s] [683/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGRectBox.cpp.o [ 2090s] [684/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/MessageServiceWorker.cpp.o [ 2090s] [685/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/profiling/Profiling.cpp.o [ 2090s] [686/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/Canvas.cpp.o [ 2090s] [687/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerJob.cpp.o [ 2090s] [688/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/RegistrationOptions.cpp.o [ 2090s] [689/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerJobData.cpp.o [ 2090s] [690/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRegistrationData.cpp.o [ 2090s] [691/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/ResourceRequestJob.cpp.o [ 2090s] [692/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/ResourceRequest.cpp.o [ 2090s] [693/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBoxInlineLayout.cpp.o [ 2090s] [694/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGUseBox.cpp.o [ 2090s] [695/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerData.cpp.o [ 2090s] [696/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/client/ServiceWorkerProcessManager.cpp.o [ 2091s] [697/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/SourceBufferList.cpp.o [ 2091s] [698/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/MediaSource.cpp.o [ 2091s] [699/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGTextBox.cpp.o [ 2091s] [700/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerHostConnection.cpp.o [ 2091s] [701/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/NetworkURLResourceRequestJobDelegate.cpp.o [ 2091s] [702/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Geolocation.cpp.o [ 2091s] [703/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Mutex.cpp.o [ 2091s] [704/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/AdaptedThread.cpp.o [ 2091s] [705/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Semaphore.cpp.o [ 2092s] [706/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/font/Font.cpp.o [ 2092s] [707/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameTreeBuilderSVG.cpp.o [ 2092s] [708/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/profiling/LayoutFlowLoggerBuilder.cpp.o [ 2092s] [709/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/ThreadPool.cpp.o [ 2092s] [710/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Thread.cpp.o [ 2092s] [711/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/EventSourceParser.cpp.o [ 2093s] [712/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WindowOrWorkerGlobalScope.cpp.o [ 2093s] [713/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/NavigatorMixin.cpp.o [ 2093s] [714/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/BorderImage.cpp.o [ 2093s] [715/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/file/Directory.cpp.o [ 2093s] [716/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/storage/Storage.cpp.o [ 2093s] [717/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSLength.cpp.o [ 2093s] [718/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSKeywordValue.cpp.o [ 2093s] [719/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSGradientValue.cpp.o [ 2094s] [720/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSAngle.cpp.o [ 2094s] [721/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSProperty.cpp.o [ 2094s] [722/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WebBase.cpp.o [ 2094s] [723/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSFilterFunction.cpp.o [ 2094s] [724/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/SourceBuffer.cpp.o [ 2094s] [725/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Serializer.cpp.o [ 2094s] [726/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleLookupTrie.cpp.o [ 2095s] [727/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSRuleList.cpp.o [ 2095s] [728/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/AncestorSelectorFilter.cpp.o [ 2095s] [729/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Navigator.cpp.o [ 2095s] [730/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSNumericValue.cpp.o [ 2095s] [731/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CalcData.cpp.o [ 2095s] [732/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Screen.cpp.o [ 2095s] [733/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ImageValue.cpp.o [ 2095s] [734/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSTime.cpp.o [ 2095s] [735/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CounterStyle.cpp.o [ 2095s] [736/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSVariableSyntaxTreeBuilder.cpp.o [ 2095s] [737/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleValue.cpp.o [ 2095s] [738/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Archivable.cpp.o [ 2095s] [739/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ContentData.cpp.o [ 2096s] [740/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Archiver.cpp.o [ 2096s] [741/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/EventSource.cpp.o [ 2096s] [742/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSUnitValue.cpp.o [ 2096s] [743/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ListStyleData.cpp.o [ 2096s] [744/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/History.cpp.o [ 2096s] [745/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Location.cpp.o [ 2097s] [746/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryEvaluator.cpp.o [ 2097s] [747/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/ProgramOptions.cpp.o [ 2097s] [748/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/NamedColors.cpp.o [ 2097s] [749/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQuery.cpp.o [ 2097s] [750/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/PositionedMaskData.cpp.o [ 2097s] [751/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleRule.cpp.o [ 2097s] [752/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/FilterFunctions.cpp.o [ 2097s] [753/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ShadowData.cpp.o [ 2098s] [754/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSParser.cpp.o [ 2098s] [755/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/UnitHelper.cpp.o [ 2098s] [756/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Unit.cpp.o [ 2098s] [757/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/launcher/WebWorkerEntry.cpp.o [ 2098s] [758/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleSheet.cpp.o [ 2098s] [759/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Id.cpp.o [ 2098s] [760/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryList.cpp.o [ 2098s] [761/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleAnimationData.cpp.o [ 2098s] [762/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleTransitionData.cpp.o [ 2098s] [763/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleBackgroundData.cpp.o [ 2098s] [764/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Cryptographic.cpp.o [ 2098s] [765/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/GlobalOptions.cpp.o [ 2099s] [766/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Message.cpp.o [ 2099s] [767/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaList.cpp.o [ 2099s] [768/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/LineBreakerIteratorPool.cpp.o [ 2099s] [769/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/AtomicString.cpp.o [ 2099s] [770/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryListMatcher.cpp.o [ 2099s] [771/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/AttributeName.cpp.o [ 2099s] [772/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQuerySet.cpp.o [ 2099s] [773/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Window.cpp.o [ 2099s] [774/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/RandomEngine.cpp.o [ 2099s] [775/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/GradientData.cpp.o [ 2099s] [776/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Length.cpp.o [ 2099s] [777/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleSheet.cpp.o [ 2100s] [778/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/TextConverter.cpp.o [ 2100s] [779/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/QualifiedName.cpp.o [ 2100s] [780/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/BrowsingContext.cpp.o [ 2100s] [781/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleSheetList.cpp.o [ 2100s] [782/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaValues.cpp.o [ 2101s] [783/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasCairoUtils.cpp.o [ 2101s] [784/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasMock.cpp.o [ 2101s] [785/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasSkia.cpp.o [ 2101s] [786/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopEFL.cpp.o [ 2101s] [787/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathMock.cpp.o [ 2101s] [788/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopWindows.cpp.o [ 2101s] [789/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/hb-icu/HarfBuzzICU.cpp.o [ 2101s] [790/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/URLSearchParams.cpp.o [ 2101s] [791/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorGL.cpp.o [ 2101s] [792/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplMock.cpp.o [ 2101s] [793/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorSkia.cpp.o [ 2101s] [794/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WebView.cpp.o [ 2101s] [795/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleRule.cpp.o [ 2101s] [796/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathSkia.cpp.o [ 2101s] [797/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ComputedStyle.cpp.o [ 2102s] [798/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/String.cpp.o [ 2102s] [799/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplSkia.cpp.o [ 2102s] [800/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorMock.cpp.o [ 2102s] [801/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudioLinux.cpp.o [ 2102s] [802/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudio.cpp.o [ 2102s] [803/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTV.cpp.o [ 2102s] [804/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudioTizen.cpp.o [ 2102s] [805/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtc.cpp.o [ 2102s] [806/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTizen.cpp.o [ 2102s] [807/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTizenBase.cpp.o [ 2102s] [808/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/ImageUtils.cpp.o [ 2102s] [809/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/file/File.cpp.o [ 2102s] [810/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/xml/FormData.cpp.o [ 2102s] [811/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MockMediaPlayer.cpp.o [ 2102s] [812/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathCairo.cpp.o [ 2102s] [813/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtcLinux.cpp.o [ 2102s] [814/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtcTizen.cpp.o [ 2102s] [815/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPCacheEntry.cpp.o [ 2102s] [816/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ComputedStyleCSSStyleDeclaration.cpp.o [ 2102s] [817/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPCache.cpp.o [ 2102s] [818/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorCairo.cpp.o [ 2102s] [819/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/process/base/Process.cpp.o [ 2103s] [820/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/NativeImageDataImpl.cpp.o [ 2103s] [821/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/tts/TTSBase.cpp.o [ 2103s] [822/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/tts/TTSTV.cpp.o [ 2103s] [823/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/webrtc/VideoCapturer.cpp.o [ 2103s] [824/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/AnimatedGIFNativeImageDataImpl.cpp.o [ 2103s] [825/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/HeaderResource.cpp.o [ 2103s] [826/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/CompressedNativeImageDataImpl.cpp.o [ 2103s] [827/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerWindows.cpp.o [ 2103s] [828/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/xml/XMLHttpRequest.cpp.o [ 2104s] [829/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ResourceURL.cpp.o [ 2104s] [830/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopLibUV.cpp.o [ 2104s] [831/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/URL.cpp.o [ 2104s] [832/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinWindows.cpp.o [ 2104s] [833/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinEFL.cpp.o [ 2104s] [834/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/android/AndroidBridge.cpp.o [ 2104s] [835/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/DemuxerWebM.cpp.o [ 2104s] [836/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerEFL.cpp.o [ 2104s] [837/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/StreamInfo.cpp.o [ 2104s] [838/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerLibUV.cpp.o [ 2104s] [839/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/Demuxer.cpp.o [ 2104s] [840/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWEWebView.cpp.o [ 2104s] [841/880] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/WebWidgetAPIInstance.cpp.o [ 2104s] [842/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MP4PacketGenerator.cpp.o [ 2105s] [843/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/curl/NetworkSharedResourceManager.cpp.o [ 2105s] [844/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPRequest.cpp.o [ 2105s] [845/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/TextResource.cpp.o [ 2105s] [846/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPTransaction.cpp.o [ 2105s] [847/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPResponse.cpp.o [ 2105s] [848/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/DemuxerMP4.cpp.o [ 2105s] [849/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/FontResource.cpp.o [ 2105s] [850/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPHeaderMap.cpp.o [ 2105s] [851/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/public/DeviceInfo.cpp.o [ 2105s] [852/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPUtil.cpp.o [ 2105s] [853/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinLibUV.cpp.o [ 2105s] [854/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasCairo.cpp.o [ 2105s] [855/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/SVGNativeImageDataImpl.cpp.o [ 2105s] [856/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/Resource.cpp.o [ 2105s] [857/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ElementResourceClient.cpp.o [ 2105s] [858/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplGL.cpp.o [ 2105s] [859/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplCairo.cpp.o [ 2105s] [860/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplHeadless.cpp.o [ 2106s] [861/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/VirtualCursorData.cpp.o [ 2106s] [862/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ImageResource.cpp.o [ 2106s] [863/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWE.cpp.o [ 2106s] [864/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/JavaScriptNativeHandler.cpp.o [ 2106s] [865/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/efl/LWEWebViewEFL.cpp.o [ 2106s] [866/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/ecore_wayland2/LWEWebViewEcoreWayland2.cpp.o [ 2106s] [867/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/glfw/LWEWebViewGLFW.cpp.o [ 2107s] [868/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayer.cpp.o [ 2107s] [869/880] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/ExtensionManager.cpp.o [ 2107s] [870/880] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/ExtensionAdapter.cpp.o [ 2107s] [871/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplGB.cpp.o [ 2107s] [872/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleDeclaration.cpp.o [ 2107s] [873/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/dali/LWEWebViewDALi.cpp.o [ 2107s] [874/880] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/TizenDeviceAPILoaderForEscargot.cpp.o [ 2107s] [875/880] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/Extension.cpp.o [ 2107s] [876/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ResourceLoader.cpp.o [ 2108s] [877/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/PlatformWindow.cpp.o [ 2109s] [878/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWEWebContainer.cpp.o [ 2111s] [879/880] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Style.cpp.o [ 2631s] [880/880] Linking CXX shared library out_tizen/unified_mobile/release/lib/liblightweight-web-engine-dali-plugin.mobile.so [ 2631s] + rm -f CMakeCache.txt [ 2631s] + cmake CMakeLists.txt -DMODE=release -DHOST=tizen -DARCH=arm -DCUSTOM=unified_mobile -DBACKEND=efl_cairo_gl -DLTO=1 -DTARGETNAME=lightweight-web-engine.mobile -G Ninja [ 2631s] -- The C compiler identification is GNU 9.2.0 [ 2631s] -- The CXX compiler identification is GNU 9.2.0 [ 2631s] -- Check for working C compiler: /bin/cc [ 2631s] -- Check for working C compiler: /bin/cc -- works [ 2631s] -- Detecting C compiler ABI info [ 2631s] -- Detecting C compiler ABI info - done [ 2631s] -- Detecting C compile features [ 2632s] -- Detecting C compile features - done [ 2632s] -- Check for working CXX compiler: /bin/c++ [ 2632s] -- Check for working CXX compiler: /bin/c++ -- works [ 2632s] -- Detecting CXX compiler ABI info [ 2632s] -- Detecting CXX compiler ABI info - done [ 2632s] -- Detecting CXX compile features [ 2632s] -- Detecting CXX compile features - done [ 2632s] -- Found PkgConfig: /bin/pkg-config (found version "0.28") [ 2632s] -- Checking for modules 'libpng;freetype2;fontconfig;harfbuzz;elementary;ecore;ecore-imf' [ 2633s] -- Found libpng, version 1.6.37 [ 2633s] -- Found freetype2, version 23.1.17 [ 2633s] -- Found fontconfig, version 2.13.1 [ 2633s] -- Found harfbuzz, version 2.6.4 [ 2633s] -- Found elementary, version 1.24.99 [ 2634s] -- Found ecore, version 1.24.99 [ 2634s] -- Found ecore-imf, version 1.24.99 [ 2637s] -- Checking for module 'ecore-imf-evas' [ 2637s] -- Found ecore-imf-evas, version 1.24.99 [ 2638s] -- Checking for module 'libtbm' [ 2638s] -- Found libtbm, version 3.0.0 [ 2638s] -- Checking for module 'cairo' [ 2639s] -- Found cairo, version 1.14.2 [ 2639s] -- Checking for modules 'capi-media-player;capi-network-connection' [ 2640s] -- Found capi-media-player, version [ 2640s] -- Found capi-network-connection, version [ 2640s] -- Looking for cap_set_flag in cap [ 2640s] -- Looking for cap_set_flag in cap - not found [ 2640s] -- Checking for module 'dlog' [ 2641s] -- Found dlog, version 1.0 [ 2641s] -- Starfish [ 2641s] -- 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--param=ssp-buffer-size=4-march=armv7-a-mtune=cortex-a8-mlittle-endian-mfpu=neon-mfloat-abi=softfp-mthumb-Wp,-D__SOFTFP__-Wl,-O1-Wl,--hash-style=gnu-Wa,-mimplicit-it=thumb-g-DSTARFISH_TIZEN_MAJOR_VERSION=6-DSTARFISH_TIZEN_VERSION_6_0 [ 2641s] -- LIBRARIES: clipperescargotmp4parsewebmskia_matrixpthreadcurlsslcryptojpeggifturbojpegrtdlcapi-location-manager-Wl,-soname,liblightweight-web-engine.so.1png16zfontconfigfreetypeharfbuzzelementaryecore_evasecore_fileecore_conedjeevasectorluameldbusethumb_clientethumbemotionefreeteioeetemileecoreeflecore_imfecore_inputeoeinapthreadmrtdlcairoecore_imf_evasefleoeinapthreadmrtdltbmcapi-base-commoncapi-media-playercapi-media-tooltbmcapi-media-sound-managercapi-network-connectioncapi-base-common [ 2641s] -- 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 [ 2641s] -- LDFLAGS: -Wl,--gc-sections-Wl,-rpath=/usr/local/lib-flto [ 2641s] -- 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/freetype2/usr/include/libpng16/usr/include/fribidi/usr/include/harfbuzz/usr/include/ector-1/usr/include/efreet-1/usr/include/eio-1/usr/include/efreet-1/usr/include/ecore-ipc-1/usr/include/ecore-imf-1/usr/include/ecore-input-1/usr/include/eeze-1/usr/include/libmount/usr/include/blkid/usr/include/ecore-file-1/usr/include/ecore-con-1/usr/include/eldbus-1/usr/include/dbus-1.0/usr/lib/dbus-1.0/include/usr/include/eet-1/usr/include/emile-1/usr/include/ecore-1/usr/include/glib-2.0/usr/lib/glib-2.0/include/usr/include/efl-1/usr/include/efl-1/interfaces/usr/include/eo-1/usr/include/eina-1/usr/include/eina-1/eina/usr/include/dlog/usr/include/cairo/usr/include/pixman-1/usr/include/ecore-evas-1/usr/include/ecore-input-evas-1/usr/include/ecore-input-1/usr/include/eeze-1/usr/include/libmount/usr/include/blkid/usr/include/ecore-file-1/usr/include/ecore-con-1/usr/include/eldbus-1/usr/include/dbus-1.0/usr/lib/dbus-1.0/include/usr/include/evas-1/usr/include/evas-1/canvas/usr/include/evas-1/gesture/usr/include/uuid/usr/include/freetype2/usr/include/fribidi/usr/include/harfbuzz/usr/include/ecore-1/usr/include/glib-2.0/usr/lib/glib-2.0/include/usr/include/ector-1/usr/include/eet-1/usr/include/emile-1/usr/include/efl-1/usr/include/efl-1/interfaces/usr/include/eo-1/usr/include/eina-1/usr/include/eina-1/eina/usr/include/dlog/usr/include/libpng16/usr/include/ecore-imf-evas-1/usr/include/ecore-imf-1/usr/include/ecore-input-1/usr/include/eeze-1/usr/include/libmount/usr/include/blkid/usr/include/ecore-file-1/usr/include/ecore-con-1/usr/include/eldbus-1/usr/include/dbus-1.0/usr/lib/dbus-1.0/include/usr/include/evas-1/usr/include/evas-1/canvas/usr/include/evas-1/gesture/usr/include/uuid/usr/include/freetype2/usr/include/libpng16/usr/include/fribidi/usr/include/harfbuzz/usr/include/ecore-1/usr/include/glib-2.0/usr/lib/glib-2.0/include/usr/include/ector-1/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/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/arm/release/include [ 2641s] -- Configuring done [ 2641s] -- Generating done [ 2641s] -- Build files have been written to: /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0 [ 2641s] + ninja starfish.shared_library [ 2642s] [1/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioNodeBinding.cpp.o [ 2642s] [2/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BufferSourceOrDOMStringBinding.cpp.o [ 2642s] [3/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferBinding.cpp.o [ 2642s] [4/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioDestinationNodeBinding.cpp.o [ 2642s] [5/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BaseAudioContextBinding.cpp.o [ 2642s] [6/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferOptionsBinding.cpp.o [ 2642s] [7/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BatteryManagerBinding.cpp.o [ 2642s] [8/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioScheduledSourceNodeBinding.cpp.o [ 2642s] [9/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferSourceOptionsBinding.cpp.o [ 2642s] [10/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferSourceNodeBinding.cpp.o [ 2642s] [11/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioContextBinding.cpp.o [ 2642s] [12/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioContextOptionsBinding.cpp.o [ 2645s] [13/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BufferSourceOrBlobOrDOMStringBinding.cpp.o [ 2645s] [14/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSNumericTypeBinding.cpp.o [ 2645s] [15/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BlobOrBufferSourceOrUSVStringOrReadableStreamBinding.cpp.o [ 2645s] [16/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasImageSourceOrBlobOrImageDataBinding.cpp.o [ 2645s] [17/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasRenderingContext2DOrWebGLRenderingContextOrImageBitmapRenderingContextBinding.cpp.o [ 2645s] [18/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSConditionRuleBinding.cpp.o [ 2645s] [19/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasRenderingContext2DBinding.cpp.o [ 2645s] [20/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BlobCustomBinding.cpp.o [ 2645s] [21/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSImportRuleBinding.cpp.o [ 2645s] [22/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSNumericValueBinding.cpp.o [ 2645s] [23/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AnimationEventBinding.cpp.o [ 2645s] [24/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSCounterStyleRuleBinding.cpp.o [ 2645s] [25/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPTransaction.cpp.o [ 2645s] [26/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AnimationBinding.cpp.o [ 2645s] [27/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPHeaderMap.cpp.o [ 2645s] [28/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasGradientBinding.cpp.o [ 2646s] [29/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSBinding.cpp.o [ 2646s] [30/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleValueBinding.cpp.o [ 2646s] [31/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AnimationEventInitBinding.cpp.o [ 2646s] [32/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSNamespaceRuleBinding.cpp.o [ 2646s] [33/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BlobBinding.cpp.o [ 2646s] [34/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPRequest.cpp.o [ 2646s] [35/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ArrayBufferViewOrArrayBufferBinding.cpp.o [ 2646s] [36/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/StaticStrings.cpp.o [ 2646s] [37/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSFontFaceRuleBinding.cpp.o [ 2646s] [38/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSRuleBinding.cpp.o [ 2646s] [39/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSUnitValueBinding.cpp.o [ 2646s] [40/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSKeyframeRuleBinding.cpp.o [ 2646s] [41/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSMediaRuleBinding.cpp.o [ 2646s] [42/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleDeclarationBinding.cpp.o [ 2646s] [43/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSSupportsRuleBinding.cpp.o [ 2646s] [44/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMPointReadOnlyBinding.cpp.o [ 2646s] [45/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSKeywordValueBinding.cpp.o [ 2646s] [46/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleRuleBinding.cpp.o [ 2647s] [47/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/Starfish.cpp.o [ 2647s] [48/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CDATASectionBinding.cpp.o [ 2647s] [49/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSKeyframesRuleBinding.cpp.o [ 2647s] [50/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSRuleListBinding.cpp.o [ 2647s] [51/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSGroupingRuleBinding.cpp.o [ 2647s] [52/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AttrBinding.cpp.o [ 2648s] [53/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleSheetBinding.cpp.o [ 2648s] [54/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasPatternBinding.cpp.o [ 2648s] [55/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CloseEventInitBinding.cpp.o [ 2648s] [56/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CustomEventInitBinding.cpp.o [ 2648s] [57/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CoordinatesBinding.cpp.o [ 2648s] [58/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CompositionEventInitBinding.cpp.o [ 2649s] [59/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrix2DInitBinding.cpp.o [ 2649s] [60/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMPointInitBinding.cpp.o [ 2649s] [61/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CloseEventBinding.cpp.o [ 2649s] [62/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMExceptionBinding.cpp.o [ 2649s] [63/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CompositionEventBinding.cpp.o [ 2649s] [64/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMRectListBinding.cpp.o [ 2649s] [65/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrMediaStreamTrackBinding.cpp.o [ 2649s] [66/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CustomEventBinding.cpp.o [ 2649s] [67/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrCanvasGradientOrCanvasPatternBinding.cpp.o [ 2649s] [68/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrSequenceOfdoubleBinding.cpp.o [ 2649s] [69/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrixInitBinding.cpp.o [ 2650s] [70/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMRectReadOnlyBinding.cpp.o [ 2650s] [71/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrFunctionBinding.cpp.o [ 2650s] [72/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringListBinding.cpp.o [ 2650s] [73/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrRTCOAuthCredentialBinding.cpp.o [ 2650s] [74/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMTokenListBinding.cpp.o [ 2650s] [75/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMPointBinding.cpp.o [ 2650s] [76/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMRectBinding.cpp.o [ 2650s] [77/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrSequenceOfDOMStringBinding.cpp.o [ 2650s] [78/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CharacterDataCustomBinding.cpp.o [ 2650s] [79/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrixReadOnlyBinding.cpp.o [ 2650s] [80/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceTransportBinding.cpp.o [ 2650s] [81/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CharacterDataBinding.cpp.o [ 2650s] [82/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLCanvasElementBinding.cpp.o [ 2650s] [83/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringMapBinding.cpp.o [ 2650s] [84/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CommentBinding.cpp.o [ 2650s] [85/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMQuadBinding.cpp.o [ 2650s] [86/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMImplementationBinding.cpp.o [ 2651s] [87/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrixBinding.cpp.o [ 2651s] [88/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ErrorEventBinding.cpp.o [ 2651s] [89/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMParserBinding.cpp.o [ 2651s] [90/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EffectTimingBinding.cpp.o [ 2652s] [91/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ErrorEventInitBinding.cpp.o [ 2652s] [92/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventOrDOMStringBinding.cpp.o [ 2652s] [93/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventTargetBinding.cpp.o [ 2652s] [94/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventInitBinding.cpp.o [ 2652s] [95/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventModifierInitBinding.cpp.o [ 2652s] [96/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpTransceiverBinding.cpp.o [ 2652s] [97/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventSourceInitBinding.cpp.o [ 2652s] [98/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventSourceBinding.cpp.o [ 2652s] [99/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GeopositionBinding.cpp.o [ 2652s] [100/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventBinding.cpp.o [ 2652s] [101/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentCustomBinding.cpp.o [ 2652s] [102/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLImageElementOrSVGImageElementBinding.cpp.o [ 2652s] [103/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FocusEventInitBinding.cpp.o [ 2652s] [104/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLImageElementOrSVGImageElementOrHTMLVideoElementOrHTMLCanvasElementOrImageBitmapBinding.cpp.o [ 2653s] [105/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentFragmentBinding.cpp.o [ 2653s] [106/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentHoldable.cpp.o [ 2653s] [107/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FocusEventBinding.cpp.o [ 2653s] [108/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GeolocationBinding.cpp.o [ 2653s] [109/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentTypeBinding.cpp.o [ 2654s] [110/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GetRootNodeOptionsBinding.cpp.o [ 2654s] [111/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentBinding.cpp.o [ 2654s] [112/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ElementBinding.cpp.o [ 2654s] [113/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLCollectionBinding.cpp.o [ 2654s] [114/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLBRElementBinding.cpp.o [ 2654s] [115/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GeolocationCustomBinding.cpp.o [ 2655s] [116/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDListElementBinding.cpp.o [ 2655s] [117/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FormDataBinding.cpp.o [ 2655s] [118/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLAudioElementBinding.cpp.o [ 2655s] [119/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLAnchorElementBinding.cpp.o [ 2655s] [120/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDialogElementBinding.cpp.o [ 2655s] [121/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDocumentBinding.cpp.o [ 2655s] [122/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLElementOrlongBinding.cpp.o [ 2655s] [123/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLButtonElementBinding.cpp.o [ 2656s] [124/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLBaseElementBinding.cpp.o [ 2656s] [125/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFontElementBinding.cpp.o [ 2656s] [126/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLAreaElementBinding.cpp.o [ 2656s] [127/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLBodyElementBinding.cpp.o [ 2656s] [128/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFieldSetElementBinding.cpp.o [ 2656s] [129/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLElementBinding.cpp.o [ 2656s] [130/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFormControlsCollectionBinding.cpp.o [ 2656s] [131/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDivElementBinding.cpp.o [ 2657s] [132/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFormElementBinding.cpp.o [ 2657s] [133/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLIFrameElementBinding.cpp.o [ 2657s] [134/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLegendElementBinding.cpp.o [ 2657s] [135/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHtmlElementBinding.cpp.o [ 2657s] [136/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHeadingElementBinding.cpp.o [ 2658s] [137/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLInputElementBinding.cpp.o [ 2658s] [138/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOutputElementBinding.cpp.o [ 2658s] [139/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLInputElementCustomBinding.cpp.o [ 2658s] [140/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLImageElementBinding.cpp.o [ 2658s] [141/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHRElementBinding.cpp.o [ 2658s] [142/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLIElementBinding.cpp.o [ 2658s] [143/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLabelElementBinding.cpp.o [ 2658s] [144/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHeadElementBinding.cpp.o [ 2658s] [145/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLMapElementBinding.cpp.o [ 2658s] [146/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLMediaElementBinding.cpp.o [ 2659s] [147/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLinkElementBinding.cpp.o [ 2659s] [148/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptGroupElementBinding.cpp.o [ 2659s] [149/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageBitmapRenderingContextBinding.cpp.o [ 2659s] [150/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageDataBinding.cpp.o [ 2659s] [151/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLObjectElementBinding.cpp.o [ 2659s] [152/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptionElementOrHTMLOptGroupElementBinding.cpp.o [ 2660s] [153/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLMetaElementBinding.cpp.o [ 2660s] [154/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLModElementBinding.cpp.o [ 2660s] [155/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOListElementBinding.cpp.o [ 2660s] [156/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLParagraphElementBinding.cpp.o [ 2661s] [157/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptionElementBinding.cpp.o [ 2661s] [158/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLQuoteElementBinding.cpp.o [ 2661s] [159/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaDevicesBinding.cpp.o [ 2661s] [160/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLPreElementBinding.cpp.o [ 2661s] [161/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLScriptElementBinding.cpp.o [ 2661s] [162/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaElementAudioSourceNodeBinding.cpp.o [ 2661s] [163/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaElementAudioSourceOptionsBinding.cpp.o [ 2661s] [164/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLScriptElementOrSVGScriptElementBinding.cpp.o [ 2661s] [165/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTHElementBinding.cpp.o [ 2661s] [166/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLSourceElementBinding.cpp.o [ 2661s] [167/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTFootElementBinding.cpp.o [ 2661s] [168/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaStreamTrackBinding.cpp.o [ 2661s] [169/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTHeadElementBinding.cpp.o [ 2661s] [170/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaStreamBinding.cpp.o [ 2661s] [171/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptionsCollectionBinding.cpp.o [ 2661s] [172/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaStreamConstraintsBinding.cpp.o [ 2661s] [173/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaTrackConstraintSetBinding.cpp.o [ 2661s] [174/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaTrackConstraintsBinding.cpp.o [ 2661s] [175/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLSelectElementBinding.cpp.o [ 2661s] [176/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLSpanElementBinding.cpp.o [ 2661s] [177/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLParamElementBinding.cpp.o [ 2662s] [178/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageDataCustomBinding.cpp.o [ 2662s] [179/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLStyleElementBinding.cpp.o [ 2662s] [180/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageBitmapBinding.cpp.o [ 2662s] [181/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageBitmapOptionsBinding.cpp.o [ 2662s] [182/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HeadersBinding.cpp.o [ 2662s] [183/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableCaptionElementBinding.cpp.o [ 2662s] [184/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NotificationBinding.cpp.o [ 2662s] [185/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HistoryBinding.cpp.o [ 2662s] [186/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/Path2DBinding.cpp.o [ 2662s] [187/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NotificationOptionsBinding.cpp.o [ 2662s] [188/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/Path2DOrDOMStringBinding.cpp.o [ 2662s] [189/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/InputEventInitBinding.cpp.o [ 2662s] [190/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeIteratorBinding.cpp.o [ 2662s] [191/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTitleElementBinding.cpp.o [ 2662s] [192/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableCellElementBinding.cpp.o [ 2662s] [193/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushManagerBinding.cpp.o [ 2663s] [194/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableSectionElementBinding.cpp.o [ 2663s] [195/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushSubscriptionBinding.cpp.o [ 2663s] [196/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushSubscriptionOptionsBinding.cpp.o [ 2663s] [197/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyboardEventInitBinding.cpp.o [ 2663s] [198/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/InputEventBinding.cpp.o [ 2663s] [199/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCAnswerOptionsBinding.cpp.o [ 2663s] [200/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushSubscriptionOptionsInitBinding.cpp.o [ 2663s] [201/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelEventBinding.cpp.o [ 2663s] [202/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCConfigurationBinding.cpp.o [ 2663s] [203/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelBinding.cpp.o [ 2663s] [204/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCCertificateBinding.cpp.o [ 2663s] [205/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyframeEffectOptionsBinding.cpp.o [ 2663s] [206/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelInitBinding.cpp.o [ 2663s] [207/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelEventInitBinding.cpp.o [ 2663s] [208/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableColElementBinding.cpp.o [ 2663s] [209/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCErrorInitBinding.cpp.o [ 2663s] [210/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceCandidateInitBinding.cpp.o [ 2663s] [211/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDtlsTransportBinding.cpp.o [ 2663s] [212/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCErrorBinding.cpp.o [ 2663s] [213/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceCandidateBinding.cpp.o [ 2663s] [214/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceCandidatePairBinding.cpp.o [ 2663s] [215/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceServerBinding.cpp.o [ 2663s] [216/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpReceiverBinding.cpp.o [ 2663s] [217/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCOfferAnswerOptionsBinding.cpp.o [ 2663s] [218/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCOfferOptionsBinding.cpp.o [ 2663s] [219/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionBinding.cpp.o [ 2663s] [220/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceErrorEventInitBinding.cpp.o [ 2663s] [221/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTextAreaElementBinding.cpp.o [ 2663s] [222/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceEventBinding.cpp.o [ 2663s] [223/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableElementBinding.cpp.o [ 2663s] [224/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpParametersBinding.cpp.o [ 2663s] [225/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceErrorEventBinding.cpp.o [ 2663s] [226/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLVideoElementBinding.cpp.o [ 2663s] [227/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceEventInitBinding.cpp.o [ 2663s] [228/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpSendParametersBinding.cpp.o [ 2663s] [229/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpSenderBinding.cpp.o [ 2663s] [230/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpTransceiverInitBinding.cpp.o [ 2663s] [231/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCSctpTransportBinding.cpp.o [ 2663s] [232/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCSessionDescriptionInitBinding.cpp.o [ 2663s] [233/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCSessionDescriptionBinding.cpp.o [ 2663s] [234/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyboardEventBinding.cpp.o [ 2663s] [235/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCTrackEventInitBinding.cpp.o [ 2663s] [236/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCTrackEventBinding.cpp.o [ 2663s] [237/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyframeAnimationOptionsBinding.cpp.o [ 2663s] [238/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLUListElementBinding.cpp.o [ 2663s] [239/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableRowElementBinding.cpp.o [ 2663s] [240/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTrackElementBinding.cpp.o [ 2663s] [241/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLUnknownElementBinding.cpp.o [ 2664s] [242/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaQueryListEventInitBinding.cpp.o [ 2664s] [243/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/LocationBinding.cpp.o [ 2664s] [244/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MouseEventInitBinding.cpp.o [ 2664s] [245/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NavigatorBinding.cpp.o [ 2664s] [246/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessageEventInitBinding.cpp.o [ 2664s] [247/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaQueryListEventBinding.cpp.o [ 2664s] [248/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaListBinding.cpp.o [ 2664s] [249/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaQueryListBinding.cpp.o [ 2664s] [250/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessagePortBinding.cpp.o [ 2665s] [251/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaSourceBinding.cpp.o [ 2665s] [252/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MouseEventBinding.cpp.o [ 2665s] [253/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessageChannelBinding.cpp.o [ 2665s] [254/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ProgressEventInitBinding.cpp.o [ 2665s] [255/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PositionErrorBinding.cpp.o [ 2665s] [256/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCOAuthCredentialBinding.cpp.o [ 2665s] [257/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessageEventBinding.cpp.o [ 2665s] [258/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ProgressEventBinding.cpp.o [ 2665s] [259/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RegistrationOptionsBinding.cpp.o [ 2666s] [260/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RequestInitBinding.cpp.o [ 2666s] [261/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ReadableStreamBinding.cpp.o [ 2666s] [262/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ResponseInitBinding.cpp.o [ 2666s] [263/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RequestOrUSVStringBinding.cpp.o [ 2666s] [264/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingWorkerInstance.cpp.o [ 2666s] [265/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeFilterBinding.cpp.o [ 2666s] [266/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeOrDOMStringBinding.cpp.o [ 2666s] [267/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ReadableStreamDefaultReaderBinding.cpp.o [ 2666s] [268/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NamedNodeMapBinding.cpp.o [ 2666s] [269/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGAnimatedLengthBinding.cpp.o [ 2666s] [270/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerBinding.cpp.o [ 2666s] [271/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RequestBinding.cpp.o [ 2666s] [272/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerContainerBinding.cpp.o [ 2667s] [273/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ReadableStreamDefaultControllerBinding.cpp.o [ 2667s] [274/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerGlobalScopeBinding.cpp.o [ 2667s] [275/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerRegistrationBinding.cpp.o [ 2667s] [276/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ResponseBinding.cpp.o [ 2667s] [277/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ProcessingInstructionBinding.cpp.o [ 2667s] [278/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeListBinding.cpp.o [ 2667s] [279/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisBinding.cpp.o [ 2667s] [280/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisEventBinding.cpp.o [ 2667s] [281/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisEventInitBinding.cpp.o [ 2667s] [282/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLElementStack.cpp.o [ 2667s] [283/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisUtteranceBinding.cpp.o [ 2667s] [284/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisVoiceBinding.cpp.o [ 2667s] [285/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextMetricsBinding.cpp.o [ 2668s] [286/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeBinding.cpp.o [ 2668s] [287/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGElement.cpp.o [ 2668s] [288/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGLengthBinding.cpp.o [ 2668s] [289/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGCircleElementBinding.cpp.o [ 2668s] [290/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGClipPathElementBinding.cpp.o [ 2668s] [291/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGDefsElementBinding.cpp.o [ 2668s] [292/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RangeBinding.cpp.o [ 2668s] [293/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScreenBinding.cpp.o [ 2669s] [294/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGPolylineElementBinding.cpp.o [ 2669s] [295/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGPathElementBinding.cpp.o [ 2669s] [296/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGEllipseElementBinding.cpp.o [ 2669s] [297/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGDocumentBinding.cpp.o [ 2669s] [298/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGScriptElementBinding.cpp.o [ 2669s] [299/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGGElementBinding.cpp.o [ 2669s] [300/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGLineElementBinding.cpp.o [ 2669s] [301/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGPolygonElementBinding.cpp.o [ 2670s] [302/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SecurityPolicyViolationEventInitBinding.cpp.o [ 2670s] [303/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScrollOptionsBinding.cpp.o [ 2670s] [304/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptEngineInstance.cpp.o [ 2670s] [305/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SecurityPolicyViolationEventBinding.cpp.o [ 2670s] [306/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGTextElementBinding.cpp.o [ 2670s] [307/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGStyleElementBinding.cpp.o [ 2670s] [308/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGSVGElementBinding.cpp.o [ 2670s] [309/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WebGLRenderingContextBinding.cpp.o [ 2670s] [310/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WebSocketBinding.cpp.o [ 2670s] [311/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGImageElementBinding.cpp.o [ 2670s] [312/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGElementBinding.cpp.o [ 2670s] [313/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScrollToOptionsBinding.cpp.o [ 2670s] [314/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerGlobalScopeBinding.cpp.o [ 2670s] [315/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGRectElementBinding.cpp.o [ 2670s] [316/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerLocationBinding.cpp.o [ 2670s] [317/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerGlobalScopeCustomBinding.cpp.o [ 2670s] [318/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGUseElementBinding.cpp.o [ 2670s] [319/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingWindowInstance.cpp.o [ 2670s] [320/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerNavigatorBinding.cpp.o [ 2671s] [321/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SourceBufferBinding.cpp.o [ 2671s] [322/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/StorageBinding.cpp.o [ 2671s] [323/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SourceBufferListBinding.cpp.o [ 2671s] [324/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/testRunnerBinding.cpp.o [ 2671s] [325/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/StyleSheetListBinding.cpp.o [ 2671s] [326/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackBinding.cpp.o [ 2671s] [327/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackListBinding.cpp.o [ 2671s] [328/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackCueListBinding.cpp.o [ 2671s] [329/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/URLSearchParamsBinding.cpp.o [ 2671s] [330/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackCueBinding.cpp.o [ 2671s] [331/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TimeRangesBinding.cpp.o [ 2672s] [332/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchEventBinding.cpp.o [ 2672s] [333/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchBinding.cpp.o [ 2672s] [334/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingSecurity.cpp.o [ 2672s] [335/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchInitBinding.cpp.o [ 2672s] [336/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TransitionEventInitBinding.cpp.o [ 2672s] [337/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchListBinding.cpp.o [ 2672s] [338/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/StyleSheetBinding.cpp.o [ 2672s] [339/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/UIEventInitBinding.cpp.o [ 2672s] [340/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/URLSearchParamsCustomBinding.cpp.o [ 2673s] [341/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowOrServiceWorkerBinding.cpp.o [ 2673s] [342/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextBinding.cpp.o [ 2673s] [343/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TransitionEventBinding.cpp.o [ 2673s] [344/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptWrappable.cpp.o [ 2673s] [345/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/URLBinding.cpp.o [ 2673s] [346/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/UIEventBinding.cpp.o [ 2673s] [347/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WebViewHoldable.cpp.o [ 2673s] [348/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/doubleOrCSSNumericValueBinding.cpp.o [ 2673s] [349/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ShadowRootBinding.cpp.o [ 2673s] [350/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/doubleOrAutoKeywordBinding.cpp.o [ 2673s] [351/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLHttpRequestUploadBinding.cpp.o [ 2674s] [352/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLHttpRequestEventTargetBinding.cpp.o [ 2674s] [353/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingInstance.cpp.o [ 2674s] [354/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/StorageImpl.cpp.o [ 2674s] [355/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/WebStorageNamespaceProvider.cpp.o [ 2674s] [356/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TreeWalkerBinding.cpp.o [ 2674s] [357/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/Animation.cpp.o [ 2674s] [358/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/TimingFunction.cpp.o [ 2674s] [359/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/CubicBezier.cpp.o [ 2674s] [360/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/StorageNamespaceImpl.cpp.o [ 2674s] [361/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/VTTCueBinding.cpp.o [ 2675s] [362/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowHoldable.cpp.o [ 2675s] [363/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/StorageManager.cpp.o [ 2675s] [364/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicyDirectiveList.cpp.o [ 2675s] [365/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/AnimationEvent.cpp.o [ 2675s] [366/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicySourceListDirective.cpp.o [ 2675s] [367/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Attribute.cpp.o [ 2675s] [368/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CloseEvent.cpp.o [ 2675s] [369/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowProxy.cpp.o [ 2675s] [370/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowBinding.cpp.o [ 2676s] [371/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLDocumentBinding.cpp.o [ 2676s] [372/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLHttpRequestBinding.cpp.o [ 2676s] [373/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrixInit.cpp.o [ 2676s] [374/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMException.cpp.o [ 2676s] [375/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicy.cpp.o [ 2676s] [376/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMPoint.cpp.o [ 2676s] [377/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/history/HistoryManager.cpp.o [ 2676s] [378/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMetaElement.cpp.o [ 2676s] [379/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CSS.cpp.o [ 2677s] [380/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMQuad.cpp.o [ 2677s] [381/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Attr.cpp.o [ 2677s] [382/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/TimingOptions.cpp.o [ 2677s] [383/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRectReadOnly.cpp.o [ 2677s] [384/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrix.cpp.o [ 2677s] [385/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMPointReadOnly.cpp.o [ 2677s] [386/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Comment.cpp.o [ 2677s] [387/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRectList.cpp.o [ 2677s] [388/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRect.cpp.o [ 2677s] [389/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowCustomBinding.cpp.o [ 2678s] [390/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Event.cpp.o [ 2678s] [391/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CDATASection.cpp.o [ 2678s] [392/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMImplementation.cpp.o [ 2678s] [393/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ExecutionContext.cpp.o [ 2678s] [394/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrixReadOnly.cpp.o [ 2679s] [395/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CharacterData.cpp.o [ 2679s] [396/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMStringList.cpp.o [ 2679s] [397/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DocumentFragment.cpp.o [ 2679s] [398/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMStringMap.cpp.o [ 2679s] [399/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMTokenList.cpp.o [ 2679s] [400/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/AnimationUtil.cpp.o [ 2679s] [401/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMParser.cpp.o [ 2680s] [402/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLBaseElement.cpp.o [ 2680s] [403/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLCollection.cpp.o [ 2680s] [404/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFieldSetElement.cpp.o [ 2680s] [405/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLAreaElement.cpp.o [ 2681s] [406/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDialogElement.cpp.o [ 2681s] [407/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFontElement.cpp.o [ 2681s] [408/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLButtonElement.cpp.o [ 2681s] [409/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/EventTarget.cpp.o [ 2681s] [410/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDivElement.cpp.o [ 2681s] [411/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHeadingElement.cpp.o [ 2681s] [412/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/AnimationTask.cpp.o [ 2681s] [413/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLAnchorElement.cpp.o [ 2681s] [414/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFormControlsCollection.cpp.o [ 2681s] [415/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDocument.cpp.o [ 2681s] [416/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLegendElement.cpp.o [ 2681s] [417/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHtmlElement.cpp.o [ 2682s] [418/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLBodyElement.cpp.o [ 2682s] [419/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLabelElement.cpp.o [ 2682s] [420/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLIElement.cpp.o [ 2682s] [421/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHyperlinkContainer.cpp.o [ 2683s] [422/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMapElement.cpp.o [ 2683s] [423/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLIFrameElement.cpp.o [ 2683s] [424/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLListContainer.cpp.o [ 2683s] [425/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableColElement.cpp.o [ 2683s] [426/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLObjectElement.cpp.o [ 2683s] [427/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLModElement.cpp.o [ 2683s] [428/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLinkElement.cpp.o [ 2684s] [429/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptionElement.cpp.o [ 2684s] [430/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptGroupElement.cpp.o [ 2684s] [431/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOListElement.cpp.o [ 2684s] [432/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFormElement.cpp.o [ 2684s] [433/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLElement.cpp.o [ 2684s] [434/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptionsCollection.cpp.o [ 2684s] [435/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Element.cpp.o [ 2684s] [436/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOutputElement.cpp.o [ 2685s] [437/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLImageElement.cpp.o [ 2685s] [438/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMediaElement.cpp.o [ 2685s] [439/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLParamElement.cpp.o [ 2685s] [440/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Document.cpp.o [ 2685s] [441/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLSourceElement.cpp.o [ 2686s] [442/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTitleElement.cpp.o [ 2686s] [443/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableCaptionElement.cpp.o [ 2686s] [444/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLQuoteElement.cpp.o [ 2686s] [445/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLInputElement.cpp.o [ 2686s] [446/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ImageBitmap.cpp.o [ 2686s] [447/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/KeyboardEvent.cpp.o [ 2686s] [448/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableColGroupElement.cpp.o [ 2686s] [449/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTextAreaElement.cpp.o [ 2686s] [450/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableRowElement.cpp.o [ 2686s] [451/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTrackElement.cpp.o [ 2686s] [452/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableElement.cpp.o [ 2686s] [453/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableCellElement.cpp.o [ 2686s] [454/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ImageBitmapOptions.cpp.o [ 2686s] [455/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/MessageChannel.cpp.o [ 2686s] [456/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/MessagePort.cpp.o [ 2686s] [457/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasPath.cpp.o [ 2686s] [458/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLSelectElement.cpp.o [ 2687s] [459/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableSectionElement.cpp.o [ 2687s] [460/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLUnknownElement.cpp.o [ 2687s] [461/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageBitmapRenderingContext.cpp.o [ 2687s] [462/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext.cpp.o [ 2687s] [463/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext2DMixIn.cpp.o [ 2687s] [464/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/HTMLCanvasElement.cpp.o [ 2687s] [465/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/Path2D.cpp.o [ 2687s] [466/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageData.cpp.o [ 2687s] [467/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLUListElement.cpp.o [ 2687s] [468/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLScriptElement.cpp.o [ 2687s] [469/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext2D.cpp.o [ 2687s] [470/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/TextMetrics.cpp.o [ 2687s] [471/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/WebGLRenderingContext.cpp.o [ 2687s] [472/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLVideoElement.cpp.o [ 2687s] [473/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTablePartElement.cpp.o [ 2687s] [474/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLStyleElement.cpp.o [ 2688s] [475/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeList.cpp.o [ 2688s] [476/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTextEditable.cpp.o [ 2688s] [477/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackCueList.cpp.o [ 2688s] [478/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ProcessingInstruction.cpp.o [ 2688s] [479/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NamedNodeMap.cpp.o [ 2689s] [480/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/WebOrigin.cpp.o [ 2689s] [481/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeListImpl.cpp.o [ 2689s] [482/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TransitionEvent.cpp.o [ 2689s] [483/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeIterator.cpp.o [ 2689s] [484/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasImageSource.cpp.o [ 2689s] [485/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntityTable.cpp.o [ 2689s] [486/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/UIEvent.cpp.o [ 2689s] [487/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntityParser.cpp.o [ 2690s] [488/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Range.cpp.o [ 2690s] [489/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntitySearch.cpp.o [ 2690s] [490/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLElementLookupTrie.cpp.o [ 2690s] [491/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Text.cpp.o [ 2690s] [492/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackList.cpp.o [ 2690s] [493/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageSmoothingQuality.cpp.o [ 2690s] [494/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Touch.cpp.o [ 2690s] [495/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TouchList.cpp.o [ 2690s] [496/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackCue.cpp.o [ 2690s] [497/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasGradient.cpp.o [ 2690s] [498/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Avplay.cpp.o [ 2690s] [499/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/SelectorQuery.cpp.o [ 2690s] [500/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasPattern.cpp.o [ 2690s] [501/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLParserIdioms.cpp.o [ 2690s] [502/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TouchEvent.cpp.o [ 2690s] [503/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/PseudoElement.cpp.o [ 2691s] [504/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLTokenizer.cpp.o [ 2691s] [505/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TreeWalker.cpp.o [ 2691s] [506/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrack.cpp.o [ 2691s] [507/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLStackItem.cpp.o [ 2691s] [508/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLFormattingElementList.cpp.o [ 2692s] [509/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Node.cpp.o [ 2692s] [510/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLConstructionSite.cpp.o [ 2692s] [511/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLParser.cpp.o [ 2692s] [512/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/MimeType.cpp.o [ 2693s] [513/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Scrolling.cpp.o [ 2693s] [514/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/builder/html/HTMLDocumentBuilder.cpp.o [ 2693s] [515/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/inspector/Inspector.cpp.o [ 2693s] [516/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/TimeRanges.cpp.o [ 2693s] [517/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Fetch.cpp.o [ 2693s] [518/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLineElement.cpp.o [ 2693s] [519/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGDocument.cpp.o [ 2693s] [520/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedLength.cpp.o [ 2693s] [521/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Body.cpp.o [ 2693s] [522/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/RequestData.cpp.o [ 2693s] [523/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGCircleElement.cpp.o [ 2693s] [524/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/HeadersData.cpp.o [ 2694s] [525/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/FetchUtils.cpp.o [ 2694s] [526/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/ResponseData.cpp.o [ 2694s] [527/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Console.cpp.o [ 2694s] [528/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGEllipseElement.cpp.o [ 2694s] [529/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLTreeBuilder.cpp.o [ 2694s] [530/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/PreloadScanner.cpp.o [ 2694s] [531/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPolygonElement.cpp.o [ 2694s] [532/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGImageElement.cpp.o [ 2694s] [533/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedCanvas.cpp.o [ 2694s] [534/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Response.cpp.o [ 2694s] [535/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPathElement.cpp.o [ 2694s] [536/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/xml/XMLSerializer.cpp.o [ 2694s] [537/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGRectElement.cpp.o [ 2695s] [538/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Request.cpp.o [ 2695s] [539/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Headers.cpp.o [ 2695s] [540/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGSVGElement.cpp.o [ 2695s] [541/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGClipPathElement.cpp.o [ 2695s] [542/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStream.cpp.o [ 2695s] [543/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamDefaultController.cpp.o [ 2695s] [544/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPolylineElement.cpp.o [ 2695s] [545/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamDefaultReader.cpp.o [ 2696s] [546/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamBuffer.cpp.o [ 2696s] [547/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGUseElement.cpp.o [ 2696s] [548/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTextElement.cpp.o [ 2696s] [549/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fileapi/Blob.cpp.o [ 2696s] [550/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGScriptElement.cpp.o [ 2696s] [551/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLength.cpp.o [ 2697s] [552/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGStyleElement.cpp.o [ 2697s] [553/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/image/ImageDecoder.cpp.o [ 2698s] [554/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBoxBlockLayout.cpp.o [ 2699s] [555/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameInline.cpp.o [ 2699s] [556/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameOptGroupBox.cpp.o [ 2700s] [557/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameQuoteText.cpp.o [ 2700s] [558/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameCounterText.cpp.o [ 2701s] [559/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedObject.cpp.o [ 2701s] [560/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameDocument.cpp.o [ 2701s] [561/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameButtonBox.cpp.o [ 2701s] [562/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableCaptionBox.cpp.o [ 2701s] [563/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameOptionBox.cpp.o [ 2701s] [564/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/battery/Battery.cpp.o [ 2701s] [565/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedImage.cpp.o [ 2701s] [566/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedVideo.cpp.o [ 2701s] [567/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableColBox.cpp.o [ 2701s] [568/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableCellBox.cpp.o [ 2702s] [569/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedIFrame.cpp.o [ 2702s] [570/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBox.cpp.o [ 2702s] [571/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableRowBox.cpp.o [ 2702s] [572/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplaced.cpp.o [ 2702s] [573/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/DIALRunnable.cpp.o [ 2702s] [574/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastApplication.cpp.o [ 2702s] [575/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastConfig.cpp.o [ 2702s] [576/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/LayoutRepaintTracker.cpp.o [ 2702s] [577/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastServer.cpp.o [ 2702s] [578/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/SSDPRunnable.cpp.o [ 2702s] [579/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGCircleBox.cpp.o [ 2702s] [580/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameFlexibleBox.cpp.o [ 2702s] [581/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameSelectBox.cpp.o [ 2702s] [582/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameInputBox.cpp.o [ 2702s] [583/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableObjectBox.cpp.o [ 2702s] [584/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableSectionBox.cpp.o [ 2702s] [585/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaStreamTrack.cpp.o [ 2702s] [586/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaDevices.cpp.o [ 2702s] [587/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaStream.cpp.o [ 2703s] [588/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCCertificate.cpp.o [ 2703s] [589/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDataChannelEvent.cpp.o [ 2703s] [590/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGLineBox.cpp.o [ 2703s] [591/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDtlsTransport.cpp.o [ 2703s] [592/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableBox.cpp.o [ 2703s] [593/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCError.cpp.o [ 2703s] [594/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCConfiguration.cpp.o [ 2703s] [595/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGClipPathBox.cpp.o [ 2703s] [596/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceCandidate.cpp.o [ 2703s] [597/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDataChannel.cpp.o [ 2703s] [598/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceServer.cpp.o [ 2703s] [599/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceTransport.cpp.o [ 2703s] [600/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameGridBox.cpp.o [ 2703s] [601/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnection.cpp.o [ 2703s] [602/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpReceiver.cpp.o [ 2703s] [603/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnectionIceErrorEvent.cpp.o [ 2703s] [604/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpSender.cpp.o [ 2703s] [605/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnectionIceEvent.cpp.o [ 2703s] [606/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpTransceiver.cpp.o [ 2703s] [607/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCSessionDescription.cpp.o [ 2703s] [608/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCSctpTransport.cpp.o [ 2703s] [609/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCTrackEvent.cpp.o [ 2703s] [610/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCStatsReport.cpp.o [ 2703s] [611/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/WebRtcManager.cpp.o [ 2703s] [612/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/SocketLWS.cpp.o [ 2703s] [613/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/LWSRunnable.cpp.o [ 2703s] [614/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGBox.cpp.o [ 2703s] [615/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGEllipseBox.cpp.o [ 2703s] [616/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/SocketNN.cpp.o [ 2703s] [617/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/WebSocket.cpp.o [ 2703s] [618/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGInvisibleBox.cpp.o [ 2703s] [619/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/CanvasFillStrokeSource.cpp.o [ 2703s] [620/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/Connection.cpp.o [ 2703s] [621/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/RepaintRegionTracker.cpp.o [ 2703s] [622/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/IORunnable.cpp.o [ 2704s] [623/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/JobQueue.cpp.o [ 2704s] [624/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/Message.cpp.o [ 2704s] [625/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/Frame.cpp.o [ 2704s] [626/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorker.cpp.o [ 2704s] [627/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerAgent.cpp.o [ 2704s] [628/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerContainer.cpp.o [ 2704s] [629/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/image/BufferedNativeImageData.cpp.o [ 2705s] [630/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/BaseRunnable.cpp.o [ 2705s] [631/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/GeolocationTizen.cpp.o [ 2705s] [632/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRegistration.cpp.o [ 2705s] [633/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPathBox.cpp.o [ 2705s] [634/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/ShadowBlur.cpp.o [ 2705s] [635/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRequest.cpp.o [ 2705s] [636/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/client/ServiceWorkerClientConnection.cpp.o [ 2705s] [637/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerExecutor.cpp.o [ 2705s] [638/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerGlobalScope.cpp.o [ 2705s] [639/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTreeBuilder.cpp.o [ 2705s] [640/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/TextDecorationData.cpp.o [ 2705s] [641/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerHostJobHandler.cpp.o [ 2705s] [642/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/PositionError.cpp.o [ 2705s] [643/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/Notification.cpp.o [ 2705s] [644/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerServer.cpp.o [ 2705s] [645/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/NotificationJob.cpp.o [ 2705s] [646/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushServiceAgent.cpp.o [ 2705s] [647/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushManager.cpp.o [ 2705s] [648/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/NotificationService.cpp.o [ 2706s] [649/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushSubscription.cpp.o [ 2706s] [650/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushSubscriptionOptions.cpp.o [ 2706s] [651/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBox.cpp.o [ 2706s] [652/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/Compositor.cpp.o [ 2706s] [653/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioNode.cpp.o [ 2706s] [654/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/MessageServiceWorker.cpp.o [ 2706s] [655/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/Canvas.cpp.o [ 2706s] [656/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioScheduledSourceNode.cpp.o [ 2706s] [657/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/message_loop/MessageLoop.cpp.o [ 2706s] [658/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/tts/SpeechSynthesis.cpp.o [ 2706s] [659/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/tts/TextAlternativeHelper.cpp.o [ 2706s] [660/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGRectBox.cpp.o [ 2706s] [661/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioBufferSourceNode.cpp.o [ 2706s] [662/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioBuffer.cpp.o [ 2706s] [663/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioContext.cpp.o [ 2706s] [664/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioDestinationNode.cpp.o [ 2706s] [665/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/BaseAudioContext.cpp.o [ 2706s] [666/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WebWorker.cpp.o [ 2706s] [667/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerGlobalScope.cpp.o [ 2706s] [668/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerLocation.cpp.o [ 2706s] [669/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Geoposition.cpp.o [ 2706s] [670/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/MediaElementAudioSourceNode.cpp.o [ 2706s] [671/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/profiling/Profiling.cpp.o [ 2706s] [672/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerNavigator.cpp.o [ 2706s] [673/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/message_loop/Timer.cpp.o [ 2706s] [674/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerScriptController.cpp.o [ 2706s] [675/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ErrorData.cpp.o [ 2706s] [676/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPolylineBox.cpp.o [ 2706s] [677/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGUseBox.cpp.o [ 2706s] [678/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/RegistrationOptions.cpp.o [ 2706s] [679/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/StackingContext.cpp.o [ 2706s] [680/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGSVGBox.cpp.o [ 2706s] [681/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Coordinates.cpp.o [ 2706s] [682/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPolygonBox.cpp.o [ 2707s] [683/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerJob.cpp.o [ 2707s] [684/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/SourceBufferList.cpp.o [ 2707s] [685/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerData.cpp.o [ 2707s] [686/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/ResourceRequest.cpp.o [ 2707s] [687/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/ResourceRequestJob.cpp.o [ 2707s] [688/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/MediaSource.cpp.o [ 2707s] [689/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRegistrationData.cpp.o [ 2707s] [690/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/NetworkURLResourceRequestJobDelegate.cpp.o [ 2707s] [691/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerJobData.cpp.o [ 2707s] [692/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBoxInlineLayout.cpp.o [ 2708s] [693/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Geolocation.cpp.o [ 2708s] [694/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGTextBox.cpp.o [ 2708s] [695/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameTreeBuilderSVG.cpp.o [ 2708s] [696/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/client/ServiceWorkerProcessManager.cpp.o [ 2708s] [697/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerHostConnection.cpp.o [ 2708s] [698/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Mutex.cpp.o [ 2708s] [699/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Semaphore.cpp.o [ 2709s] [700/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/ThreadPool.cpp.o [ 2709s] [701/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/font/Font.cpp.o [ 2709s] [702/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/profiling/LayoutFlowLoggerBuilder.cpp.o [ 2709s] [703/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/EventSourceParser.cpp.o [ 2709s] [704/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/AdaptedThread.cpp.o [ 2709s] [705/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/NavigatorMixin.cpp.o [ 2709s] [706/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSAngle.cpp.o [ 2709s] [707/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/storage/Storage.cpp.o [ 2709s] [708/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Thread.cpp.o [ 2709s] [709/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WindowOrWorkerGlobalScope.cpp.o [ 2710s] [710/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSLength.cpp.o [ 2710s] [711/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/BorderImage.cpp.o [ 2710s] [712/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSGradientValue.cpp.o [ 2710s] [713/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WebBase.cpp.o [ 2710s] [714/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Serializer.cpp.o [ 2711s] [715/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/SourceBuffer.cpp.o [ 2711s] [716/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Navigator.cpp.o [ 2711s] [717/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSProperty.cpp.o [ 2711s] [718/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSKeywordValue.cpp.o [ 2711s] [719/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Screen.cpp.o [ 2711s] [720/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSFilterFunction.cpp.o [ 2711s] [721/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/AncestorSelectorFilter.cpp.o [ 2711s] [722/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleLookupTrie.cpp.o [ 2711s] [723/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ContentData.cpp.o [ 2711s] [724/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ImageValue.cpp.o [ 2712s] [725/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSTime.cpp.o [ 2712s] [726/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CalcData.cpp.o [ 2712s] [727/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSVariableSyntaxTreeBuilder.cpp.o [ 2712s] [728/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/History.cpp.o [ 2712s] [729/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CounterStyle.cpp.o [ 2712s] [730/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSNumericValue.cpp.o [ 2712s] [731/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSUnitValue.cpp.o [ 2712s] [732/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Location.cpp.o [ 2712s] [733/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSRuleList.cpp.o [ 2712s] [734/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Archivable.cpp.o [ 2713s] [735/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Archiver.cpp.o [ 2713s] [736/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQuery.cpp.o [ 2713s] [737/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ListStyleData.cpp.o [ 2713s] [738/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleValue.cpp.o [ 2713s] [739/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/FilterFunctions.cpp.o [ 2713s] [740/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/ProgramOptions.cpp.o [ 2713s] [741/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/EventSource.cpp.o [ 2714s] [742/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleRule.cpp.o [ 2714s] [743/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryEvaluator.cpp.o [ 2714s] [744/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/PositionedMaskData.cpp.o [ 2714s] [745/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/NamedColors.cpp.o [ 2714s] [746/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ShadowData.cpp.o [ 2714s] [747/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleAnimationData.cpp.o [ 2714s] [748/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSParser.cpp.o [ 2714s] [749/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleSheet.cpp.o [ 2714s] [750/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/UnitHelper.cpp.o [ 2714s] [751/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/launcher/WebWorkerEntry.cpp.o [ 2714s] [752/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleBackgroundData.cpp.o [ 2714s] [753/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleTransitionData.cpp.o [ 2715s] [754/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Unit.cpp.o [ 2715s] [755/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaList.cpp.o [ 2715s] [756/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Id.cpp.o [ 2715s] [757/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Cryptographic.cpp.o [ 2715s] [758/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Length.cpp.o [ 2715s] [759/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/LineBreakerIteratorPool.cpp.o [ 2715s] [760/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Message.cpp.o [ 2715s] [761/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleSheet.cpp.o [ 2715s] [762/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/GradientData.cpp.o [ 2715s] [763/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/GlobalOptions.cpp.o [ 2715s] [764/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryListMatcher.cpp.o [ 2715s] [765/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/AtomicString.cpp.o [ 2716s] [766/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/AttributeName.cpp.o [ 2716s] [767/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryList.cpp.o [ 2716s] [768/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Window.cpp.o [ 2716s] [769/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQuerySet.cpp.o [ 2716s] [770/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/BrowsingContext.cpp.o [ 2716s] [771/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/RandomEngine.cpp.o [ 2716s] [772/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/QualifiedName.cpp.o [ 2717s] [773/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/TextConverter.cpp.o [ 2717s] [774/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasSkia.cpp.o [ 2717s] [775/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleSheetList.cpp.o [ 2717s] [776/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasMock.cpp.o [ 2717s] [777/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasCairoUtils.cpp.o [ 2717s] [778/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorCairo.cpp.o [ 2717s] [779/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleRule.cpp.o [ 2717s] [780/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/URLSearchParams.cpp.o [ 2717s] [781/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorMock.cpp.o [ 2717s] [782/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaValues.cpp.o [ 2718s] [783/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopWindows.cpp.o [ 2718s] [784/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopLibUV.cpp.o [ 2718s] [785/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/hb-icu/HarfBuzzICU.cpp.o [ 2718s] [786/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorSkia.cpp.o [ 2718s] [787/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/String.cpp.o [ 2718s] [788/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplSkia.cpp.o [ 2718s] [789/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WebView.cpp.o [ 2718s] [790/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplMock.cpp.o [ 2718s] [791/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathMock.cpp.o [ 2718s] [792/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudioLinux.cpp.o [ 2718s] [793/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathSkia.cpp.o [ 2718s] [794/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudioTizen.cpp.o [ 2718s] [795/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ComputedStyle.cpp.o [ 2718s] [796/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/xml/FormData.cpp.o [ 2718s] [797/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/ImageUtils.cpp.o [ 2718s] [798/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudio.cpp.o [ 2718s] [799/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTV.cpp.o [ 2718s] [800/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtc.cpp.o [ 2718s] [801/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtcLinux.cpp.o [ 2718s] [802/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/AnimatedGIFNativeImageDataImpl.cpp.o [ 2719s] [803/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MockMediaPlayer.cpp.o [ 2719s] [804/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtcTizen.cpp.o [ 2719s] [805/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/file/File.cpp.o [ 2719s] [806/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/file/Directory.cpp.o [ 2719s] [807/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPCache.cpp.o [ 2719s] [808/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPCacheEntry.cpp.o [ 2719s] [809/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/CompressedNativeImageDataImpl.cpp.o [ 2719s] [810/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/URL.cpp.o [ 2719s] [811/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/process/base/Process.cpp.o [ 2719s] [812/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/tts/TTSBase.cpp.o [ 2719s] [813/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/HeaderResource.cpp.o [ 2719s] [814/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/webrtc/VideoCapturer.cpp.o [ 2719s] [815/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ComputedStyleCSSStyleDeclaration.cpp.o [ 2719s] [816/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathCairo.cpp.o [ 2719s] [817/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/tts/TTSTV.cpp.o [ 2720s] [818/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/xml/XMLHttpRequest.cpp.o [ 2720s] [819/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/NativeImageDataImpl.cpp.o [ 2720s] [820/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerWindows.cpp.o [ 2720s] [821/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ResourceURL.cpp.o [ 2720s] [822/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinWindows.cpp.o [ 2720s] [823/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/DemuxerWebM.cpp.o [ 2720s] [824/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/android/AndroidBridge.cpp.o [ 2720s] [825/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinLibUV.cpp.o [ 2720s] [826/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/Demuxer.cpp.o [ 2721s] [827/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerLibUV.cpp.o [ 2721s] [828/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MP4PacketGenerator.cpp.o [ 2721s] [829/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerEFL.cpp.o [ 2721s] [830/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopEFL.cpp.o [ 2721s] [831/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWEWebView.cpp.o [ 2721s] [832/871] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/WebWidgetAPIInstance.cpp.o [ 2721s] [833/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/StreamInfo.cpp.o [ 2721s] [834/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPResponse.cpp.o [ 2721s] [835/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/DemuxerMP4.cpp.o [ 2721s] [836/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPUtil.cpp.o [ 2721s] [837/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/FontResource.cpp.o [ 2722s] [838/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/curl/NetworkSharedResourceManager.cpp.o [ 2722s] [839/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinEFL.cpp.o [ 2722s] [840/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplGB.cpp.o [ 2722s] [841/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/TextResource.cpp.o [ 2722s] [842/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/VirtualCursorData.cpp.o [ 2722s] [843/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplHeadless.cpp.o [ 2722s] [844/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/public/DeviceInfo.cpp.o [ 2722s] [845/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ElementResourceClient.cpp.o [ 2722s] [846/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasCairo.cpp.o [ 2722s] [847/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/JavaScriptNativeHandler.cpp.o [ 2722s] [848/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWE.cpp.o [ 2723s] [849/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/ecore_wayland2/LWEWebViewEcoreWayland2.cpp.o [ 2723s] [850/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/SVGNativeImageDataImpl.cpp.o [ 2723s] [851/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/Resource.cpp.o [ 2723s] [852/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/dali/LWEWebViewDALi.cpp.o [ 2723s] [853/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplCairo.cpp.o [ 2723s] [854/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorGL.cpp.o [ 2723s] [855/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/glfw/LWEWebViewGLFW.cpp.o [ 2723s] [856/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ImageResource.cpp.o [ 2723s] [857/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplGL.cpp.o [ 2723s] [858/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayer.cpp.o [ 2723s] [859/871] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/ExtensionAdapter.cpp.o [ 2723s] [860/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleDeclaration.cpp.o [ 2723s] [861/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/efl/LWEWebViewEFL.cpp.o [ 2724s] [862/871] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/ExtensionManager.cpp.o [ 2724s] [863/871] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/TizenDeviceAPILoaderForEscargot.cpp.o [ 2724s] [864/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTizenBase.cpp.o [ 2724s] [865/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ResourceLoader.cpp.o [ 2724s] [866/871] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/Extension.cpp.o [ 2724s] [867/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTizen.cpp.o [ 2724s] [868/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/PlatformWindow.cpp.o [ 2725s] [869/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWEWebContainer.cpp.o [ 2727s] [870/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Style.cpp.o [ 3265s] [871/871] Linking CXX shared library out_tizen/unified_mobile/release/lib/liblightweight-web-engine.mobile.so [ 3265s] + ninja starfish.executable [ 3268s] [1/3] Building CXX object CMakeFiles/starfish.executable.dir/src/shell/testRunner.cpp.o [ 3269s] [2/3] Building CXX object CMakeFiles/starfish.executable.dir/src/shell/shell.cpp.o [ 3806s] [3/3] Linking CXX executable out_tizen/unified_mobile/release/lightweight-web-engine.mobile [ 3806s] + CFLAGS+=' -Os ' [ 3806s] + CXXFLAGS+=' -Os ' [ 3806s] + rm -f CMakeCache.txt [ 3806s] + cmake CMakeLists.txt -DMODE=release -DHOST=tizen -DARCH=arm -DCUSTOM=unified_wearable -DBACKEND=dali -DLTO=1 -DTARGETNAME=lightweight-web-engine-dali-plugin.wearable -G Ninja [ 3806s] -- The C compiler identification is GNU 9.2.0 [ 3806s] -- The CXX compiler identification is GNU 9.2.0 [ 3806s] -- Check for working C compiler: /bin/cc [ 3807s] -- Check for working C compiler: /bin/cc -- works [ 3807s] -- Detecting C compiler ABI info [ 3807s] -- Detecting C compiler ABI info - done [ 3807s] -- Detecting C compile features [ 3807s] -- Detecting C compile features - done [ 3807s] -- Check for working CXX compiler: /bin/c++ [ 3807s] -- Check for working CXX compiler: /bin/c++ -- works [ 3807s] -- Detecting CXX compiler ABI info [ 3807s] -- Detecting CXX compiler ABI info - done [ 3807s] -- Detecting CXX compile features [ 3808s] -- Detecting CXX compile features - done [ 3808s] -- Found PkgConfig: /bin/pkg-config (found version "0.28") [ 3808s] -- Checking for modules 'dlog;libpng;freetype2;fontconfig;harfbuzz;elementary;ecore' [ 3808s] -- Found dlog, version 1.0 [ 3809s] -- Found libpng, version 1.6.37 [ 3809s] -- Found freetype2, version 23.1.17 [ 3809s] -- Found fontconfig, version 2.13.1 [ 3809s] -- Found harfbuzz, version 2.6.4 [ 3809s] -- Found elementary, version 1.24.99 [ 3809s] -- Found ecore, version 1.24.99 [ 3813s] -- Checking for module 'cairo' [ 3813s] -- Found cairo, version 1.14.2 [ 3814s] -- Checking for modules 'dlog;capi-media-player;capi-media-sound-manager;capi-system-info;capi-system-device' [ 3814s] -- Found dlog, version 1.0 [ 3814s] -- Found capi-media-player, version [ 3814s] -- Found capi-media-sound-manager, version 0.0.1 [ 3815s] -- Found capi-system-info, version 0.2.0 [ 3815s] -- Found capi-system-device, version [ 3815s] -- Checking for module 'bundle' [ 3815s] -- Found bundle, version 0.4.5 [ 3816s] -- Looking for cap_set_flag in cap [ 3816s] -- Looking for cap_set_flag in cap - not found [ 3816s] -- Checking for module 'dlog' [ 3816s] -- Found dlog, version 1.0 [ 3817s] -- Starfish [ 3817s] -- 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--param=ssp-buffer-size=4-march=armv7-a-mtune=cortex-a8-mlittle-endian-mfpu=neon-mfloat-abi=softfp-mthumb-Wp,-D__SOFTFP__-Wl,-O1-Wl,--hash-style=gnu-Wa,-mimplicit-it=thumb-g-DSTARFISH_TIZEN_MAJOR_VERSION=6-DSTARFISH_TIZEN_VERSION_6_0-Os [ 3817s] -- LIBRARIES: clipperescargotmp4parsewebmskia_matrix/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/out_tizen/unified_wearable/release/lib/libtuv.sopthreadcurlsslcryptojpeggif-Llib/tizendali-coredali-adaptordali-toolkitrtdlcapi-location-manager-Wl,-soname,liblightweight-web-engine-dali-plugin.so.1dlogpng16zfontconfigfreetypeharfbuzzelementaryecore_evasecore_fileecore_imfecore_inputecore_conedjeevasectorluameldbusethumb_clientethumbemotionefreeteioeetemileecoreefleoeinapthreadmrtdlcairodlogcapi-media-playercapi-media-tooltbmcapi-media-sound-managercapi-system-infocapi-system-devicecapi-base-commonbundlecapi-base-common [ 3817s] -- 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 [ 3817s] -- LDFLAGS: -Wl,--gc-sections-Wl,-rpath=/usr/local/lib-flto [ 3817s] -- 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/freetype2/usr/include/libpng16/usr/include/fribidi/usr/include/harfbuzz/usr/include/ector-1/usr/include/eeze-1/usr/include/libmount/usr/include/blkid/usr/include/efreet-1/usr/include/eio-1/usr/include/efreet-1/usr/include/ecore-file-1/usr/include/ecore-ipc-1/usr/include/ecore-con-1/usr/include/eldbus-1/usr/include/dbus-1.0/usr/lib/dbus-1.0/include/usr/include/eet-1/usr/include/emile-1/usr/include/ecore-1/usr/include/glib-2.0/usr/lib/glib-2.0/include/usr/include/efl-1/usr/include/efl-1/interfaces/usr/include/eo-1/usr/include/eina-1/usr/include/eina-1/eina/usr/include/dlog/usr/include/cairo/usr/include/pixman-1/usr/include/ecore-evas-1/usr/include/ecore-input-evas-1/usr/include/ecore-input-1/usr/include/eeze-1/usr/include/libmount/usr/include/blkid/usr/include/ecore-file-1/usr/include/ecore-con-1/usr/include/eldbus-1/usr/include/dbus-1.0/usr/lib/dbus-1.0/include/usr/include/evas-1/usr/include/evas-1/canvas/usr/include/evas-1/gesture/usr/include/uuid/usr/include/freetype2/usr/include/fribidi/usr/include/harfbuzz/usr/include/ecore-1/usr/include/glib-2.0/usr/lib/glib-2.0/include/usr/include/ector-1/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/arm/release/include [ 3817s] -- Configuring done [ 3817s] -- Generating done [ 3817s] -- Build files have been written to: /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0 [ 3817s] + ninja starfish.shared_library [ 3819s] [1/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.DataAtom.cpp.o [ 3819s] [2/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.PDIN.cpp.o [ 3819s] [3/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.MVHD.cpp.o [ 3819s] [4/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.CPRT.cpp.o [ 3819s] [5/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.SMHD.cpp.o [ 3819s] [6/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.MFHD.cpp.o [ 3819s] [7/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.MDHD.cpp.o [ 3819s] [8/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.BXML.cpp.o [ 3819s] [9/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.MEHD.cpp.o [ 3819s] [10/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.SCHI.cpp.o [ 3819s] [11/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.FullBox.cpp.o [ 3819s] [12/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.MP4A.cpp.o [ 3819s] [13/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.PADB.cpp.o [ 3819s] [14/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.SDTP.cpp.o [ 3819s] [15/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.IINF.cpp.o [ 3819s] [16/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.CO64.cpp.o [ 3819s] [17/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STCO.cpp.o [ 3819s] [18/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.IMIF.cpp.o [ 3819s] [19/1122] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkMallocPixelRef.cpp.o [ 3819s] [20/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.MDAT.cpp.o [ 3819s] [21/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.DREF.cpp.o [ 3819s] [22/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.Parser.cpp.o [ 3819s] [23/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.File.cpp.o [ 3819s] [24/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.SCHM.cpp.o [ 3819s] [25/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.AVCC.cpp.o [ 3819s] [26/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.ILOC.cpp.o [ 3819s] [27/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.HDLR.cpp.o [ 3819s] [28/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.Atom.cpp.o [ 3819s] [29/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.CTTS.cpp.o [ 3819s] [30/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.MFRO.cpp.o [ 3819s] [31/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STSC.cpp.o [ 3819s] [32/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.FTYP.cpp.o [ 3819s] [33/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.HMHD.cpp.o [ 3819s] [34/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.ELST.cpp.o [ 3819s] [35/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.ESDS.cpp.o [ 3819s] [36/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.FRMA.cpp.o [ 3819s] [37/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.SGPD.cpp.o [ 3820s] [38/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.ContainerAtom.cpp.o [ 3820s] [39/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.BinaryStream.cpp.o [ 3820s] [40/1122] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkUtils.cpp.o [ 3820s] [41/1122] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/ports/SkMemory_malloc.cpp.o [ 3820s] [42/1122] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/ports/SkDebug_stdio.cpp.o [ 3820s] [43/1122] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkMath.cpp.o [ 3820s] [44/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.PITM.cpp.o [ 3820s] [45/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STSH.cpp.o [ 3820s] [46/1122] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkPoint.cpp.o [ 3820s] [47/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.SBGP.cpp.o [ 3820s] [48/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.TFDT.cpp.o [ 3820s] [49/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STDP.cpp.o [ 3820s] [50/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.IPMC.cpp.o [ 3820s] [51/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.TFHD.cpp.o [ 3820s] [52/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STZ2.cpp.o [ 3820s] [53/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STSD.cpp.o [ 3820s] [54/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.TREX.cpp.o [ 3820s] [55/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.FREE.cpp.o [ 3820s] [56/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.TFRA.cpp.o [ 3820s] [57/1122] Building CXX object CMakeFiles/webm.dir/third_party/webm/webvtt/webvttparser.cc.o [ 3820s] [58/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STSZ.cpp.o [ 3820s] [59/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.TKHD.cpp.o [ 3820s] [60/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STSS.cpp.o [ 3820s] [61/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.SUBS.cpp.o [ 3820s] [62/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.UnknownAtom.cpp.o [ 3820s] [63/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.TRUN.cpp.o [ 3820s] [64/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.UDTA.cpp.o [ 3820s] [65/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STTS.cpp.o [ 3820s] [66/1122] COPY TUV [ 3820s] [67/1122] cd /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0 && echo TUV\ TARGET [ 3820s] TUV TARGET [ 3820s] [68/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.VMHD.cpp.o [ 3820s] [69/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.XML.cpp.o [ 3820s] [70/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Environment.cpp.o [ 3820s] [71/1122] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.TREF.cpp.o [ 3821s] [72/1122] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkRect.cpp.o [ 3821s] [73/1122] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkStringUtils.cpp.o [ 3821s] [74/1122] Linking CXX shared library out_tizen/unified_wearable/release/lib/libmp4parse.so [ 3821s] [75/1122] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkMatrix44.cpp.o [ 3821s] [76/1122] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkString.cpp.o [ 3822s] [77/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/debugger/DebuggerTcp.cpp.o [ 3822s] [78/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/debugger/DebuggerSha1.cpp.o [ 3822s] [79/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioDestinationNode.cpp.o [ 3822s] [80/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioContext.cpp.o [ 3822s] [81/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioNode.cpp.o [ 3822s] [82/1122] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkMatrix.cpp.o [ 3822s] [83/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/heap/LeakCheckerBridge.cpp.o [ 3822s] [84/1122] Linking CXX shared library out_tizen/unified_wearable/release/lib/libskia_matrix.so [ 3822s] [85/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/ASTAllocator.cpp.o [ 3822s] [86/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ArrayBufferObject.cpp.o [ 3823s] [87/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/heap/Heap.cpp.o [ 3823s] [88/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/BooleanObject.cpp.o [ 3823s] [89/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/AsyncFromSyncIteratorObject.cpp.o [ 3823s] [90/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinMath.cpp.o [ 3823s] [91/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferSourceNodeBinding.cpp.o [ 3823s] [92/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioContextBinding.cpp.o [ 3823s] [93/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferBinding.cpp.o [ 3823s] [94/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferOptionsBinding.cpp.o [ 3823s] [95/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferSourceOptionsBinding.cpp.o [ 3823s] [96/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/AtomicString.cpp.o [ 3823s] [97/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioDestinationNodeBinding.cpp.o [ 3823s] [98/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioContextOptionsBinding.cpp.o [ 3823s] [99/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/heap/CustomAllocator.cpp.o [ 3823s] [100/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioScheduledSourceNodeBinding.cpp.o [ 3823s] [101/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioNodeBinding.cpp.o [ 3823s] [102/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BaseAudioContextBinding.cpp.o [ 3823s] [103/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/debugger/Debugger.cpp.o [ 3823s] [104/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/ast/Node.cpp.o [ 3823s] [105/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ArrayObject.cpp.o [ 3823s] [106/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ArgumentsObject.cpp.o [ 3823s] [107/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BufferSourceOrDOMStringBinding.cpp.o [ 3823s] [108/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/CompressibleString.cpp.o [ 3823s] [109/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ErrorObject.cpp.o [ 3823s] [110/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/BoundFunctionObject.cpp.o [ 3824s] [111/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinMap.cpp.o [ 3824s] [112/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/EnumerateObject.cpp.o [ 3824s] In file included from /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/algorithm:62, [ 3824s] from third_party/escargot/src/Escargot.h:187, [ 3824s] from third_party/escargot/src/runtime/EnumerateObject.cpp:20: [ 3824s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h: In member function 'virtual void Escargot::EnumerateObjectWithDestruction::executeEnumeration(Escargot::ExecutionState&, Escargot::SmallValueVector&)': [ 3824s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:4860:18: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 3824s] 4860 | std::__sort(__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp)); [ 3824s] | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3824s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h: In member function 'virtual void Escargot::EnumerateObjectWithIteration::executeEnumeration(Escargot::ExecutionState&, Escargot::SmallValueVector&)': [ 3824s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:4860:18: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 3824s] 4860 | std::__sort(__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp)); [ 3824s] | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3824s] In file included from /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/vector:67, [ 3824s] from third_party/escargot/src/Escargot.h:208, [ 3824s] from third_party/escargot/src/runtime/EnumerateObject.cpp:20: [ 3824s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_vector.h: In member function 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = long long unsigned int; _Alloc = std::allocator]': [ 3824s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_vector.h:1195:4: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 3824s] 1195 | _M_realloc_insert(end(), __x); [ 3824s] | ^~~~~~~~~~~~~~~~~ [ 3824s] In file included from /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/vector:72, [ 3824s] from third_party/escargot/src/Escargot.h:208, [ 3824s] from third_party/escargot/src/runtime/EnumerateObject.cpp:20: [ 3824s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {const long long unsigned int&}; _Tp = long long unsigned int; _Alloc = std::allocator]': [ 3824s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/vector.tcc:426:7: note: parameter passing for argument of type 'std::vector::iterator' {aka '__gnu_cxx::__normal_iterator >'} changed in GCC 7.1 [ 3824s] 426 | vector<_Tp, _Alloc>:: [ 3824s] | ^~~~~~~~~~~~~~~~~~~ [ 3824s] In file included from /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/algorithm:62, [ 3824s] from third_party/escargot/src/Escargot.h:187, [ 3824s] from third_party/escargot/src/runtime/EnumerateObject.cpp:20: [ 3824s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h: In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter >]': [ 3824s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:1962:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 3824s] 1962 | __sort(_RandomAccessIterator __first, _RandomAccessIterator __last, [ 3824s] | ^~~~~~ [ 3824s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:1962:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 3824s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:1967:25: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 3824s] 1967 | std::__introsort_loop(__first, __last, [ 3824s] | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ [ 3824s] 1968 | std::__lg(__last - __first) * 2, [ 3824s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3824s] 1969 | __comp); [ 3824s] | ~~~~~~~ [ 3824s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:1884:25: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 3824s] 1884 | std::__insertion_sort(__first, __first + int(_S_threshold), __comp); [ 3824s] | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3824s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:1889:23: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 3824s] 1889 | std::__insertion_sort(__first, __last, __comp); [ 3824s] | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ [ 3824s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h: In function 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter >]': [ 3824s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:1939:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 3824s] 1939 | __introsort_loop(_RandomAccessIterator __first, [ 3824s] | ^~~~~~~~~~~~~~~~ [ 3824s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:1939:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 3824s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:1953:25: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 3824s] 1953 | std::__introsort_loop(__cut, __last, __depth_limit, __comp); [ 3824s] | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3824s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h: In function 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter >]': [ 3824s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:1839:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 3824s] 1839 | __insertion_sort(_RandomAccessIterator __first, [ 3824s] | ^~~~~~~~~~~~~~~~ [ 3824s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:1839:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 3824s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h: In function 'void std::__unguarded_linear_insert(_RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Val_comp_iter >]': [ 3824s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:1820:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 3824s] 1820 | __unguarded_linear_insert(_RandomAccessIterator __last, [ 3824s] | ^~~~~~~~~~~~~~~~~~~~~~~~~ [ 3824s] In file included from /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:61, [ 3824s] from /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/algorithm:62, [ 3824s] from third_party/escargot/src/Escargot.h:187, [ 3824s] from third_party/escargot/src/runtime/EnumerateObject.cpp:20: [ 3824s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_heap.h: In function 'void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Distance = int; _Tp = long long unsigned int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter >]': [ 3824s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_heap.h:214:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 3824s] 214 | __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex, [ 3824s] | ^~~~~~~~~~~~~ [ 3824s] [113/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ExecutionState.cpp.o [ 3824s] [114/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Context.cpp.o [ 3824s] [115/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/DateObject.cpp.o [ 3824s] [116/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/AsyncGeneratorObject.cpp.o [ 3825s] [117/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ExecutionPauser.cpp.o [ 3825s] [118/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/Lexer.cpp.o [ 3825s] third_party/escargot/src/parser/Lexer.cpp: In member function 'char32_t Escargot::EscargotLexer::Scanner::scanUnicodeCodePointEscape()': [ 3825s] third_party/escargot/src/parser/Lexer.cpp:753:25: warning: 'ch' may be used uninitialized in this function [-Wmaybe-uninitialized] [ 3825s] 753 | if (code > 0x10FFFF || ch != '}') { [ 3825s] | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~ [ 3825s] [119/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/StaticStrings.cpp.o [ 3825s] [120/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/ScriptParser.cpp.o [ 3825s] [121/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AnimationEventInitBinding.cpp.o [ 3825s] [122/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ArrayBufferViewOrArrayBufferBinding.cpp.o [ 3825s] [123/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/CodeBlock.cpp.o [ 3825s] [124/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/Starfish.cpp.o [ 3825s] [125/1122] Building CXX object CMakeFiles/clipper.dir/third_party/clipper/cpp/clipper.cpp.o [ 3825s] In file included from /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/vector:72, [ 3825s] from third_party/clipper/cpp/clipper.hpp:52, [ 3825s] from third_party/clipper/cpp/clipper.cpp:41: [ 3825s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {const long long int&}; _Tp = long long int; _Alloc = std::allocator]': [ 3825s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/vector.tcc:426:7: note: parameter passing for argument of type 'std::vector >::iterator' {aka '__gnu_cxx::__normal_iterator > >'} changed in GCC 7.1 [ 3825s] 426 | vector<_Tp, _Alloc>:: [ 3825s] | ^~~~~~~~~~~~~~~~~~~ [ 3825s] In file included from /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/queue:62, [ 3825s] from third_party/clipper/cpp/clipper.hpp:59, [ 3825s] from third_party/clipper/cpp/clipper.cpp:41: [ 3825s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_heap.h: In function 'void std::__push_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare&) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator > >; _Distance = int; _Tp = long long int; _Compare = __gnu_cxx::__ops::_Iter_comp_val >]': [ 3825s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_heap.h:128:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator > >' changed in GCC 7.1 [ 3825s] 128 | __push_heap(_RandomAccessIterator __first, [ 3825s] | ^~~~~~~~~~~ [ 3825s] In file included from /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/vector:67, [ 3825s] from third_party/clipper/cpp/clipper.hpp:52, [ 3825s] from third_party/clipper/cpp/clipper.cpp:41: [ 3825s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_vector.h: In member function 'void ClipperLib::Clipper::InsertScanbeam(ClipperLib::cInt)': [ 3825s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_vector.h:1195:4: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator > >' changed in GCC 7.1 [ 3825s] 1195 | _M_realloc_insert(end(), __x); [ 3825s] | ^~~~~~~~~~~~~~~~~ [ 3825s] In file included from /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/vector:72, [ 3825s] from third_party/clipper/cpp/clipper.hpp:52, [ 3825s] from third_party/clipper/cpp/clipper.cpp:41: [ 3825s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {ClipperLib::DoublePoint}; _Tp = ClipperLib::DoublePoint; _Alloc = std::allocator]': [ 3825s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/vector.tcc:426:7: note: parameter passing for argument of type 'std::vector::iterator' {aka '__gnu_cxx::__normal_iterator >'} changed in GCC 7.1 [ 3825s] 426 | vector<_Tp, _Alloc>:: [ 3825s] | ^~~~~~~~~~~~~~~~~~~ [ 3825s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/vector.tcc:426:7: note: parameter passing for argument of type 'std::vector::iterator' {aka '__gnu_cxx::__normal_iterator >'} changed in GCC 7.1 [ 3825s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {ClipperLib::DoublePoint}; _Tp = ClipperLib::DoublePoint; _Alloc = std::allocator]': [ 3825s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/vector.tcc:121:4: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 3825s] 121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); [ 3825s] | ^~~~~~~~~~~~~~~~~ [ 3825s] [126/1122] Building CXX object CMakeFiles/webm.dir/third_party/webm/mkvparser/mkvparser.cc.o [ 3825s] [127/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AnimationBinding.cpp.o [ 3825s] [128/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/Script.cpp.o [ 3826s] [129/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasImageSourceOrBlobOrImageDataBinding.cpp.o [ 3826s] [130/1122] Linking CXX shared library out_tizen/unified_wearable/release/lib/libclipper.so [ 3826s] [131/1122] Linking CXX shared library out_tizen/unified_wearable/release/lib/libwebm.so [ 3826s] [132/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AnimationEventBinding.cpp.o [ 3826s] [133/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasRenderingContext2DBinding.cpp.o [ 3826s] [134/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasRenderingContext2DOrWebGLRenderingContextOrImageBitmapRenderingContextBinding.cpp.o [ 3826s] [135/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/EnvironmentRecord.cpp.o [ 3826s] [136/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/interpreter/ByteCode.cpp.o [ 3826s] [137/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BatteryManagerBinding.cpp.o [ 3826s] [138/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BlobCustomBinding.cpp.o [ 3826s] [139/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSCounterStyleRuleBinding.cpp.o [ 3826s] [140/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BlobBinding.cpp.o [ 3826s] [141/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSConditionRuleBinding.cpp.o [ 3827s] [142/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSImportRuleBinding.cpp.o [ 3827s] [143/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinJSON.cpp.o [ 3827s] In file included from /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/vector:67, [ 3827s] from third_party/escargot/src/Escargot.h:208, [ 3827s] from third_party/escargot/src/runtime/GlobalObjectBuiltinJSON.cpp:20: [ 3827s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_vector.h: In static member function 'static bool Escargot::builtinJSONStringify(Escargot::ExecutionState&, Escargot::Value, size_t, Escargot::Value*, Escargot::Optional)::::_FUN(Escargot::ExecutionState&, Escargot::Object*, const Escargot::ObjectPropertyName&, const Escargot::ObjectStructurePropertyDescriptor&, void*)': [ 3827s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_vector.h:1195:4: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 3827s] 1195 | _M_realloc_insert(end(), __x); [ 3827s] | ^~~~~~~~~~~~~~~~~ [ 3827s] In file included from /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/algorithm:62, [ 3827s] from third_party/escargot/src/Escargot.h:187, [ 3827s] from third_party/escargot/src/runtime/GlobalObjectBuiltinJSON.cpp:20: [ 3827s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h: In function 'Escargot::Value Escargot::builtinJSONStringify(Escargot::ExecutionState&, Escargot::Value, size_t, Escargot::Value*, Escargot::Optional)': [ 3827s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:1967:25: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 3827s] 1967 | std::__introsort_loop(__first, __last, [ 3827s] | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ [ 3827s] 1968 | std::__lg(__last - __first) * 2, [ 3827s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3827s] 1969 | __comp); [ 3827s] | ~~~~~~~ [ 3827s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:1884:25: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 3827s] 1884 | std::__insertion_sort(__first, __first + int(_S_threshold), __comp); [ 3827s] | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3827s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:1889:23: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 3827s] 1889 | std::__insertion_sort(__first, __last, __comp); [ 3827s] | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ [ 3827s] In file included from /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/vector:72, [ 3827s] from third_party/escargot/src/Escargot.h:208, [ 3827s] from third_party/escargot/src/runtime/GlobalObjectBuiltinJSON.cpp:20: [ 3827s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {const long long unsigned int&}; _Tp = long long unsigned int; _Alloc = std::allocator]': [ 3827s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/vector.tcc:426:7: note: parameter passing for argument of type 'std::vector::iterator' {aka '__gnu_cxx::__normal_iterator >'} changed in GCC 7.1 [ 3827s] 426 | vector<_Tp, _Alloc>:: [ 3827s] | ^~~~~~~~~~~~~~~~~~~ [ 3827s] In file included from /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/algorithm:62, [ 3827s] from third_party/escargot/src/Escargot.h:187, [ 3827s] from third_party/escargot/src/runtime/GlobalObjectBuiltinJSON.cpp:20: [ 3827s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h: In function 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter >]': [ 3827s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:1939:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 3827s] 1939 | __introsort_loop(_RandomAccessIterator __first, [ 3827s] | ^~~~~~~~~~~~~~~~ [ 3827s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:1939:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 3827s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:1953:25: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 3827s] 1953 | std::__introsort_loop(__cut, __last, __depth_limit, __comp); [ 3827s] | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3827s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h: In function 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter >]': [ 3827s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:1839:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 3827s] 1839 | __insertion_sort(_RandomAccessIterator __first, [ 3827s] | ^~~~~~~~~~~~~~~~ [ 3827s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:1839:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 3827s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h: In function 'void std::__unguarded_linear_insert(_RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Val_comp_iter >]': [ 3827s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:1820:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 3827s] 1820 | __unguarded_linear_insert(_RandomAccessIterator __last, [ 3827s] | ^~~~~~~~~~~~~~~~~~~~~~~~~ [ 3827s] In file included from /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_algo.h:61, [ 3827s] from /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/algorithm:62, [ 3827s] from third_party/escargot/src/Escargot.h:187, [ 3827s] from third_party/escargot/src/runtime/GlobalObjectBuiltinJSON.cpp:20: [ 3827s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_heap.h: In function 'void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Distance = int; _Tp = long long unsigned int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter >]': [ 3827s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_heap.h:214:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator >' changed in GCC 7.1 [ 3827s] 214 | __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex, [ 3827s] | ^~~~~~~~~~~~~ [ 3827s] [144/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BufferSourceOrBlobOrDOMStringBinding.cpp.o [ 3827s] [145/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BlobOrBufferSourceOrUSVStringOrReadableStreamBinding.cpp.o [ 3827s] [146/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSFontFaceRuleBinding.cpp.o [ 3827s] [147/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSBinding.cpp.o [ 3827s] [148/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSKeyframeRuleBinding.cpp.o [ 3828s] [149/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSNumericTypeBinding.cpp.o [ 3828s] [150/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSUnitValueBinding.cpp.o [ 3828s] [151/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSMediaRuleBinding.cpp.o [ 3828s] [152/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AttrBinding.cpp.o [ 3828s] [153/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSSupportsRuleBinding.cpp.o [ 3828s] [154/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSKeywordValueBinding.cpp.o [ 3828s] [155/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSRuleBinding.cpp.o [ 3828s] [156/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSNamespaceRuleBinding.cpp.o [ 3828s] [157/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/interpreter/ByteCodeGenerator.cpp.o [ 3828s] [158/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleRuleBinding.cpp.o [ 3828s] [159/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSNumericValueBinding.cpp.o [ 3828s] [160/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CDATASectionBinding.cpp.o [ 3829s] [161/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasGradientBinding.cpp.o [ 3829s] [162/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSGroupingRuleBinding.cpp.o [ 3829s] [163/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasPatternBinding.cpp.o [ 3829s] [164/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CloseEventInitBinding.cpp.o [ 3829s] [165/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleValueBinding.cpp.o [ 3829s] [166/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CompositionEventInitBinding.cpp.o [ 3829s] [167/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CoordinatesBinding.cpp.o [ 3829s] [168/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSKeyframesRuleBinding.cpp.o [ 3830s] [169/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CustomEventInitBinding.cpp.o [ 3830s] [170/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrix2DInitBinding.cpp.o [ 3830s] [171/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleDeclarationBinding.cpp.o [ 3830s] [172/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/interpreter/ByteCodeInterpreter.cpp.o [ 3830s] [173/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CloseEventBinding.cpp.o [ 3830s] [174/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CharacterDataCustomBinding.cpp.o [ 3830s] [175/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CompositionEventBinding.cpp.o [ 3830s] [176/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSRuleListBinding.cpp.o [ 3830s] [177/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMExceptionBinding.cpp.o [ 3830s] [178/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CustomEventBinding.cpp.o [ 3831s] [179/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMPointInitBinding.cpp.o [ 3831s] [180/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleSheetBinding.cpp.o [ 3831s] [181/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CommentBinding.cpp.o [ 3831s] [182/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrixInitBinding.cpp.o [ 3831s] [183/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrixBinding.cpp.o [ 3831s] [184/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMRectBinding.cpp.o [ 3831s] [185/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMQuadBinding.cpp.o [ 3831s] [186/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMRectListBinding.cpp.o [ 3831s] [187/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrMediaStreamTrackBinding.cpp.o [ 3831s] [188/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrFunctionBinding.cpp.o [ 3831s] [189/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMRectReadOnlyBinding.cpp.o [ 3831s] [190/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMPointBinding.cpp.o [ 3831s] [191/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrCanvasGradientOrCanvasPatternBinding.cpp.o [ 3831s] [192/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringMapBinding.cpp.o [ 3832s] [193/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLAudioElementBinding.cpp.o [ 3832s] [194/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrixReadOnlyBinding.cpp.o [ 3832s] [195/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CharacterDataBinding.cpp.o [ 3832s] [196/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ErrorEventBinding.cpp.o [ 3832s] [197/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringListBinding.cpp.o [ 3832s] [198/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrSequenceOfdoubleBinding.cpp.o [ 3832s] [199/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMParserBinding.cpp.o [ 3832s] [200/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLCanvasElementBinding.cpp.o [ 3832s] [201/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMPointReadOnlyBinding.cpp.o [ 3832s] [202/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMImplementationBinding.cpp.o [ 3832s] [203/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrSequenceOfDOMStringBinding.cpp.o [ 3832s] [204/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrRTCOAuthCredentialBinding.cpp.o [ 3833s] [205/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ErrorEventInitBinding.cpp.o [ 3833s] [206/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EffectTimingBinding.cpp.o [ 3833s] [207/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMTokenListBinding.cpp.o [ 3833s] [208/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventModifierInitBinding.cpp.o [ 3833s] [209/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventInitBinding.cpp.o [ 3834s] [210/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventOrDOMStringBinding.cpp.o [ 3834s] [211/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpTransceiverBinding.cpp.o [ 3834s] [212/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventBinding.cpp.o [ 3834s] [213/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCSctpTransportBinding.cpp.o [ 3834s] [214/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentCustomBinding.cpp.o [ 3834s] [215/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventSourceInitBinding.cpp.o [ 3834s] [216/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventSourceBinding.cpp.o [ 3834s] [217/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FocusEventInitBinding.cpp.o [ 3834s] [218/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLImageElementOrSVGImageElementOrHTMLVideoElementOrHTMLCanvasElementOrImageBitmapBinding.cpp.o [ 3834s] [219/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLImageElementOrSVGImageElementBinding.cpp.o [ 3834s] [220/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentTypeBinding.cpp.o [ 3835s] [221/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GeopositionBinding.cpp.o [ 3835s] [222/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentFragmentBinding.cpp.o [ 3835s] [223/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GeolocationBinding.cpp.o [ 3835s] [224/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GeolocationCustomBinding.cpp.o [ 3835s] [225/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventTargetBinding.cpp.o [ 3835s] [226/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLMediaElementBinding.cpp.o [ 3835s] [227/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FocusEventBinding.cpp.o [ 3835s] [228/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FormDataBinding.cpp.o [ 3835s] [229/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentHoldable.cpp.o [ 3835s] [230/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ElementBinding.cpp.o [ 3836s] [231/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentBinding.cpp.o [ 3836s] [232/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLAreaElementBinding.cpp.o [ 3836s] [233/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLButtonElementBinding.cpp.o [ 3837s] [234/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GetRootNodeOptionsBinding.cpp.o [ 3837s] [235/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDialogElementBinding.cpp.o [ 3837s] [236/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDListElementBinding.cpp.o [ 3837s] [237/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLElementOrlongBinding.cpp.o [ 3837s] [238/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLCollectionBinding.cpp.o [ 3837s] [239/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLBaseElementBinding.cpp.o [ 3837s] [240/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLBRElementBinding.cpp.o [ 3837s] [241/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLBodyElementBinding.cpp.o [ 3837s] [242/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLAnchorElementBinding.cpp.o [ 3837s] [243/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLSourceElementBinding.cpp.o [ 3837s] [244/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLElementBinding.cpp.o [ 3838s] [245/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDivElementBinding.cpp.o [ 3838s] [246/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFormControlsCollectionBinding.cpp.o [ 3838s] [247/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFontElementBinding.cpp.o [ 3838s] [248/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFieldSetElementBinding.cpp.o [ 3838s] [249/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDocumentBinding.cpp.o [ 3838s] [250/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHeadElementBinding.cpp.o [ 3838s] [251/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHtmlElementBinding.cpp.o [ 3839s] [252/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHRElementBinding.cpp.o [ 3839s] [253/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFormElementBinding.cpp.o [ 3839s] [254/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHeadingElementBinding.cpp.o [ 3839s] [255/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLInputElementCustomBinding.cpp.o [ 3839s] [256/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLInputElementBinding.cpp.o [ 3839s] [257/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLImageElementBinding.cpp.o [ 3839s] [258/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLScriptElementOrSVGScriptElementBinding.cpp.o [ 3839s] [259/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLIFrameElementBinding.cpp.o [ 3839s] [260/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTrackElementBinding.cpp.o [ 3840s] [261/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLVideoElementBinding.cpp.o [ 3840s] [262/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLegendElementBinding.cpp.o [ 3840s] [263/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLModElementBinding.cpp.o [ 3840s] [264/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLIElementBinding.cpp.o [ 3840s] [265/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageBitmapRenderingContextBinding.cpp.o [ 3840s] [266/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLabelElementBinding.cpp.o [ 3840s] [267/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageDataBinding.cpp.o [ 3840s] [268/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLinkElementBinding.cpp.o [ 3840s] [269/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageBitmapBinding.cpp.o [ 3840s] [270/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLQuoteElementBinding.cpp.o [ 3840s] [271/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLMetaElementBinding.cpp.o [ 3841s] [272/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLObjectElementBinding.cpp.o [ 3841s] [273/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptionElementOrHTMLOptGroupElementBinding.cpp.o [ 3841s] [274/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLMapElementBinding.cpp.o [ 3841s] [275/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOListElementBinding.cpp.o [ 3841s] [276/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaDevicesBinding.cpp.o [ 3841s] [277/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaElementAudioSourceNodeBinding.cpp.o [ 3841s] [278/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaElementAudioSourceOptionsBinding.cpp.o [ 3842s] [279/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptionsCollectionBinding.cpp.o [ 3842s] [280/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptGroupElementBinding.cpp.o [ 3842s] [281/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaSourceBinding.cpp.o [ 3842s] [282/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLSpanElementBinding.cpp.o [ 3842s] [283/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptionElementBinding.cpp.o [ 3842s] [284/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLParagraphElementBinding.cpp.o [ 3842s] [285/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaStreamTrackBinding.cpp.o [ 3842s] [286/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaStreamBinding.cpp.o [ 3842s] [287/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaStreamConstraintsBinding.cpp.o [ 3842s] [288/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLScriptElementBinding.cpp.o [ 3842s] [289/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaTrackConstraintSetBinding.cpp.o [ 3842s] [290/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaTrackConstraintsBinding.cpp.o [ 3842s] [291/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageBitmapOptionsBinding.cpp.o [ 3842s] [292/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageDataCustomBinding.cpp.o [ 3843s] [293/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLStyleElementBinding.cpp.o [ 3843s] [294/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLPreElementBinding.cpp.o [ 3843s] [295/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLSelectElementBinding.cpp.o [ 3843s] [296/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTHeadElementBinding.cpp.o [ 3843s] [297/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLParamElementBinding.cpp.o [ 3843s] [298/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTFootElementBinding.cpp.o [ 3843s] [299/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOutputElementBinding.cpp.o [ 3843s] [300/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableColElementBinding.cpp.o [ 3843s] [301/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NotificationBinding.cpp.o [ 3843s] [302/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableCaptionElementBinding.cpp.o [ 3843s] [303/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/InputEventBinding.cpp.o [ 3843s] [304/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NotificationOptionsBinding.cpp.o [ 3843s] [305/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/Path2DOrDOMStringBinding.cpp.o [ 3843s] [306/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/Path2DBinding.cpp.o [ 3843s] [307/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HistoryBinding.cpp.o [ 3843s] [308/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableCellElementBinding.cpp.o [ 3843s] [309/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushManagerBinding.cpp.o [ 3843s] [310/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTHElementBinding.cpp.o [ 3843s] [311/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCAnswerOptionsBinding.cpp.o [ 3843s] [312/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushSubscriptionBinding.cpp.o [ 3843s] [313/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCCertificateBinding.cpp.o [ 3844s] [314/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HeadersBinding.cpp.o [ 3844s] [315/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/InputEventInitBinding.cpp.o [ 3844s] [316/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushSubscriptionOptionsBinding.cpp.o [ 3844s] [317/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushSubscriptionOptionsInitBinding.cpp.o [ 3844s] [318/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelEventInitBinding.cpp.o [ 3844s] [319/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCConfigurationBinding.cpp.o [ 3844s] [320/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelEventBinding.cpp.o [ 3844s] [321/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelBinding.cpp.o [ 3844s] [322/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelInitBinding.cpp.o [ 3844s] [323/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyboardEventInitBinding.cpp.o [ 3844s] [324/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyframeAnimationOptionsBinding.cpp.o [ 3844s] [325/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyboardEventBinding.cpp.o [ 3844s] [326/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCErrorBinding.cpp.o [ 3844s] [327/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDtlsTransportBinding.cpp.o [ 3844s] [328/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpTransceiverInitBinding.cpp.o [ 3844s] [329/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceCandidateInitBinding.cpp.o [ 3844s] [330/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCErrorInitBinding.cpp.o [ 3844s] [331/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceCandidateBinding.cpp.o [ 3844s] [332/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCOfferOptionsBinding.cpp.o [ 3844s] [333/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionBinding.cpp.o [ 3844s] [334/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceCandidatePairBinding.cpp.o [ 3844s] [335/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCOfferAnswerOptionsBinding.cpp.o [ 3844s] [336/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceServerBinding.cpp.o [ 3844s] [337/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceEventBinding.cpp.o [ 3844s] [338/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceTransportBinding.cpp.o [ 3844s] [339/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceEventInitBinding.cpp.o [ 3844s] [340/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpParametersBinding.cpp.o [ 3844s] [341/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTitleElementBinding.cpp.o [ 3844s] [342/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceErrorEventInitBinding.cpp.o [ 3844s] [343/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpSendParametersBinding.cpp.o [ 3844s] [344/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceErrorEventBinding.cpp.o [ 3844s] [345/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpReceiverBinding.cpp.o [ 3844s] [346/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCSessionDescriptionInitBinding.cpp.o [ 3844s] [347/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpSenderBinding.cpp.o [ 3844s] [348/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCSessionDescriptionBinding.cpp.o [ 3844s] [349/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCTrackEventInitBinding.cpp.o [ 3844s] [350/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCTrackEventBinding.cpp.o [ 3844s] [351/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyframeEffectOptionsBinding.cpp.o [ 3844s] [352/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableElementBinding.cpp.o [ 3844s] [353/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableSectionElementBinding.cpp.o [ 3844s] [354/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaListBinding.cpp.o [ 3845s] [355/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaQueryListBinding.cpp.o [ 3845s] [356/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/LocationBinding.cpp.o [ 3845s] [357/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableRowElementBinding.cpp.o [ 3845s] [358/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLUListElementBinding.cpp.o [ 3845s] [359/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLUnknownElementBinding.cpp.o [ 3845s] [360/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaQueryListEventInitBinding.cpp.o [ 3845s] [361/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaQueryListEventBinding.cpp.o [ 3845s] [362/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTextAreaElementBinding.cpp.o [ 3845s] [363/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessageChannelBinding.cpp.o [ 3845s] [364/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessageEventInitBinding.cpp.o [ 3845s] [365/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessagePortBinding.cpp.o [ 3846s] [366/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessageEventBinding.cpp.o [ 3846s] [367/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MouseEventBinding.cpp.o [ 3846s] [368/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MouseEventInitBinding.cpp.o [ 3846s] [369/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ProgressEventInitBinding.cpp.o [ 3846s] [370/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NavigatorBinding.cpp.o [ 3846s] [371/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCOAuthCredentialBinding.cpp.o [ 3847s] [372/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ProgressEventBinding.cpp.o [ 3847s] [373/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PositionErrorBinding.cpp.o [ 3847s] [374/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RequestOrUSVStringBinding.cpp.o [ 3847s] [375/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RegistrationOptionsBinding.cpp.o [ 3847s] [376/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeOrDOMStringBinding.cpp.o [ 3847s] [377/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RequestInitBinding.cpp.o [ 3847s] [378/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ResponseInitBinding.cpp.o [ 3847s] [379/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ReadableStreamBinding.cpp.o [ 3848s] [380/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ReadableStreamDefaultReaderBinding.cpp.o [ 3848s] [381/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeFilterBinding.cpp.o [ 3848s] [382/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingWorkerInstance.cpp.o [ 3848s] [383/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RequestBinding.cpp.o [ 3848s] [384/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NamedNodeMapBinding.cpp.o [ 3848s] [385/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ReadableStreamDefaultControllerBinding.cpp.o [ 3848s] [386/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeIteratorBinding.cpp.o [ 3848s] [387/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerContainerBinding.cpp.o [ 3848s] [388/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerBinding.cpp.o [ 3848s] [389/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGAnimatedLengthBinding.cpp.o [ 3848s] [390/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerGlobalScopeBinding.cpp.o [ 3848s] [391/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ResponseBinding.cpp.o [ 3848s] [392/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerRegistrationBinding.cpp.o [ 3848s] [393/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ProcessingInstructionBinding.cpp.o [ 3848s] [394/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SourceBufferBinding.cpp.o [ 3848s] [395/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisUtteranceBinding.cpp.o [ 3848s] [396/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SourceBufferListBinding.cpp.o [ 3848s] [397/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisBinding.cpp.o [ 3848s] [398/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisEventBinding.cpp.o [ 3848s] [399/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisEventInitBinding.cpp.o [ 3848s] [400/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeListBinding.cpp.o [ 3848s] [401/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisVoiceBinding.cpp.o [ 3848s] [402/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeBinding.cpp.o [ 3849s] [403/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextMetricsBinding.cpp.o [ 3849s] [404/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackBinding.cpp.o [ 3849s] [405/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackCueBinding.cpp.o [ 3849s] [406/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackCueListBinding.cpp.o [ 3849s] [407/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TimeRangesBinding.cpp.o [ 3849s] [408/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackListBinding.cpp.o [ 3849s] [409/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGLengthBinding.cpp.o [ 3849s] [410/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGCircleElementBinding.cpp.o [ 3849s] [411/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RangeBinding.cpp.o [ 3849s] [412/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/esprima_cpp/esprima.cpp.o [ 3849s] [413/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGClipPathElementBinding.cpp.o [ 3850s] [414/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGGElementBinding.cpp.o [ 3850s] [415/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGElementBinding.cpp.o [ 3850s] [416/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGImageElementBinding.cpp.o [ 3850s] [417/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScreenBinding.cpp.o [ 3850s] [418/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGEllipseElementBinding.cpp.o [ 3850s] [419/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGLineElementBinding.cpp.o [ 3850s] [420/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGPolygonElementBinding.cpp.o [ 3850s] [421/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGSVGElementBinding.cpp.o [ 3850s] [422/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGPathElementBinding.cpp.o [ 3850s] [423/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScrollOptionsBinding.cpp.o [ 3850s] [424/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGDefsElementBinding.cpp.o [ 3850s] [425/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/VTTCueBinding.cpp.o [ 3850s] [426/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WebGLRenderingContextBinding.cpp.o [ 3850s] [427/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WebSocketBinding.cpp.o [ 3851s] [428/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SecurityPolicyViolationEventInitBinding.cpp.o [ 3851s] [429/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerGlobalScopeBinding.cpp.o [ 3851s] [430/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScrollToOptionsBinding.cpp.o [ 3851s] [431/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGStyleElementBinding.cpp.o [ 3851s] [432/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerGlobalScopeCustomBinding.cpp.o [ 3851s] [433/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerLocationBinding.cpp.o [ 3851s] [434/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerNavigatorBinding.cpp.o [ 3851s] [435/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGDocumentBinding.cpp.o [ 3851s] [436/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/StorageBinding.cpp.o [ 3851s] [437/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/StyleSheetListBinding.cpp.o [ 3851s] [438/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptEngineInstance.cpp.o [ 3852s] [439/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGUseElementBinding.cpp.o [ 3852s] [440/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/doubleOrAutoKeywordBinding.cpp.o [ 3852s] [441/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGPolylineElementBinding.cpp.o [ 3852s] [442/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/testRunnerBinding.cpp.o [ 3852s] [443/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGRectElementBinding.cpp.o [ 3852s] [444/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGTextElementBinding.cpp.o [ 3852s] [445/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SecurityPolicyViolationEventBinding.cpp.o [ 3852s] [446/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/URLBinding.cpp.o [ 3852s] [447/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchBinding.cpp.o [ 3852s] [448/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGScriptElementBinding.cpp.o [ 3852s] [449/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingWindowInstance.cpp.o [ 3852s] [450/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingSecurity.cpp.o [ 3852s] [451/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchEventBinding.cpp.o [ 3852s] [452/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/UIEventBinding.cpp.o [ 3853s] [453/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchInitBinding.cpp.o [ 3853s] [454/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TransitionEventBinding.cpp.o [ 3853s] [455/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchListBinding.cpp.o [ 3853s] [456/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/StyleSheetBinding.cpp.o [ 3853s] [457/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TransitionEventInitBinding.cpp.o [ 3853s] [458/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/URLSearchParamsCustomBinding.cpp.o [ 3853s] [459/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/UIEventInitBinding.cpp.o [ 3853s] [460/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptWrappable.cpp.o [ 3854s] [461/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WebViewHoldable.cpp.o [ 3854s] [462/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowOrServiceWorkerBinding.cpp.o [ 3854s] [463/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextBinding.cpp.o [ 3854s] [464/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLHttpRequestEventTargetBinding.cpp.o [ 3854s] [465/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/TimingFunction.cpp.o [ 3854s] [466/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/doubleOrCSSNumericValueBinding.cpp.o [ 3854s] [467/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/URLSearchParamsBinding.cpp.o [ 3854s] [468/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ShadowRootBinding.cpp.o [ 3854s] [469/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLHttpRequestUploadBinding.cpp.o [ 3854s] [470/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/CubicBezier.cpp.o [ 3854s] [471/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingInstance.cpp.o [ 3855s] [472/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/StorageImpl.cpp.o [ 3855s] [473/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/StorageManager.cpp.o [ 3855s] [474/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/Animation.cpp.o [ 3855s] [475/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/WebStorageNamespaceProvider.cpp.o [ 3855s] [476/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TreeWalkerBinding.cpp.o [ 3855s] [477/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicyDirectiveList.cpp.o [ 3855s] [478/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/StorageNamespaceImpl.cpp.o [ 3855s] [479/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowHoldable.cpp.o [ 3856s] [480/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/AnimationEvent.cpp.o [ 3856s] [481/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CloseEvent.cpp.o [ 3856s] [482/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicy.cpp.o [ 3856s] [483/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicySourceListDirective.cpp.o [ 3856s] [484/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowBinding.cpp.o [ 3856s] [485/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Attribute.cpp.o [ 3856s] [486/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowProxy.cpp.o [ 3857s] [487/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrixInit.cpp.o [ 3857s] [488/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRectList.cpp.o [ 3857s] [489/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRect.cpp.o [ 3857s] [490/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CSS.cpp.o [ 3857s] [491/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMException.cpp.o [ 3857s] [492/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLHttpRequestBinding.cpp.o [ 3857s] [493/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMQuad.cpp.o [ 3857s] [494/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLDocumentBinding.cpp.o [ 3858s] [495/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/TimingOptions.cpp.o [ 3858s] [496/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Attr.cpp.o [ 3858s] [497/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrix.cpp.o [ 3858s] [498/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRectReadOnly.cpp.o [ 3858s] [499/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMPoint.cpp.o [ 3858s] [500/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMPointReadOnly.cpp.o [ 3858s] [501/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/history/HistoryManager.cpp.o [ 3858s] [502/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CDATASection.cpp.o [ 3858s] [503/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Comment.cpp.o [ 3859s] [504/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Event.cpp.o [ 3859s] [505/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMImplementation.cpp.o [ 3859s] [506/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowCustomBinding.cpp.o [ 3859s] [507/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ExecutionContext.cpp.o [ 3859s] [508/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrixReadOnly.cpp.o [ 3859s] [509/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMediaElement.cpp.o [ 3860s] [510/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMStringList.cpp.o [ 3860s] [511/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMTokenList.cpp.o [ 3860s] [512/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMParser.cpp.o [ 3860s] [513/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DocumentFragment.cpp.o [ 3860s] [514/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMStringMap.cpp.o [ 3860s] [515/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CharacterData.cpp.o [ 3861s] [516/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLAreaElement.cpp.o [ 3861s] [517/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/AnimationUtil.cpp.o [ 3861s] [518/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLBaseElement.cpp.o [ 3861s] [519/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDivElement.cpp.o [ 3861s] [520/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFieldSetElement.cpp.o [ 3862s] [521/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFormControlsCollection.cpp.o [ 3862s] [522/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLButtonElement.cpp.o [ 3862s] [523/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLSourceElement.cpp.o [ 3862s] [524/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHeadingElement.cpp.o [ 3862s] [525/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/AnimationTask.cpp.o [ 3862s] [526/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLCollection.cpp.o [ 3862s] [527/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHyperlinkContainer.cpp.o [ 3862s] [528/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/EventTarget.cpp.o [ 3862s] [529/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDialogElement.cpp.o [ 3862s] [530/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFontElement.cpp.o [ 3863s] [531/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLabelElement.cpp.o [ 3863s] [532/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLegendElement.cpp.o [ 3863s] [533/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLIElement.cpp.o [ 3863s] [534/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLAnchorElement.cpp.o [ 3863s] [535/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTrackElement.cpp.o [ 3863s] [536/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDocument.cpp.o [ 3864s] [537/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLBodyElement.cpp.o [ 3864s] [538/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHtmlElement.cpp.o [ 3864s] [539/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMapElement.cpp.o [ 3864s] [540/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLVideoElement.cpp.o [ 3864s] [541/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLListContainer.cpp.o [ 3864s] [542/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLModElement.cpp.o [ 3865s] [543/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMetaElement.cpp.o [ 3865s] [544/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLObjectElement.cpp.o [ 3865s] [545/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLIFrameElement.cpp.o [ 3865s] [546/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLElement.cpp.o [ 3865s] [547/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/KeyboardEvent.cpp.o [ 3865s] [548/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptionElement.cpp.o [ 3865s] [549/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLInputElement.cpp.o [ 3866s] [550/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptGroupElement.cpp.o [ 3866s] [551/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLQuoteElement.cpp.o [ 3866s] [552/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLParamElement.cpp.o [ 3866s] [553/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLImageElement.cpp.o [ 3866s] [554/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOListElement.cpp.o [ 3866s] [555/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptionsCollection.cpp.o [ 3866s] [556/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOutputElement.cpp.o [ 3866s] [557/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrack.cpp.o [ 3866s] [558/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackCueList.cpp.o [ 3866s] [559/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackCue.cpp.o [ 3866s] [560/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackList.cpp.o [ 3866s] [561/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLinkElement.cpp.o [ 3866s] [562/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableCaptionElement.cpp.o [ 3866s] [563/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Document.cpp.o [ 3867s] [564/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFormElement.cpp.o [ 3867s] [565/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Element.cpp.o [ 3867s] [566/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableColElement.cpp.o [ 3867s] [567/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLScriptElement.cpp.o [ 3867s] [568/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageBitmapRenderingContext.cpp.o [ 3867s] [569/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTitleElement.cpp.o [ 3867s] [570/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasPath.cpp.o [ 3867s] [571/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ImageBitmapOptions.cpp.o [ 3867s] [572/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ImageBitmap.cpp.o [ 3867s] [573/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext.cpp.o [ 3867s] [574/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext2D.cpp.o [ 3867s] [575/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableColGroupElement.cpp.o [ 3867s] [576/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTextAreaElement.cpp.o [ 3867s] [577/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext2DMixIn.cpp.o [ 3868s] [578/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/MessageChannel.cpp.o [ 3868s] [579/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/HTMLCanvasElement.cpp.o [ 3868s] [580/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableSectionElement.cpp.o [ 3868s] [581/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageData.cpp.o [ 3868s] [582/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/TextMetrics.cpp.o [ 3868s] [583/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/Path2D.cpp.o [ 3868s] [584/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/WebGLRenderingContext.cpp.o [ 3868s] [585/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableCellElement.cpp.o [ 3868s] [586/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLUListElement.cpp.o [ 3869s] [587/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/WebOrigin.cpp.o [ 3869s] [588/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLSelectElement.cpp.o [ 3869s] [589/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableElement.cpp.o [ 3869s] [590/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTablePartElement.cpp.o [ 3869s] [591/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/MessagePort.cpp.o [ 3869s] [592/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLUnknownElement.cpp.o [ 3869s] [593/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLStyleElement.cpp.o [ 3869s] [594/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableRowElement.cpp.o [ 3869s] [595/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NamedNodeMap.cpp.o [ 3869s] [596/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTextEditable.cpp.o [ 3869s] [597/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TransitionEvent.cpp.o [ 3869s] [598/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageSmoothingQuality.cpp.o [ 3870s] [599/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/UIEvent.cpp.o [ 3870s] [600/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Text.cpp.o [ 3870s] [601/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeList.cpp.o [ 3870s] [602/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntityParser.cpp.o [ 3870s] [603/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ProcessingInstruction.cpp.o [ 3870s] [604/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasImageSource.cpp.o [ 3870s] [605/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasGradient.cpp.o [ 3870s] [606/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeIterator.cpp.o [ 3870s] [607/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntitySearch.cpp.o [ 3871s] [608/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Touch.cpp.o [ 3871s] [609/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeListImpl.cpp.o [ 3871s] [610/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasPattern.cpp.o [ 3871s] [611/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Avplay.cpp.o [ 3871s] [612/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLElementLookupTrie.cpp.o [ 3871s] [613/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TouchEvent.cpp.o [ 3871s] [614/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/SelectorQuery.cpp.o [ 3871s] [615/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLParserIdioms.cpp.o [ 3871s] [616/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/TimeRanges.cpp.o [ 3872s] [617/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Range.cpp.o [ 3872s] [618/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TouchList.cpp.o [ 3872s] [619/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Node.cpp.o [ 3872s] [620/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntityTable.cpp.o [ 3872s] [621/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TreeWalker.cpp.o [ 3872s] [622/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLStackItem.cpp.o [ 3872s] [623/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/PseudoElement.cpp.o [ 3873s] [624/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLTokenizer.cpp.o [ 3873s] [625/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/builder/html/HTMLDocumentBuilder.cpp.o [ 3873s] [626/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLElementStack.cpp.o [ 3873s] [627/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLFormattingElementList.cpp.o [ 3873s] [628/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLConstructionSite.cpp.o [ 3874s] [629/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Console.cpp.o [ 3874s] [630/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/inspector/Inspector.cpp.o [ 3874s] [631/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedLength.cpp.o [ 3874s] [632/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/PreloadScanner.cpp.o [ 3874s] [633/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/MimeType.cpp.o [ 3874s] [634/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/FetchUtils.cpp.o [ 3874s] [635/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPathElement.cpp.o [ 3874s] [636/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGDocument.cpp.o [ 3875s] [637/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGElement.cpp.o [ 3875s] [638/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Fetch.cpp.o [ 3875s] [639/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Body.cpp.o [ 3875s] [640/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGCircleElement.cpp.o [ 3875s] [641/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Scrolling.cpp.o [ 3875s] [642/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPolylineElement.cpp.o [ 3875s] [643/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLineElement.cpp.o [ 3875s] [644/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLParser.cpp.o [ 3875s] [645/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/ResponseData.cpp.o [ 3875s] [646/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/RequestData.cpp.o [ 3875s] [647/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/HeadersData.cpp.o [ 3875s] [648/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGClipPathElement.cpp.o [ 3875s] [649/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGRectElement.cpp.o [ 3875s] [650/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGEllipseElement.cpp.o [ 3875s] [651/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGImageElement.cpp.o [ 3875s] [652/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Headers.cpp.o [ 3875s] [653/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedCanvas.cpp.o [ 3875s] [654/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGSVGElement.cpp.o [ 3875s] [655/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedVideo.cpp.o [ 3876s] [656/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLTreeBuilder.cpp.o [ 3876s] [657/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Request.cpp.o [ 3876s] [658/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPolygonElement.cpp.o [ 3876s] [659/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/xml/XMLSerializer.cpp.o [ 3876s] [660/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamDefaultReader.cpp.o [ 3877s] [661/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Response.cpp.o [ 3877s] [662/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStream.cpp.o [ 3877s] [663/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTextElement.cpp.o [ 3877s] [664/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamDefaultController.cpp.o [ 3877s] [665/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamBuffer.cpp.o [ 3877s] [666/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGUseElement.cpp.o [ 3877s] [667/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLength.cpp.o [ 3878s] [668/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGScriptElement.cpp.o [ 3878s] [669/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fileapi/Blob.cpp.o [ 3878s] [670/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGStyleElement.cpp.o [ 3880s] [671/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameInline.cpp.o [ 3880s] [672/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameCounterText.cpp.o [ 3881s] [673/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedObject.cpp.o [ 3882s] [674/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableCaptionBox.cpp.o [ 3882s] [675/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameButtonBox.cpp.o [ 3882s] [676/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBoxBlockLayout.cpp.o [ 3882s] [677/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameQuoteText.cpp.o [ 3882s] [678/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameSelectBox.cpp.o [ 3882s] [679/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameDocument.cpp.o [ 3883s] [680/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameOptGroupBox.cpp.o [ 3883s] [681/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableColBox.cpp.o [ 3883s] [682/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableCellBox.cpp.o [ 3883s] [683/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedIFrame.cpp.o [ 3883s] [684/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedImage.cpp.o [ 3883s] [685/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableObjectBox.cpp.o [ 3883s] [686/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/DIALRunnable.cpp.o [ 3883s] [687/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/SSDPRunnable.cpp.o [ 3884s] [688/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGLineBox.cpp.o [ 3884s] [689/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableSectionBox.cpp.o [ 3884s] [690/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameOptionBox.cpp.o [ 3884s] [691/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplaced.cpp.o [ 3884s] [692/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGInvisibleBox.cpp.o [ 3884s] [693/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/RepaintRegionTracker.cpp.o [ 3884s] [694/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastConfig.cpp.o [ 3884s] [695/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastApplication.cpp.o [ 3884s] [696/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastServer.cpp.o [ 3884s] [697/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGCircleBox.cpp.o [ 3884s] [698/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDtlsTransport.cpp.o [ 3884s] [699/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/LayoutRepaintTracker.cpp.o [ 3884s] [700/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBox.cpp.o [ 3884s] [701/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/MediaSource.cpp.o [ 3884s] [702/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/SourceBuffer.cpp.o [ 3884s] [703/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaDevices.cpp.o [ 3884s] [704/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/SourceBufferList.cpp.o [ 3884s] [705/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaStream.cpp.o [ 3884s] [706/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameInputBox.cpp.o [ 3884s] [707/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaStreamTrack.cpp.o [ 3884s] [708/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCCertificate.cpp.o [ 3884s] [709/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGClipPathBox.cpp.o [ 3884s] [710/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDataChannel.cpp.o [ 3884s] [711/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDataChannelEvent.cpp.o [ 3884s] [712/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCConfiguration.cpp.o [ 3884s] [713/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCError.cpp.o [ 3884s] [714/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceCandidate.cpp.o [ 3884s] [715/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceTransport.cpp.o [ 3884s] [716/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceServer.cpp.o [ 3885s] [717/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpReceiver.cpp.o [ 3885s] [718/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnection.cpp.o [ 3885s] [719/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpSender.cpp.o [ 3885s] [720/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnectionIceErrorEvent.cpp.o [ 3885s] [721/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableRowBox.cpp.o [ 3885s] [722/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnectionIceEvent.cpp.o [ 3885s] [723/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpTransceiver.cpp.o [ 3885s] [724/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGBox.cpp.o [ 3885s] [725/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCSctpTransport.cpp.o [ 3885s] [726/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/WebRtcManager.cpp.o [ 3885s] [727/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCSessionDescription.cpp.o [ 3885s] [728/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameFlexibleBox.cpp.o [ 3885s] [729/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCStatsReport.cpp.o [ 3885s] [730/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCTrackEvent.cpp.o [ 3885s] [731/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/SocketNN.cpp.o [ 3885s] [732/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableBox.cpp.o [ 3885s] [733/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/SocketLWS.cpp.o [ 3885s] [734/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/LWSRunnable.cpp.o [ 3885s] [735/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/WebSocket.cpp.o [ 3885s] [736/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorker.cpp.o [ 3885s] [737/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/Connection.cpp.o [ 3885s] [738/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/CanvasFillStrokeSource.cpp.o [ 3885s] [739/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/IORunnable.cpp.o [ 3885s] [740/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/JobQueue.cpp.o [ 3885s] [741/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/Message.cpp.o [ 3886s] [742/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGTextBox.cpp.o [ 3886s] [743/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameGridBox.cpp.o [ 3886s] [744/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/battery/Battery.cpp.o [ 3886s] [745/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerContainer.cpp.o [ 3886s] [746/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerAgent.cpp.o [ 3886s] [747/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/ShadowBlur.cpp.o [ 3886s] [748/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGEllipseBox.cpp.o [ 3886s] [749/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/Frame.cpp.o [ 3886s] [750/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTreeBuilder.cpp.o [ 3886s] [751/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBox.cpp.o [ 3886s] [752/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRegistration.cpp.o [ 3886s] [753/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRequest.cpp.o [ 3886s] [754/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/client/ServiceWorkerClientConnection.cpp.o [ 3886s] [755/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerExecutor.cpp.o [ 3886s] [756/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerGlobalScope.cpp.o [ 3887s] [757/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPolygonBox.cpp.o [ 3887s] [758/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerHostJobHandler.cpp.o [ 3887s] [759/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerServer.cpp.o [ 3887s] [760/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/Notification.cpp.o [ 3887s] [761/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/PositionError.cpp.o [ 3887s] [762/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushManager.cpp.o [ 3887s] [763/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/NotificationJob.cpp.o [ 3887s] [764/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/image/ImageDecoder.cpp.o [ 3887s] [765/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/NotificationService.cpp.o [ 3887s] [766/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushSubscription.cpp.o [ 3887s] [767/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushServiceAgent.cpp.o [ 3887s] [768/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushSubscriptionOptions.cpp.o [ 3887s] [769/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/StackingContext.cpp.o [ 3887s] [770/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/TextDecorationData.cpp.o [ 3887s] [771/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGSVGBox.cpp.o [ 3887s] [772/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/message_loop/MessageLoop.cpp.o [ 3887s] [773/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/tts/SpeechSynthesis.cpp.o [ 3887s] [774/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/BaseRunnable.cpp.o [ 3887s] [775/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/tts/TextAlternativeHelper.cpp.o [ 3887s] [776/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/MediaElementAudioSourceNode.cpp.o [ 3887s] [777/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WebWorker.cpp.o [ 3887s] [778/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioBuffer.cpp.o [ 3887s] [779/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioBufferSourceNode.cpp.o [ 3887s] [780/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/image/BufferedNativeImageData.cpp.o [ 3887s] [781/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/Compositor.cpp.o [ 3887s] [782/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioScheduledSourceNode.cpp.o [ 3887s] [783/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/message_loop/Timer.cpp.o [ 3887s] [784/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/BaseAudioContext.cpp.o [ 3887s] [785/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerNavigator.cpp.o [ 3887s] [786/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerLocation.cpp.o [ 3887s] [787/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerGlobalScope.cpp.o [ 3887s] [788/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/profiling/Profiling.cpp.o [ 3888s] [789/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerScriptController.cpp.o [ 3888s] [790/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ErrorData.cpp.o [ 3888s] [791/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBoxInlineLayout.cpp.o [ 3888s] [792/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPathBox.cpp.o [ 3888s] [793/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/RegistrationOptions.cpp.o [ 3888s] [794/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/MessageServiceWorker.cpp.o [ 3888s] [795/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGUseBox.cpp.o [ 3888s] [796/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRegistrationData.cpp.o [ 3888s] [797/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/font/Font.cpp.o [ 3889s] [798/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerJobData.cpp.o [ 3889s] [799/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/Canvas.cpp.o [ 3889s] [800/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPolylineBox.cpp.o [ 3889s] [801/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerData.cpp.o [ 3889s] [802/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerJob.cpp.o [ 3889s] [803/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Coordinates.cpp.o [ 3889s] [804/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/client/ServiceWorkerProcessManager.cpp.o [ 3889s] [805/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGRectBox.cpp.o [ 3889s] [806/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Mutex.cpp.o [ 3889s] [807/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Geoposition.cpp.o [ 3889s] [808/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Semaphore.cpp.o [ 3889s] [809/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/AdaptedThread.cpp.o [ 3889s] [810/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/ResourceRequest.cpp.o [ 3890s] [811/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerHostConnection.cpp.o [ 3890s] [812/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/ResourceRequestJob.cpp.o [ 3890s] [813/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameTreeBuilderSVG.cpp.o [ 3890s] [814/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/NetworkURLResourceRequestJobDelegate.cpp.o [ 3890s] [815/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Thread.cpp.o [ 3890s] [816/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/EventSourceParser.cpp.o [ 3890s] [817/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/NavigatorMixin.cpp.o [ 3891s] [818/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Geolocation.cpp.o [ 3891s] [819/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/ThreadPool.cpp.o [ 3891s] [820/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/profiling/LayoutFlowLoggerBuilder.cpp.o [ 3891s] [821/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/storage/Storage.cpp.o [ 3891s] [822/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/GeolocationTizen.cpp.o [ 3891s] [823/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WindowOrWorkerGlobalScope.cpp.o [ 3892s] [824/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/BorderImage.cpp.o [ 3892s] [825/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Serializer.cpp.o [ 3892s] [826/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSAngle.cpp.o [ 3892s] [827/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WebBase.cpp.o [ 3892s] [828/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSProperty.cpp.o [ 3892s] [829/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSFilterFunction.cpp.o [ 3892s] [830/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSLength.cpp.o [ 3893s] [831/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSGradientValue.cpp.o [ 3893s] [832/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Navigator.cpp.o [ 3893s] [833/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleLookupTrie.cpp.o [ 3893s] [834/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSTime.cpp.o [ 3893s] [835/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Screen.cpp.o [ 3893s] [836/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/History.cpp.o [ 3893s] [837/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSVariableSyntaxTreeBuilder.cpp.o [ 3893s] [838/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSKeywordValue.cpp.o [ 3893s] [839/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSNumericValue.cpp.o [ 3893s] [840/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CalcData.cpp.o [ 3894s] [841/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CounterStyle.cpp.o [ 3894s] [842/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ContentData.cpp.o [ 3894s] [843/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/AncestorSelectorFilter.cpp.o [ 3894s] [844/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleValue.cpp.o [ 3894s] [845/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Location.cpp.o [ 3894s] [846/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Archiver.cpp.o [ 3894s] [847/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Archivable.cpp.o [ 3895s] [848/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ImageValue.cpp.o [ 3895s] [849/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSRuleList.cpp.o [ 3895s] [850/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSUnitValue.cpp.o [ 3895s] [851/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ListStyleData.cpp.o [ 3895s] [852/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/EventSource.cpp.o [ 3895s] [853/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQuery.cpp.o [ 3895s] [854/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryEvaluator.cpp.o [ 3895s] [855/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/ProgramOptions.cpp.o [ 3895s] [856/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ShadowData.cpp.o [ 3896s] [857/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/NamedColors.cpp.o [ 3896s] [858/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/FilterFunctions.cpp.o [ 3896s] [859/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/PositionedMaskData.cpp.o [ 3896s] [860/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleSheet.cpp.o [ 3896s] [861/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleRule.cpp.o [ 3896s] [862/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSParser.cpp.o [ 3896s] [863/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Unit.cpp.o [ 3896s] [864/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Window.cpp.o [ 3896s] [865/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/launcher/WebWorkerEntry.cpp.o [ 3896s] [866/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleBackgroundData.cpp.o [ 3897s] [867/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Cryptographic.cpp.o [ 3897s] [868/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaList.cpp.o [ 3897s] [869/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleTransitionData.cpp.o [ 3897s] [870/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleAnimationData.cpp.o [ 3897s] [871/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryListMatcher.cpp.o [ 3897s] [872/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/UnitHelper.cpp.o [ 3897s] [873/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Id.cpp.o [ 3897s] [874/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryList.cpp.o [ 3898s] [875/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/GradientData.cpp.o [ 3898s] [876/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleSheet.cpp.o [ 3898s] [877/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Message.cpp.o [ 3898s] [878/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/RandomEngine.cpp.o [ 3898s] [879/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQuerySet.cpp.o [ 3898s] [880/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/AttributeName.cpp.o [ 3898s] [881/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/GlobalOptions.cpp.o [ 3898s] [882/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/AtomicString.cpp.o [ 3898s] [883/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/LineBreakerIteratorPool.cpp.o [ 3899s] [884/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/BrowsingContext.cpp.o [ 3899s] [885/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleSheetList.cpp.o [ 3899s] [886/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasCairoUtils.cpp.o [ 3899s] [887/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Length.cpp.o [ 3899s] [888/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopEFL.cpp.o [ 3899s] [889/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasMock.cpp.o [ 3899s] [890/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/QualifiedName.cpp.o [ 3899s] [891/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/TextConverter.cpp.o [ 3899s] [892/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaValues.cpp.o [ 3899s] [893/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathSkia.cpp.o [ 3899s] [894/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleRule.cpp.o [ 3900s] [895/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/String.cpp.o [ 3900s] [896/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/URL.cpp.o [ 3900s] [897/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/URLSearchParams.cpp.o [ 3900s] [898/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopWindows.cpp.o [ 3900s] [899/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasSkia.cpp.o [ 3900s] [900/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathMock.cpp.o [ 3900s] [901/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplMock.cpp.o [ 3900s] [902/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/hb-icu/HarfBuzzICU.cpp.o [ 3900s] [903/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorGL.cpp.o [ 3900s] [904/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/Demuxer.cpp.o [ 3900s] [905/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorSkia.cpp.o [ 3900s] [906/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/DemuxerMP4.cpp.o [ 3900s] [907/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorMock.cpp.o [ 3900s] [908/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/DemuxerWebM.cpp.o [ 3900s] [909/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MP4PacketGenerator.cpp.o [ 3901s] [910/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplSkia.cpp.o [ 3901s] [911/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayer.cpp.o [ 3901s] [912/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ComputedStyle.cpp.o [ 3901s] [913/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudioLinux.cpp.o [ 3901s] [914/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTizen.cpp.o [ 3901s] [915/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudioTizen.cpp.o [ 3901s] [916/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTV.cpp.o [ 3901s] [917/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WebView.cpp.o [ 3901s] [918/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudio.cpp.o [ 3901s] [919/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTizenBase.cpp.o [ 3901s] [920/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtcTizen.cpp.o [ 3901s] [921/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtc.cpp.o [ 3901s] [922/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtcLinux.cpp.o [ 3901s] [923/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/StreamInfo.cpp.o [ 3901s] [924/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorCairo.cpp.o [ 3901s] [925/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MockMediaPlayer.cpp.o [ 3901s] [926/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPCache.cpp.o [ 3901s] [927/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPCacheEntry.cpp.o [ 3901s] [928/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ComputedStyleCSSStyleDeclaration.cpp.o [ 3901s] [929/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/ImageUtils.cpp.o [ 3901s] [930/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/xml/FormData.cpp.o [ 3901s] [931/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathCairo.cpp.o [ 3901s] [932/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/process/base/Process.cpp.o [ 3901s] [933/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/tts/TTSBase.cpp.o [ 3901s] [934/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/file/Directory.cpp.o [ 3901s] [935/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/tts/TTSTV.cpp.o [ 3902s] [936/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/webrtc/VideoCapturer.cpp.o [ 3902s] [937/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/HeaderResource.cpp.o [ 3902s] [938/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/file/File.cpp.o [ 3902s] [939/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/AnimatedGIFNativeImageDataImpl.cpp.o [ 3902s] [940/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/android/AndroidBridge.cpp.o [ 3902s] [941/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/CompressedNativeImageDataImpl.cpp.o [ 3902s] [942/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/NativeImageDataImpl.cpp.o [ 3902s] [943/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopLibUV.cpp.o [ 3902s] [944/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinWindows.cpp.o [ 3902s] [945/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerEFL.cpp.o [ 3903s] [946/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinEFL.cpp.o [ 3903s] [947/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ResourceURL.cpp.o [ 3903s] [948/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerWindows.cpp.o [ 3903s] [949/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWEWebView.cpp.o [ 3903s] [950/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/xml/XMLHttpRequest.cpp.o [ 3903s] [951/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/TextResource.cpp.o [ 3903s] [952/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPRequest.cpp.o [ 3904s] [953/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerLibUV.cpp.o [ 3904s] [954/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/public/DeviceInfo.cpp.o [ 3904s] [955/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/curl/NetworkSharedResourceManager.cpp.o [ 3904s] [956/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasCairo.cpp.o [ 3904s] [957/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinLibUV.cpp.o [ 3904s] [958/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplGL.cpp.o [ 3904s] [959/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplHeadless.cpp.o [ 3904s] [960/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPHeaderMap.cpp.o [ 3904s] [961/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleDeclaration.cpp.o [ 3904s] [962/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPUtil.cpp.o [ 3904s] [963/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPTransaction.cpp.o [ 3904s] [964/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/JavaScriptNativeHandler.cpp.o [ 3905s] [965/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/VirtualCursorData.cpp.o [ 3905s] [966/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/FontResource.cpp.o [ 3905s] [967/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPResponse.cpp.o [ 3905s] [968/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ElementResourceClient.cpp.o [ 3905s] [969/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWE.cpp.o [ 3905s] [970/1122] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/ExtensionManager.cpp.o [ 3905s] [971/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplCairo.cpp.o [ 3905s] [972/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/glfw/LWEWebViewGLFW.cpp.o [ 3905s] [973/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/ecore_wayland2/LWEWebViewEcoreWayland2.cpp.o [ 3905s] [974/1122] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/ExtensionAdapter.cpp.o [ 3905s] [975/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/Resource.cpp.o [ 3905s] [976/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/efl/LWEWebViewEFL.cpp.o [ 3906s] [977/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/dali/LWEWebViewDALi.cpp.o [ 3906s] [978/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/SVGNativeImageDataImpl.cpp.o [ 3906s] [979/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplGB.cpp.o [ 3906s] [980/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ImageResource.cpp.o [ 3907s] [981/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinAsyncFromSyncIterator.cpp.o [ 3907s] [982/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/FunctionObject.cpp.o [ 3907s] [983/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinAsyncIterator.cpp.o [ 3907s] [984/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ResourceLoader.cpp.o [ 3907s] [985/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinAsyncFunction.cpp.o [ 3907s] [986/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinBoolean.cpp.o [ 3907s] [987/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinArrayBuffer.cpp.o [ 3907s] [988/1122] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/Extension.cpp.o [ 3907s] [989/1122] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/TizenDeviceAPILoaderForEscargot.cpp.o [ 3907s] [990/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GeneratorObject.cpp.o [ 3907s] [991/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinIterator.cpp.o [ 3908s] [992/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObject.cpp.o [ 3908s] [993/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinFunction.cpp.o [ 3908s] [994/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinAsyncGeneratorFunction.cpp.o [ 3908s] [995/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinNumber.cpp.o [ 3908s] [996/1122] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/WebWidgetAPIInstance.cpp.o [ 3908s] [997/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinReflect.cpp.o [ 3908s] [998/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinProxy.cpp.o [ 3908s] [999/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinGeneratorFunction.cpp.o [ 3908s] [1000/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ObjectStructurePropertyDescriptor.cpp.o [ 3908s] [1001/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinError.cpp.o [ 3909s] [1002/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinWeakSet.cpp.o [ 3909s] [1003/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinSet.cpp.o [ 3909s] [1004/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/PlatformWindow.cpp.o [ 3909s] [1005/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinDataView.cpp.o [ 3909s] [1006/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinSymbol.cpp.o [ 3909s] [1007/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinPromise.cpp.o [ 3909s] [1008/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinArray.cpp.o [ 3909s] [1009/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectProxyObject.cpp.o [ 3909s] [1010/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/IEEE754.cpp.o [ 3909s] third_party/escargot/src/runtime/IEEE754.cpp: In function 'double Escargot::ieee754::ceil(double)': [ 3909s] third_party/escargot/src/runtime/IEEE754.cpp:86:18: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] [ 3909s] 86 | #define __LO(x) *(int *)&x [ 3909s] | ^~~~~~~~~ [ 3909s] 87 | #define __HIp(x) *(1 + (int *)x) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 88 | #define __LOp(x) *(int *)x [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 89 | [ 3909s] | [ 3909s] 90 | #else [ 3909s] | ~~~~~ [ 3909s] 91 | [ 3909s] | [ 3909s] 92 | typedef union { [ 3909s] | ~~~~~~~~~~~~~~~ [ 3909s] 93 | double value; [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 94 | struct { [ 3909s] | ~~~~~~~~ [ 3909s] 95 | uint32_t msw; [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 96 | uint32_t lsw; [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 97 | } parts; [ 3909s] | ~~~~~~~~ [ 3909s] 98 | struct { [ 3909s] | ~~~~~~~~ [ 3909s] 99 | uint64_t w; [ 3909s] | ~~~~~~~~~~~ [ 3909s] 100 | } xparts; [ 3909s] | ~~~~~~~~~ [ 3909s] 101 | } ieee_double_shape_type; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 102 | [ 3909s] | [ 3909s] 103 | #define __HI(x) *(int *)&x [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 104 | #define __LO(x) *(1 + (int *)&x) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 105 | #define __HIp(x) *(int *)x [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 106 | #define __LOp(x) *(1 + (int *)x) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 107 | [ 3909s] | [ 3909s] 108 | #endif [ 3909s] | ~~~~~~ [ 3909s] 109 | [ 3909s] | [ 3909s] 110 | /* Get two 32 bit ints from a double. */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 111 | [ 3909s] | [ 3909s] 112 | #define EXTRACT_WORDS(ix0, ix1, d) \ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 113 | do { \ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 114 | ieee_double_shape_type ew_u; \ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 115 | ew_u.value = (d); \ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 116 | (ix0) = ew_u.parts.msw; \ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 117 | (ix1) = ew_u.parts.lsw; \ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 118 | } while (0) [ 3909s] | ~~~~~~~~~~~ [ 3909s] 119 | [ 3909s] | [ 3909s] 120 | /* Get a 64-bit int from a double. */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 121 | #define EXTRACT_WORD64(ix, d) \ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 122 | do { \ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 123 | ieee_double_shape_type ew_u; \ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 124 | ew_u.value = (d); \ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 125 | (ix) = ew_u.xparts.w; \ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 126 | } while (0) [ 3909s] | ~~~~~~~~~~~ [ 3909s] 127 | [ 3909s] | [ 3909s] 128 | /* Get the more significant 32 bit int from a double. */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 129 | [ 3909s] | [ 3909s] 130 | #define GET_HIGH_WORD(i, d) \ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 131 | do { \ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 132 | ieee_double_shape_type gh_u; \ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 133 | gh_u.value = (d); \ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 134 | (i) = gh_u.parts.msw; \ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 135 | } while (0) [ 3909s] | ~~~~~~~~~~~ [ 3909s] 136 | [ 3909s] | [ 3909s] 137 | /* Get the less significant 32 bit int from a double. */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 138 | [ 3909s] | [ 3909s] 139 | #define GET_LOW_WORD(i, d) \ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 140 | do { \ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 141 | ieee_double_shape_type gl_u; \ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 142 | gl_u.value = (d); \ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 143 | (i) = gl_u.parts.lsw; \ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 144 | } while (0) [ 3909s] | ~~~~~~~~~~~ [ 3909s] 145 | [ 3909s] | [ 3909s] 146 | /* Set a double from two 32 bit ints. */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 147 | [ 3909s] | [ 3909s] 148 | #define INSERT_WORDS(d, ix0, ix1) \ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 149 | do { \ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 150 | ieee_double_shape_type iw_u; \ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 151 | iw_u.parts.msw = (ix0); \ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 152 | iw_u.parts.lsw = (ix1); \ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 153 | (d) = iw_u.value; \ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 154 | } while (0) [ 3909s] | ~~~~~~~~~~~ [ 3909s] 155 | [ 3909s] | [ 3909s] 156 | /* Set a double from a 64-bit int. */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 157 | #define INSERT_WORD64(d, ix) \ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 158 | do { \ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 159 | ieee_double_shape_type iw_u; \ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 160 | iw_u.xparts.w = (ix); \ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 161 | (d) = iw_u.value; \ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 162 | } while (0) [ 3909s] | ~~~~~~~~~~~ [ 3909s] 163 | [ 3909s] | [ 3909s] 164 | /* Set the more significant 32 bits of a double from an int. */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 165 | [ 3909s] | [ 3909s] 166 | #define SET_HIGH_WORD(d, v) \ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 167 | do { \ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 168 | ieee_double_shape_type sh_u; \ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 169 | sh_u.value = (d); \ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 170 | sh_u.parts.msw = (v); \ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 171 | (d) = sh_u.value; \ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 172 | } while (0) [ 3909s] | ~~~~~~~~~~~ [ 3909s] 173 | [ 3909s] | [ 3909s] 174 | /* Set the less significant 32 bits of a double from an int. */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 175 | [ 3909s] | [ 3909s] 176 | #define SET_LOW_WORD(d, v) \ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 177 | do { \ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 178 | ieee_double_shape_type sl_u; \ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 179 | sl_u.value = (d); \ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 180 | sl_u.parts.lsw = (v); \ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 181 | (d) = sl_u.value; \ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 182 | } while (0) [ 3909s] | ~~~~~~~~~~~ [ 3909s] 183 | [ 3909s] | [ 3909s] 184 | /* Support macro. */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~ [ 3909s] 185 | [ 3909s] | [ 3909s] 186 | #define STRICT_ASSIGN(type, lval, rval) ((lval) = (rval)) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 187 | [ 3909s] | [ 3909s] 188 | int32_t __ieee754_rem_pio2(double x, double *y) WARN_UNUSED_RETURN; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 189 | double __kernel_cos(double x, double y) WARN_UNUSED_RETURN; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 190 | int __kernel_rem_pio2(double *x, double *y, int e0, int nx, int prec, [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 191 | const int32_t *ipio2) WARN_UNUSED_RETURN; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 192 | double __kernel_sin(double x, double y, int iy) WARN_UNUSED_RETURN; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 193 | [ 3909s] | [ 3909s] 194 | /* __ieee754_rem_pio2(x,y) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 195 | * [ 3909s] | ~ [ 3909s] 196 | * return the remainder of x rem pi/2 in y[0]+y[1] [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 197 | * use __kernel_rem_pio2() [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 198 | */ [ 3909s] | ~~ [ 3909s] 199 | int32_t __ieee754_rem_pio2(double x, double *y) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 200 | { [ 3909s] | ~ [ 3909s] 201 | /* [ 3909s] | ~~ [ 3909s] 202 | * Table of constants for 2/pi, 396 Hex digits (476 decimal) of 2/pi [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 203 | */ [ 3909s] | ~~ [ 3909s] 204 | constexpr int32_t two_over_pi[] = { [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 205 | 0xA2F983, 0x6E4E44, 0x1529FC, 0x2757D1, 0xF534DD, 0xC0DB62, 0x95993C, [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 206 | 0x439041, 0xFE5163, 0xABDEBB, 0xC561B7, 0x246E3A, 0x424DD2, 0xE00649, [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 207 | 0x2EEA09, 0xD1921C, 0xFE1DEB, 0x1CB129, 0xA73EE8, 0x8235F5, 0x2EBB44, [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 208 | 0x84E99C, 0x7026B4, 0x5F7E41, 0x3991D6, 0x398353, 0x39F49C, 0x845F8B, [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 209 | 0xBDF928, 0x3B1FF8, 0x97FFDE, 0x05980F, 0xEF2F11, 0x8B5A0A, 0x6D1F6D, [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 210 | 0x367ECF, 0x27CB09, 0xB74F46, 0x3F669E, 0x5FEA2D, 0x7527BA, 0xC7EBE5, [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 211 | 0xF17B3D, 0x0739F7, 0x8A5292, 0xEA6BFB, 0x5FB11F, 0x8D5D08, 0x560330, [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 212 | 0x46FC7B, 0x6BABF0, 0xCFBC20, 0x9AF436, 0x1DA9E3, 0x91615E, 0xE61B08, [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 213 | 0x659985, 0x5F14A0, 0x68408D, 0xFFD880, 0x4D7327, 0x310606, 0x1556CA, [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 214 | 0x73A8C9, 0x60E27B, 0xC08C6B, [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 215 | }; [ 3909s] | ~~ [ 3909s] 216 | [ 3909s] | [ 3909s] 217 | constexpr int32_t npio2_hw[] = { [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 218 | 0x3FF921FB, 0x400921FB, 0x4012D97C, 0x401921FB, 0x401F6A7A, 0x4022D97C, [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 219 | 0x4025FDBB, 0x402921FB, 0x402C463A, 0x402F6A7A, 0x4031475C, 0x4032D97C, [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 220 | 0x40346B9C, 0x4035FDBB, 0x40378FDB, 0x403921FB, 0x403AB41B, 0x403C463A, [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 221 | 0x403DD85A, 0x403F6A7A, 0x40407E4C, 0x4041475C, 0x4042106C, 0x4042D97C, [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 222 | 0x4043A28C, 0x40446B9C, 0x404534AC, 0x4045FDBB, 0x4046C6CB, 0x40478FDB, [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 223 | 0x404858EB, 0x404921FB, [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 224 | }; [ 3909s] | ~~ [ 3909s] 225 | [ 3909s] | [ 3909s] 226 | /* [ 3909s] | ~~ [ 3909s] 227 | * invpio2: 53 bits of 2/pi [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 228 | * pio2_1: first 33 bit of pi/2 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 229 | * pio2_1t: pi/2 - pio2_1 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 230 | * pio2_2: second 33 bit of pi/2 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 231 | * pio2_2t: pi/2 - (pio2_1+pio2_2) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 232 | * pio2_3: third 33 bit of pi/2 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 233 | * pio2_3t: pi/2 - (pio2_1+pio2_2+pio2_3) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 234 | */ [ 3909s] | ~~ [ 3909s] 235 | [ 3909s] | [ 3909s] 236 | constexpr double [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 237 | zero [ 3909s] | ~~~~ [ 3909s] 238 | = 0.00000000000000000000e+00, /* 0x00000000, 0x00000000 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 239 | half = 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 240 | two24 = 1.67772160000000000000e+07, /* 0x41700000, 0x00000000 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 241 | invpio2 = 6.36619772367581382433e-01, /* 0x3FE45F30, 0x6DC9C883 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 242 | pio2_1 = 1.57079632673412561417e+00, /* 0x3FF921FB, 0x54400000 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 243 | pio2_1t = 6.07710050650619224932e-11, /* 0x3DD0B461, 0x1A626331 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 244 | pio2_2 = 6.07710050630396597660e-11, /* 0x3DD0B461, 0x1A600000 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 245 | pio2_2t = 2.02226624879595063154e-21, /* 0x3BA3198A, 0x2E037073 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 246 | pio2_3 = 2.02226624871116645580e-21, /* 0x3BA3198A, 0x2E000000 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 247 | pio2_3t = 8.47842766036889956997e-32; /* 0x397B839A, 0x252049C1 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 248 | [ 3909s] | [ 3909s] 249 | double z, w, t, r, fn; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 250 | double tx[3]; [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 251 | int32_t e0, i, j, nx, n, ix, hx; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 252 | uint32_t low; [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 253 | [ 3909s] | [ 3909s] 254 | z = 0; [ 3909s] | ~~~~~~ [ 3909s] 255 | GET_HIGH_WORD(hx, x); /* high word of x */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 256 | ix = hx & 0x7FFFFFFF; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 257 | if (ix <= 0x3FE921FB) { /* |x| ~<= pi/4 , no need for reduction */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 258 | y[0] = x; [ 3909s] | ~~~~~~~~~ [ 3909s] 259 | y[1] = 0; [ 3909s] | ~~~~~~~~~ [ 3909s] 260 | return 0; [ 3909s] | ~~~~~~~~~ [ 3909s] 261 | } [ 3909s] | ~ [ 3909s] 262 | if (ix < 0x4002D97C) { /* |x| < 3pi/4, special case with n=+-1 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 263 | if (hx > 0) { [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 264 | z = x - pio2_1; [ 3909s] | ~~~~~~~~~~~~~~~ [ 3909s] 265 | if (ix != 0x3FF921FB) { /* 33+53 bit pi is good enough */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 266 | y[0] = z - pio2_1t; [ 3909s] | ~~~~~~~~~~~~~~~~~~~ [ 3909s] 267 | y[1] = (z - y[0]) - pio2_1t; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 268 | } else { /* near pi/2, use 33+33+53 bit pi */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 269 | z -= pio2_2; [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 270 | y[0] = z - pio2_2t; [ 3909s] | ~~~~~~~~~~~~~~~~~~~ [ 3909s] 271 | y[1] = (z - y[0]) - pio2_2t; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 272 | } [ 3909s] | ~ [ 3909s] 273 | return 1; [ 3909s] | ~~~~~~~~~ [ 3909s] 274 | } else { /* negative x */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 275 | z = x + pio2_1; [ 3909s] | ~~~~~~~~~~~~~~~ [ 3909s] 276 | if (ix != 0x3FF921FB) { /* 33+53 bit pi is good enough */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 277 | y[0] = z + pio2_1t; [ 3909s] | ~~~~~~~~~~~~~~~~~~~ [ 3909s] 278 | y[1] = (z - y[0]) + pio2_1t; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 279 | } else { /* near pi/2, use 33+33+53 bit pi */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 280 | z += pio2_2; [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 281 | y[0] = z + pio2_2t; [ 3909s] | ~~~~~~~~~~~~~~~~~~~ [ 3909s] 282 | y[1] = (z - y[0]) + pio2_2t; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 283 | } [ 3909s] | ~ [ 3909s] 284 | return -1; [ 3909s] | ~~~~~~~~~~ [ 3909s] 285 | } [ 3909s] | ~ [ 3909s] 286 | } [ 3909s] | ~ [ 3909s] 287 | if (ix <= 0x413921FB) { /* |x| ~<= 2^19*(pi/2), medium size */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 288 | t = fabs(x); [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 289 | n = static_cast(t * invpio2 + half); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 290 | fn = static_cast(n); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 291 | r = t - fn * pio2_1; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~ [ 3909s] 292 | w = fn * pio2_1t; /* 1st round good to 85 bit */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 293 | if (n < 32 && ix != npio2_hw[n - 1]) { [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 294 | y[0] = r - w; /* quick check no cancellation */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 295 | } else { [ 3909s] | ~~~~~~~~ [ 3909s] 296 | uint32_t high; [ 3909s] | ~~~~~~~~~~~~~~ [ 3909s] 297 | j = ix >> 20; [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 298 | y[0] = r - w; [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 299 | GET_HIGH_WORD(high, y[0]); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 300 | i = j - ((high >> 20) & 0x7FF); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 301 | if (i > 16) { /* 2nd iteration needed, good to 118 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 302 | t = r; [ 3909s] | ~~~~~~ [ 3909s] 303 | w = fn * pio2_2; [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 304 | r = t - w; [ 3909s] | ~~~~~~~~~~ [ 3909s] 305 | w = fn * pio2_2t - ((t - r) - w); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 306 | y[0] = r - w; [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 307 | GET_HIGH_WORD(high, y[0]); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 308 | i = j - ((high >> 20) & 0x7FF); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 309 | if (i > 49) { /* 3rd iteration need, 151 bits acc */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 310 | t = r; /* will cover all possible cases */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 311 | w = fn * pio2_3; [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 312 | r = t - w; [ 3909s] | ~~~~~~~~~~ [ 3909s] 313 | w = fn * pio2_3t - ((t - r) - w); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 314 | y[0] = r - w; [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 315 | } [ 3909s] | ~ [ 3909s] 316 | } [ 3909s] | ~ [ 3909s] 317 | } [ 3909s] | ~ [ 3909s] 318 | y[1] = (r - y[0]) - w; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 319 | if (hx < 0) { [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 320 | y[0] = -y[0]; [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 321 | y[1] = -y[1]; [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 322 | return -n; [ 3909s] | ~~~~~~~~~~ [ 3909s] 323 | } else { [ 3909s] | ~~~~~~~~ [ 3909s] 324 | return n; [ 3909s] | ~~~~~~~~~ [ 3909s] 325 | } [ 3909s] | ~ [ 3909s] 326 | } [ 3909s] | ~ [ 3909s] 327 | /* [ 3909s] | ~~ [ 3909s] 328 | * all other (large) arguments [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 329 | */ [ 3909s] | ~~ [ 3909s] 330 | if (ix >= 0x7FF00000) { /* x is inf or NaN */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 331 | y[0] = y[1] = x - x; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~ [ 3909s] 332 | return 0; [ 3909s] | ~~~~~~~~~ [ 3909s] 333 | } [ 3909s] | ~ [ 3909s] 334 | /* set z = scalbn(|x|,ilogb(x)-23) */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 335 | GET_LOW_WORD(low, x); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 336 | SET_LOW_WORD(z, low); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 337 | e0 = (ix >> 20) - 1046; /* e0 = ilogb(z)-23; */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 338 | SET_HIGH_WORD(z, ix - static_cast(e0 << 20)); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 339 | for (i = 0; i < 2; i++) { [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 340 | tx[i] = static_cast(static_cast(z)); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 341 | z = (z - tx[i]) * two24; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 342 | } [ 3909s] | ~ [ 3909s] 343 | tx[2] = z; [ 3909s] | ~~~~~~~~~~ [ 3909s] 344 | nx = 3; [ 3909s] | ~~~~~~~ [ 3909s] 345 | while (tx[nx - 1] == zero) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 346 | nx--; /* skip zero term */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 347 | n = __kernel_rem_pio2(tx, y, e0, nx, 2, two_over_pi); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 348 | if (hx < 0) { [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 349 | y[0] = -y[0]; [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 350 | y[1] = -y[1]; [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 351 | return -n; [ 3909s] | ~~~~~~~~~~ [ 3909s] 352 | } [ 3909s] | ~ [ 3909s] 353 | return n; [ 3909s] | ~~~~~~~~~ [ 3909s] 354 | } [ 3909s] | ~ [ 3909s] 355 | [ 3909s] | [ 3909s] 356 | /* __kernel_cos( x, y ) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 357 | * kernel cos function on [-pi/4, pi/4], pi/4 ~ 0.785398164 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 358 | * Input x is assumed to be bounded by ~pi/4 in magnitude. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 359 | * Input y is the tail of x. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 360 | * [ 3909s] | ~ [ 3909s] 361 | * Algorithm [ 3909s] | ~~~~~~~~~~~ [ 3909s] 362 | * 1. Since cos(-x) = cos(x), we need only to consider positive x. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 363 | * 2. if x < 2^-27 (hx<0x3E400000 0), return 1 with inexact if x!=0. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 364 | * 3. cos(x) is approximated by a polynomial of degree 14 on [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 365 | * [0,pi/4] [ 3909s] | ~~~~~~~~~~~~~~~~~~ [ 3909s] 366 | * 4 14 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 367 | * cos(x) ~ 1 - x*x/2 + C1*x + ... + C6*x [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 368 | * where the remez error is [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 369 | * [ 3909s] | ~ [ 3909s] 370 | * | 2 4 6 8 10 12 14 | -58 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 371 | * |cos(x)-(1-.5*x +C1*x +C2*x +C3*x +C4*x +C5*x +C6*x )| <= 2 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 372 | * | | [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 373 | * [ 3909s] | ~ [ 3909s] 374 | * 4 6 8 10 12 14 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 375 | * 4. let r = C1*x +C2*x +C3*x +C4*x +C5*x +C6*x , then [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 376 | * cos(x) = 1 - x*x/2 + r [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 377 | * since cos(x+y) ~ cos(x) - sin(x)*y [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 378 | * ~ cos(x) - x*y, [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 379 | * a correction term is necessary in cos(x) and hence [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 380 | * cos(x+y) = 1 - (x*x/2 - (r - x*y)) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 381 | * For better accuracy when x > 0.3, let qx = |x|/4 with [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 382 | * the last 32 bits mask off, and if x > 0.78125, let qx = 0.28125. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 383 | * Then [ 3909s] | ~~~~~~~~~~~~~~ [ 3909s] 384 | * cos(x+y) = (1-qx) - ((x*x/2-qx) - (r-x*y)). [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 385 | * Note that 1-qx and (x*x/2-qx) is EXACT here, and the [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 386 | * magnitude of the latter is at least a quarter of x*x/2, [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 387 | * thus, reducing the rounding error in the subtraction. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 388 | */ [ 3909s] | ~~ [ 3909s] 389 | ALWAYS_INLINE double __kernel_cos(double x, double y) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 390 | { [ 3909s] | ~ [ 3909s] 391 | constexpr double [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 392 | one [ 3909s] | ~~~ [ 3909s] 393 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 394 | C1 = 4.16666666666666019037e-02, /* 0x3FA55555, 0x5555554C */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 395 | C2 = -1.38888888888741095749e-03, /* 0xBF56C16C, 0x16C15177 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 396 | C3 = 2.48015872894767294178e-05, /* 0x3EFA01A0, 0x19CB1590 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 397 | C4 = -2.75573143513906633035e-07, /* 0xBE927E4F, 0x809C52AD */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 398 | C5 = 2.08757232129817482790e-09, /* 0x3E21EE9E, 0xBDB4B1C4 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 399 | C6 = -1.13596475577881948265e-11; /* 0xBDA8FAE9, 0xBE8838D4 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 400 | [ 3909s] | [ 3909s] 401 | double a, iz, z, r, qx; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 402 | int32_t ix; [ 3909s] | ~~~~~~~~~~~ [ 3909s] 403 | GET_HIGH_WORD(ix, x); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 404 | ix &= 0x7FFFFFFF; /* ix = |x|'s high word*/ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 405 | if (ix < 0x3E400000 && static_cast(x) == 0) { /* if x < 2**27 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 406 | return one; /* generate inexact */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 407 | } [ 3909s] | ~ [ 3909s] 408 | z = x * x; [ 3909s] | ~~~~~~~~~~ [ 3909s] 409 | r = z * (C1 + z * (C2 + z * (C3 + z * (C4 + z * (C5 + z * C6))))); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 410 | if (ix < 0x3FD33333) { /* if |x| < 0.3 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 411 | return one - (0.5 * z - (z * r - x * y)); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 412 | } else { [ 3909s] | ~~~~~~~~ [ 3909s] 413 | if (ix > 0x3FE90000) { /* x > 0.78125 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 414 | qx = 0.28125; [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 415 | } else { [ 3909s] | ~~~~~~~~ [ 3909s] 416 | INSERT_WORDS(qx, ix - 0x00200000, 0); /* x/4 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 417 | } [ 3909s] | ~ [ 3909s] 418 | iz = 0.5 * z - qx; [ 3909s] | ~~~~~~~~~~~~~~~~~~ [ 3909s] 419 | a = one - qx; [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 420 | return a - (iz - (z * r - x * y)); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 421 | } [ 3909s] | ~ [ 3909s] 422 | } [ 3909s] | ~ [ 3909s] 423 | [ 3909s] | [ 3909s] 424 | /* __kernel_rem_pio2(x,y,e0,nx,prec,ipio2) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 425 | * double x[],y[]; int e0,nx,prec; int ipio2[]; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 426 | * [ 3909s] | ~ [ 3909s] 427 | * __kernel_rem_pio2 return the last three digits of N with [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 428 | * y = x - N*pi/2 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 429 | * so that |y| < pi/2. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 430 | * [ 3909s] | ~ [ 3909s] 431 | * The method is to compute the integer (mod 8) and fraction parts of [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 432 | * (2/pi)*x without doing the full multiplication. In general we [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 433 | * skip the part of the product that are known to be a huge integer ( [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 434 | * more accurately, = 0 mod 8 ). Thus the number of operations are [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 435 | * independent of the exponent of the input. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 436 | * [ 3909s] | ~ [ 3909s] 437 | * (2/pi) is represented by an array of 24-bit integers in ipio2[]. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 438 | * [ 3909s] | ~ [ 3909s] 439 | * Input parameters: [ 3909s] | ~~~~~~~~~~~~~~~~~~~ [ 3909s] 440 | * x[] The input value (must be positive) is broken into nx [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 441 | * pieces of 24-bit integers in double precision format. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 442 | * x[i] will be the i-th 24 bit of x. The scaled exponent [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 443 | * of x[0] is given in input parameter e0 (i.e., x[0]*2^e0 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 444 | * match x's up to 24 bits. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 445 | * [ 3909s] | ~ [ 3909s] 446 | * Example of breaking a double positive z into x[0]+x[1]+x[2]: [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 447 | * e0 = ilogb(z)-23 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 448 | * z = scalbn(z,-e0) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 449 | * for i = 0,1,2 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 450 | * x[i] = floor(z) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 451 | * z = (z-x[i])*2**24 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 452 | * [ 3909s] | ~ [ 3909s] 453 | * [ 3909s] | ~ [ 3909s] 454 | * y[] output result in an array of double precision numbers. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 455 | * The dimension of y[] is: [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 456 | * 24-bit precision 1 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 457 | * 53-bit precision 2 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 458 | * 64-bit precision 2 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 459 | * 113-bit precision 3 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 460 | * The actual value is the sum of them. Thus for 113-bit [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 461 | * precison, one may have to do something like: [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 462 | * [ 3909s] | ~ [ 3909s] 463 | * long double t,w,r_head, r_tail; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 464 | * t = (long double)y[2] + (long double)y[1]; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 465 | * w = (long double)y[0]; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 466 | * r_head = t+w; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 467 | * r_tail = w - (r_head - t); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 468 | * [ 3909s] | ~ [ 3909s] 469 | * e0 The exponent of x[0] [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 470 | * [ 3909s] | ~ [ 3909s] 471 | * nx dimension of x[] [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 472 | * [ 3909s] | ~ [ 3909s] 473 | * prec an integer indicating the precision: [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 474 | * 0 24 bits (single) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 475 | * 1 53 bits (double) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 476 | * 2 64 bits (extended) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 477 | * 3 113 bits (quad) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 478 | * [ 3909s] | ~ [ 3909s] 479 | * ipio2[] [ 3909s] | ~~~~~~~~~~~~~~ [ 3909s] 480 | * integer array, contains the (24*i)-th to (24*i+23)-th [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 481 | * bit of 2/pi after binary point. The corresponding [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 482 | * floating value is [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 483 | * [ 3909s] | ~ [ 3909s] 484 | * ipio2[i] * 2^(-24(i+1)). [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 485 | * [ 3909s] | ~ [ 3909s] 486 | * External function: [ 3909s] | ~~~~~~~~~~~~~~~~~~~~ [ 3909s] 487 | * double scalbn(), floor(); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 488 | * [ 3909s] | ~ [ 3909s] 489 | * [ 3909s] | ~ [ 3909s] 490 | * Here is the description of some local variables: [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 491 | * [ 3909s] | ~ [ 3909s] 492 | * jk jk+1 is the initial number of terms of ipio2[] needed [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 493 | * in the computation. The recommended value is 2,3,4, [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 494 | * 6 for single, double, extended,and quad. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 495 | * [ 3909s] | ~ [ 3909s] 496 | * jz local integer variable indicating the number of [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 497 | * terms of ipio2[] used. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 498 | * [ 3909s] | ~ [ 3909s] 499 | * jx nx - 1 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 500 | * [ 3909s] | ~ [ 3909s] 501 | * jv index for pointing to the suitable ipio2[] for the [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 502 | * computation. In general, we want [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 503 | * ( 2^e0*x[0] * ipio2[jv-1]*2^(-24jv) )/8 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 504 | * is an integer. Thus [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 505 | * e0-3-24*jv >= 0 or (e0-3)/24 >= jv [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 506 | * Hence jv = max(0,(e0-3)/24). [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 507 | * [ 3909s] | ~ [ 3909s] 508 | * jp jp+1 is the number of terms in PIo2[] needed, jp = jk. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 509 | * [ 3909s] | ~ [ 3909s] 510 | * q[] double array with integral value, representing the [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 511 | * 24-bits chunk of the product of x and 2/pi. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 512 | * [ 3909s] | ~ [ 3909s] 513 | * q0 the corresponding exponent of q[0]. Note that the [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 514 | * exponent for q[i] would be q0-24*i. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 515 | * [ 3909s] | ~ [ 3909s] 516 | * PIo2[] double precision array, obtained by cutting pi/2 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 517 | * into 24 bits chunks. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 518 | * [ 3909s] | ~ [ 3909s] 519 | * f[] ipio2[] in floating point [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 520 | * [ 3909s] | ~ [ 3909s] 521 | * iq[] integer array by breaking up q[] in 24-bits chunk. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 522 | * [ 3909s] | ~ [ 3909s] 523 | * fq[] final product of x*(2/pi) in fq[0],..,fq[jk] [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 524 | * [ 3909s] | ~ [ 3909s] 525 | * ih integer. If >0 it indicates q[] is >= 0.5, hence [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 526 | * it also indicates the *sign* of the result. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 527 | * [ 3909s] | ~ [ 3909s] 528 | */ [ 3909s] | ~~ [ 3909s] 529 | int __kernel_rem_pio2(double *x, double *y, int e0, int nx, int prec, [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 530 | const int32_t *ipio2) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 531 | { [ 3909s] | ~ [ 3909s] 532 | /* Constants: [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 533 | * The hexadecimal values are the intended ones for the following [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 534 | * constants. The decimal values may be used, provided that the [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 535 | * compiler will convert from decimal to binary accurately enough [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 536 | * to produce the hexadecimal values shown. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 537 | */ [ 3909s] | ~~ [ 3909s] 538 | constexpr int init_jk[] = { 2, 3, 4, 6 }; /* initial value for jk */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 539 | [ 3909s] | [ 3909s] 540 | constexpr double PIo2[] = { [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 541 | 1.57079625129699707031e+00, /* 0x3FF921FB, 0x40000000 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 542 | 7.54978941586159635335e-08, /* 0x3E74442D, 0x00000000 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 543 | 5.39030252995776476554e-15, /* 0x3CF84698, 0x80000000 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 544 | 3.28200341580791294123e-22, /* 0x3B78CC51, 0x60000000 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 545 | 1.27065575308067607349e-29, /* 0x39F01B83, 0x80000000 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 546 | 1.22933308981111328932e-36, /* 0x387A2520, 0x40000000 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 547 | 2.73370053816464559624e-44, /* 0x36E38222, 0x80000000 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 548 | 2.16741683877804819444e-51, /* 0x3569F31D, 0x00000000 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 549 | }; [ 3909s] | ~~ [ 3909s] 550 | [ 3909s] | [ 3909s] 551 | constexpr double [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 552 | zero [ 3909s] | ~~~~ [ 3909s] 553 | = 0.0, [ 3909s] | ~~~~~~ [ 3909s] 554 | one = 1.0, [ 3909s] | ~~~~~~~~~~ [ 3909s] 555 | two24 = 1.67772160000000000000e+07, /* 0x41700000, 0x00000000 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 556 | twon24 = 5.96046447753906250000e-08; /* 0x3E700000, 0x00000000 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 557 | [ 3909s] | [ 3909s] 558 | int32_t jz, jx, jv, jp, jk, carry, n, iq[20], i, j, k, m, q0, ih; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 559 | double z, fw, f[20], fq[20], q[20]; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 560 | [ 3909s] | [ 3909s] 561 | /* initialize jk*/ [ 3909s] | ~~~~~~~~~~~~~~~~~~ [ 3909s] 562 | jk = init_jk[prec]; [ 3909s] | ~~~~~~~~~~~~~~~~~~~ [ 3909s] 563 | jp = jk; [ 3909s] | ~~~~~~~~ [ 3909s] 564 | [ 3909s] | [ 3909s] 565 | /* determine jx,jv,q0, note that 3>q0 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 566 | jx = nx - 1; [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 567 | jv = (e0 - 3) / 24; [ 3909s] | ~~~~~~~~~~~~~~~~~~~ [ 3909s] 568 | if (jv < 0) [ 3909s] | ~~~~~~~~~~~ [ 3909s] 569 | jv = 0; [ 3909s] | ~~~~~~~ [ 3909s] 570 | q0 = e0 - 24 * (jv + 1); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 571 | [ 3909s] | [ 3909s] 572 | /* set up f[0] to f[jx+jk] where f[jx+jk] = ipio2[jv+jk] */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 573 | j = jv - jx; [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 574 | m = jx + jk; [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 575 | for (i = 0; i <= m; i++, j++) { [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 576 | f[i] = (j < 0) ? zero : static_cast(ipio2[j]); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 577 | } [ 3909s] | ~ [ 3909s] 578 | [ 3909s] | [ 3909s] 579 | /* compute q[0],q[1],...q[jk] */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 580 | for (i = 0; i <= jk; i++) { [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 581 | for (j = 0, fw = 0.0; j <= jx; j++) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 582 | fw += x[j] * f[jx + i - j]; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 583 | q[i] = fw; [ 3909s] | ~~~~~~~~~~ [ 3909s] 584 | } [ 3909s] | ~ [ 3909s] 585 | [ 3909s] | [ 3909s] 586 | jz = jk; [ 3909s] | ~~~~~~~~ [ 3909s] 587 | recompute: [ 3909s] | ~~~~~~~~~~ [ 3909s] 588 | /* distill q[] into iq[] reversingly */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 589 | for (i = 0, j = jz, z = q[jz]; j > 0; i++, j--) { [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 590 | fw = static_cast(static_cast(twon24 * z)); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 591 | iq[i] = static_cast(z - two24 * fw); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 592 | z = q[j - 1] + fw; [ 3909s] | ~~~~~~~~~~~~~~~~~~ [ 3909s] 593 | } [ 3909s] | ~ [ 3909s] 594 | [ 3909s] | [ 3909s] 595 | /* compute n */ [ 3909s] | ~~~~~~~~~~~~~~~ [ 3909s] 596 | z = scalbn(z, q0); /* actual value of z */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 597 | z -= 8.0 * floor(z * 0.125); /* trim off integer >= 8 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 598 | n = static_cast(z); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 599 | z -= static_cast(n); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 600 | ih = 0; [ 3909s] | ~~~~~~~ [ 3909s] 601 | if (q0 > 0) { /* need iq[jz-1] to determine n */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 602 | i = (iq[jz - 1] >> (24 - q0)); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 603 | n += i; [ 3909s] | ~~~~~~~ [ 3909s] 604 | iq[jz - 1] -= i << (24 - q0); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 605 | ih = iq[jz - 1] >> (23 - q0); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 606 | } else if (q0 == 0) { [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 607 | ih = iq[jz - 1] >> 23; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 608 | } else if (z >= 0.5) { [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 609 | ih = 2; [ 3909s] | ~~~~~~~ [ 3909s] 610 | } [ 3909s] | ~ [ 3909s] 611 | [ 3909s] | [ 3909s] 612 | if (ih > 0) { /* q > 0.5 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 613 | n += 1; [ 3909s] | ~~~~~~~ [ 3909s] 614 | carry = 0; [ 3909s] | ~~~~~~~~~~ [ 3909s] 615 | for (i = 0; i < jz; i++) { /* compute 1-q */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 616 | j = iq[i]; [ 3909s] | ~~~~~~~~~~ [ 3909s] 617 | if (carry == 0) { [ 3909s] | ~~~~~~~~~~~~~~~~~ [ 3909s] 618 | if (j != 0) { [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 619 | carry = 1; [ 3909s] | ~~~~~~~~~~ [ 3909s] 620 | iq[i] = 0x1000000 - j; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 621 | } [ 3909s] | ~ [ 3909s] 622 | } else { [ 3909s] | ~~~~~~~~ [ 3909s] 623 | iq[i] = 0xFFFFFF - j; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 624 | } [ 3909s] | ~ [ 3909s] 625 | } [ 3909s] | ~ [ 3909s] 626 | if (q0 > 0) { /* rare case: chance is 1 in 12 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 627 | switch (q0) { [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 628 | case 1: [ 3909s] | ~~~~~~~ [ 3909s] 629 | iq[jz - 1] &= 0x7FFFFF; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 630 | break; [ 3909s] | ~~~~~~ [ 3909s] 631 | case 2: [ 3909s] | ~~~~~~~ [ 3909s] 632 | iq[jz - 1] &= 0x3FFFFF; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 633 | break; [ 3909s] | ~~~~~~ [ 3909s] 634 | } [ 3909s] | ~ [ 3909s] 635 | } [ 3909s] | ~ [ 3909s] 636 | if (ih == 2) { [ 3909s] | ~~~~~~~~~~~~~~ [ 3909s] 637 | z = one - z; [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 638 | if (carry != 0) [ 3909s] | ~~~~~~~~~~~~~~~ [ 3909s] 639 | z -= scalbn(one, q0); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 640 | } [ 3909s] | ~ [ 3909s] 641 | } [ 3909s] | ~ [ 3909s] 642 | [ 3909s] | [ 3909s] 643 | /* check if recomputation is needed */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 644 | if (z == zero) { [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 645 | j = 0; [ 3909s] | ~~~~~~ [ 3909s] 646 | for (i = jz - 1; i >= jk; i--) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 647 | j |= iq[i]; [ 3909s] | ~~~~~~~~~~~ [ 3909s] 648 | if (j == 0) { /* need recomputation */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 649 | for (k = 1; jk >= k && iq[jk - k] == 0; k++) { [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 650 | /* k = no. of terms needed */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 651 | } [ 3909s] | ~ [ 3909s] 652 | [ 3909s] | [ 3909s] 653 | for (i = jz + 1; i <= jz + k; i++) { /* add q[jz+1] to q[jz+k] */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 654 | f[jx + i] = ipio2[jv + i]; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 655 | for (j = 0, fw = 0.0; j <= jx; j++) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 656 | fw += x[j] * f[jx + i - j]; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 657 | q[i] = fw; [ 3909s] | ~~~~~~~~~~ [ 3909s] 658 | } [ 3909s] | ~ [ 3909s] 659 | jz += k; [ 3909s] | ~~~~~~~~ [ 3909s] 660 | goto recompute; [ 3909s] | ~~~~~~~~~~~~~~~ [ 3909s] 661 | } [ 3909s] | ~ [ 3909s] 662 | } [ 3909s] | ~ [ 3909s] 663 | [ 3909s] | [ 3909s] 664 | /* chop off zero terms */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 665 | if (z == 0.0) { [ 3909s] | ~~~~~~~~~~~~~~~ [ 3909s] 666 | jz -= 1; [ 3909s] | ~~~~~~~~ [ 3909s] 667 | q0 -= 24; [ 3909s] | ~~~~~~~~~ [ 3909s] 668 | while (iq[jz] == 0) { [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 669 | jz--; [ 3909s] | ~~~~~ [ 3909s] 670 | q0 -= 24; [ 3909s] | ~~~~~~~~~ [ 3909s] 671 | } [ 3909s] | ~ [ 3909s] 672 | } else { /* break z into 24-bit if necessary */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 673 | z = scalbn(z, -q0); [ 3909s] | ~~~~~~~~~~~~~~~~~~~ [ 3909s] 674 | if (z >= two24) { [ 3909s] | ~~~~~~~~~~~~~~~~~ [ 3909s] 675 | fw = static_cast(static_cast(twon24 * z)); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 676 | iq[jz] = z - two24 * fw; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 677 | jz += 1; [ 3909s] | ~~~~~~~~ [ 3909s] 678 | q0 += 24; [ 3909s] | ~~~~~~~~~ [ 3909s] 679 | iq[jz] = fw; [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 680 | } else { [ 3909s] | ~~~~~~~~ [ 3909s] 681 | iq[jz] = z; [ 3909s] | ~~~~~~~~~~~ [ 3909s] 682 | } [ 3909s] | ~ [ 3909s] 683 | } [ 3909s] | ~ [ 3909s] 684 | [ 3909s] | [ 3909s] 685 | /* convert integer "bit" chunk to floating-point value */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 686 | fw = scalbn(one, q0); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 687 | for (i = jz; i >= 0; i--) { [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 688 | q[i] = fw * iq[i]; [ 3909s] | ~~~~~~~~~~~~~~~~~~ [ 3909s] 689 | fw *= twon24; [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 690 | } [ 3909s] | ~ [ 3909s] 691 | [ 3909s] | [ 3909s] 692 | /* compute PIo2[0,...,jp]*q[jz,...,0] */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 693 | for (i = jz; i >= 0; i--) { [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 694 | for (fw = 0.0, k = 0; k <= jp && k <= jz - i; k++) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 695 | fw += PIo2[k] * q[i + k]; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 696 | fq[jz - i] = fw; [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 697 | } [ 3909s] | ~ [ 3909s] 698 | [ 3909s] | [ 3909s] 699 | /* compress fq[] into y[] */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 700 | switch (prec) { [ 3909s] | ~~~~~~~~~~~~~~~ [ 3909s] 701 | case 0: [ 3909s] | ~~~~~~~ [ 3909s] 702 | fw = 0.0; [ 3909s] | ~~~~~~~~~ [ 3909s] 703 | for (i = jz; i >= 0; i--) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 704 | fw += fq[i]; [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 705 | y[0] = (ih == 0) ? fw : -fw; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 706 | break; [ 3909s] | ~~~~~~ [ 3909s] 707 | case 1: [ 3909s] | ~~~~~~~ [ 3909s] 708 | case 2: [ 3909s] | ~~~~~~~ [ 3909s] 709 | fw = 0.0; [ 3909s] | ~~~~~~~~~ [ 3909s] 710 | for (i = jz; i >= 0; i--) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 711 | fw += fq[i]; [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 712 | y[0] = (ih == 0) ? fw : -fw; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 713 | fw = fq[0] - fw; [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 714 | for (i = 1; i <= jz; i++) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 715 | fw += fq[i]; [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 716 | y[1] = (ih == 0) ? fw : -fw; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 717 | break; [ 3909s] | ~~~~~~ [ 3909s] 718 | case 3: /* painful */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 719 | for (i = jz; i > 0; i--) { [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 720 | fw = fq[i - 1] + fq[i]; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 721 | fq[i] += fq[i - 1] - fw; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 722 | fq[i - 1] = fw; [ 3909s] | ~~~~~~~~~~~~~~~ [ 3909s] 723 | } [ 3909s] | ~ [ 3909s] 724 | for (i = jz; i > 1; i--) { [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 725 | fw = fq[i - 1] + fq[i]; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 726 | fq[i] += fq[i - 1] - fw; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 727 | fq[i - 1] = fw; [ 3909s] | ~~~~~~~~~~~~~~~ [ 3909s] 728 | } [ 3909s] | ~ [ 3909s] 729 | for (fw = 0.0, i = jz; i >= 2; i--) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 730 | fw += fq[i]; [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 731 | if (ih == 0) { [ 3909s] | ~~~~~~~~~~~~~~ [ 3909s] 732 | y[0] = fq[0]; [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 733 | y[1] = fq[1]; [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 734 | y[2] = fw; [ 3909s] | ~~~~~~~~~~ [ 3909s] 735 | } else { [ 3909s] | ~~~~~~~~ [ 3909s] 736 | y[0] = -fq[0]; [ 3909s] | ~~~~~~~~~~~~~~ [ 3909s] 737 | y[1] = -fq[1]; [ 3909s] | ~~~~~~~~~~~~~~ [ 3909s] 738 | y[2] = -fw; [ 3909s] | ~~~~~~~~~~~ [ 3909s] 739 | } [ 3909s] | ~ [ 3909s] 740 | } [ 3909s] | ~ [ 3909s] 741 | return n & 7; [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 742 | } [ 3909s] | ~ [ 3909s] 743 | [ 3909s] | [ 3909s] 744 | /* __kernel_sin( x, y, iy) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 745 | * kernel sin function on [-pi/4, pi/4], pi/4 ~ 0.7854 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 746 | * Input x is assumed to be bounded by ~pi/4 in magnitude. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 747 | * Input y is the tail of x. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 748 | * Input iy indicates whether y is 0. (if iy=0, y assume to be 0). [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 749 | * [ 3909s] | ~ [ 3909s] 750 | * Algorithm [ 3909s] | ~~~~~~~~~~~ [ 3909s] 751 | * 1. Since sin(-x) = -sin(x), we need only to consider positive x. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 752 | * 2. if x < 2^-27 (hx<0x3E400000 0), return x with inexact if x!=0. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 753 | * 3. sin(x) is approximated by a polynomial of degree 13 on [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 754 | * [0,pi/4] [ 3909s] | ~~~~~~~~~~~~~~~~~~ [ 3909s] 755 | * 3 13 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 756 | * sin(x) ~ x + S1*x + ... + S6*x [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 757 | * where [ 3909s] | ~~~~~~~~~~~~~~~ [ 3909s] 758 | * [ 3909s] | ~ [ 3909s] 759 | * |sin(x) 2 4 6 8 10 12 | -58 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 760 | * |----- - (1+S1*x +S2*x +S3*x +S4*x +S5*x +S6*x )| <= 2 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 761 | * | x | [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 762 | * [ 3909s] | ~ [ 3909s] 763 | * 4. sin(x+y) = sin(x) + sin'(x')*y [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 764 | * ~ sin(x) + (1-x*x/2)*y [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 765 | * For better accuracy, let [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 766 | * 3 2 2 2 2 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 767 | * r = x *(S2+x *(S3+x *(S4+x *(S5+x *S6)))) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 768 | * then 3 2 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 769 | * sin(x) = x + (S1*x + (x *(r-y/2)+y)) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 770 | */ [ 3909s] | ~~ [ 3909s] 771 | ALWAYS_INLINE double __kernel_sin(double x, double y, int iy) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 772 | { [ 3909s] | ~ [ 3909s] 773 | constexpr double [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 774 | half [ 3909s] | ~~~~ [ 3909s] 775 | = 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 776 | S1 = -1.66666666666666324348e-01, /* 0xBFC55555, 0x55555549 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 777 | S2 = 8.33333333332248946124e-03, /* 0x3F811111, 0x1110F8A6 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 778 | S3 = -1.98412698298579493134e-04, /* 0xBF2A01A0, 0x19C161D5 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 779 | S4 = 2.75573137070700676789e-06, /* 0x3EC71DE3, 0x57B1FE7D */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 780 | S5 = -2.50507602534068634195e-08, /* 0xBE5AE5E6, 0x8A2B9CEB */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 781 | S6 = 1.58969099521155010221e-10; /* 0x3DE5D93A, 0x5ACFD57C */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 782 | [ 3909s] | [ 3909s] 783 | double z, r, v; [ 3909s] | ~~~~~~~~~~~~~~~ [ 3909s] 784 | int32_t ix; [ 3909s] | ~~~~~~~~~~~ [ 3909s] 785 | GET_HIGH_WORD(ix, x); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 786 | ix &= 0x7FFFFFFF; /* high word of x */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 787 | if (ix < 0x3E400000 && static_cast(x) == 0) { /* |x| < 2**-27 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 788 | return x; [ 3909s] | ~~~~~~~~~ [ 3909s] 789 | } /* generate inexact */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 790 | z = x * x; [ 3909s] | ~~~~~~~~~~ [ 3909s] 791 | v = z * x; [ 3909s] | ~~~~~~~~~~ [ 3909s] 792 | r = S2 + z * (S3 + z * (S4 + z * (S5 + z * S6))); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 793 | if (iy == 0) { [ 3909s] | ~~~~~~~~~~~~~~ [ 3909s] 794 | return x + v * (S1 + z * r); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 795 | } else { [ 3909s] | ~~~~~~~~ [ 3909s] 796 | return x - ((z * (half * y - v * r) - y) - v * S1); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 797 | } [ 3909s] | ~ [ 3909s] 798 | } [ 3909s] | ~ [ 3909s] 799 | [ 3909s] | [ 3909s] 800 | /* __kernel_tan( x, y, k ) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 801 | * kernel tan function on [-pi/4, pi/4], pi/4 ~ 0.7854 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 802 | * Input x is assumed to be bounded by ~pi/4 in magnitude. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 803 | * Input y is the tail of x. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 804 | * Input k indicates whether tan (if k=1) or [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 805 | * -1/tan (if k= -1) is returned. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 806 | * [ 3909s] | ~ [ 3909s] 807 | * Algorithm [ 3909s] | ~~~~~~~~~~~ [ 3909s] 808 | * 1. Since tan(-x) = -tan(x), we need only to consider positive x. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 809 | * 2. if x < 2^-28 (hx<0x3E300000 0), return x with inexact if x!=0. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 810 | * 3. tan(x) is approximated by a odd polynomial of degree 27 on [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 811 | * [0,0.67434] [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 812 | * 3 27 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 813 | * tan(x) ~ x + T1*x + ... + T13*x [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 814 | * where [ 3909s] | ~~~~~~~~~~~~~~~ [ 3909s] 815 | * [ 3909s] | ~ [ 3909s] 816 | * |tan(x) 2 4 26 | -59.2 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 817 | * |----- - (1+T1*x +T2*x +.... +T13*x )| <= 2 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 818 | * | x | [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 819 | * [ 3909s] | ~ [ 3909s] 820 | * Note: tan(x+y) = tan(x) + tan'(x)*y [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 821 | * ~ tan(x) + (1+x*x)*y [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 822 | * Therefore, for better accuracy in computing tan(x+y), let [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 823 | * 3 2 2 2 2 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 824 | * r = x *(T2+x *(T3+x *(...+x *(T12+x *T13)))) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 825 | * then [ 3909s] | ~~~~~~~~~~~~~~ [ 3909s] 826 | * 3 2 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 827 | * tan(x+y) = x + (T1*x + (x *(r+y)+y)) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 828 | * [ 3909s] | ~ [ 3909s] 829 | * 4. For x in [0.67434,pi/4], let y = pi/4 - x, then [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 830 | * tan(x) = tan(pi/4-y) = (1-tan(y))/(1+tan(y)) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 831 | * = 1 - 2*(tan(y) - (tan(y)^2)/(1+tan(y))) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 832 | */ [ 3909s] | ~~ [ 3909s] 833 | double __kernel_tan(double x, double y, int iy) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 834 | { [ 3909s] | ~ [ 3909s] 835 | constexpr double xxx[] = { [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 836 | 3.33333333333334091986e-01, /* 3FD55555, 55555563 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 837 | 1.33333333333201242699e-01, /* 3FC11111, 1110FE7A */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 838 | 5.39682539762260521377e-02, /* 3FABA1BA, 1BB341FE */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 839 | 2.18694882948595424599e-02, /* 3F9664F4, 8406D637 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 840 | 8.86323982359930005737e-03, /* 3F8226E3, E96E8493 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 841 | 3.59207910759131235356e-03, /* 3F6D6D22, C9560328 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 842 | 1.45620945432529025516e-03, /* 3F57DBC8, FEE08315 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 843 | 5.88041240820264096874e-04, /* 3F4344D8, F2F26501 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 844 | 2.46463134818469906812e-04, /* 3F3026F7, 1A8D1068 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 845 | 7.81794442939557092300e-05, /* 3F147E88, A03792A6 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 846 | 7.14072491382608190305e-05, /* 3F12B80F, 32F0A7E9 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 847 | -1.85586374855275456654e-05, /* BEF375CB, DB605373 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 848 | 2.59073051863633712884e-05, /* 3EFB2A70, 74BF7AD4 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 849 | /* one */ 1.00000000000000000000e+00, /* 3FF00000, 00000000 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 850 | /* pio4 */ 7.85398163397448278999e-01, /* 3FE921FB, 54442D18 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 851 | /* pio4lo */ 3.06161699786838301793e-17 /* 3C81A626, 33145C07 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 852 | }; [ 3909s] | ~~ [ 3909s] 853 | #define one xxx[13] [ 3909s] | ~~~~~~~~~~~~~~~~~~~ [ 3909s] 854 | #define pio4 xxx[14] [ 3909s] | ~~~~~~~~~~~~~~~~~~~~ [ 3909s] 855 | #define pio4lo xxx[15] [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 856 | #define T xxx [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 857 | [ 3909s] | [ 3909s] 858 | double z, r, v, w, s; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 859 | int32_t ix, hx; [ 3909s] | ~~~~~~~~~~~~~~~ [ 3909s] 860 | [ 3909s] | [ 3909s] 861 | GET_HIGH_WORD(hx, x); /* high word of x */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 862 | ix = hx & 0x7FFFFFFF; /* high word of |x| */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 863 | if (ix < 0x3E300000 && static_cast(x) == 0) { /* x < 2**-28 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 864 | /* generate inexact */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 865 | uint32_t low; [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 866 | GET_LOW_WORD(low, x); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 867 | if (((ix | low) | (iy + 1)) == 0) { [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 868 | return one / fabs(x); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 869 | } else { [ 3909s] | ~~~~~~~~ [ 3909s] 870 | if (iy == 1) { [ 3909s] | ~~~~~~~~~~~~~~ [ 3909s] 871 | return x; [ 3909s] | ~~~~~~~~~ [ 3909s] 872 | } else { /* compute -1 / (x+y) carefully */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 873 | double a, t; [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 874 | [ 3909s] | [ 3909s] 875 | z = w = x + y; [ 3909s] | ~~~~~~~~~~~~~~ [ 3909s] 876 | SET_LOW_WORD(z, 0); [ 3909s] | ~~~~~~~~~~~~~~~~~~~ [ 3909s] 877 | v = y - (z - x); [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 878 | t = a = -one / w; [ 3909s] | ~~~~~~~~~~~~~~~~~ [ 3909s] 879 | SET_LOW_WORD(t, 0); [ 3909s] | ~~~~~~~~~~~~~~~~~~~ [ 3909s] 880 | s = one + t * z; [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 881 | return t + a * (s + t * v); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 882 | } [ 3909s] | ~ [ 3909s] 883 | } [ 3909s] | ~ [ 3909s] 884 | } [ 3909s] | ~ [ 3909s] 885 | if (ix >= 0x3FE59428) { /* |x| >= 0.6744 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 886 | if (hx < 0) { [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 887 | x = -x; [ 3909s] | ~~~~~~~ [ 3909s] 888 | y = -y; [ 3909s] | ~~~~~~~ [ 3909s] 889 | } [ 3909s] | ~ [ 3909s] 890 | z = pio4 - x; [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 891 | w = pio4lo - y; [ 3909s] | ~~~~~~~~~~~~~~~ [ 3909s] 892 | x = z + w; [ 3909s] | ~~~~~~~~~~ [ 3909s] 893 | y = 0.0; [ 3909s] | ~~~~~~~~ [ 3909s] 894 | } [ 3909s] | ~ [ 3909s] 895 | z = x * x; [ 3909s] | ~~~~~~~~~~ [ 3909s] 896 | w = z * z; [ 3909s] | ~~~~~~~~~~ [ 3909s] 897 | /* [ 3909s] | ~~ [ 3909s] 898 | * Break x^5*(T[1]+x^2*T[2]+...) into [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 899 | * x^5(T[1]+x^4*T[3]+...+x^20*T[11]) + [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 900 | * x^5(x^2*(T[2]+x^4*T[4]+...+x^22*[T12])) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 901 | */ [ 3909s] | ~~ [ 3909s] 902 | r = T[1] + w * (T[3] + w * (T[5] + w * (T[7] + w * (T[9] + w * T[11])))); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 903 | v = z * (T[2] + w * (T[4] + w * (T[6] + w * (T[8] + w * (T[10] + w * T[12]))))); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 904 | s = z * x; [ 3909s] | ~~~~~~~~~~ [ 3909s] 905 | r = y + z * (s * (r + v) + y); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 906 | r += T[0] * s; [ 3909s] | ~~~~~~~~~~~~~~ [ 3909s] 907 | w = x + r; [ 3909s] | ~~~~~~~~~~ [ 3909s] 908 | if (ix >= 0x3FE59428) { [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 909 | v = iy; [ 3909s] | ~~~~~~~ [ 3909s] 910 | return (1 - ((hx >> 30) & 2)) * (v - 2.0 * (x - (w * w / (w + v) - r))); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 911 | } [ 3909s] | ~ [ 3909s] 912 | if (iy == 1) { [ 3909s] | ~~~~~~~~~~~~~~ [ 3909s] 913 | return w; [ 3909s] | ~~~~~~~~~ [ 3909s] 914 | } else { [ 3909s] | ~~~~~~~~ [ 3909s] 915 | /* [ 3909s] | ~~ [ 3909s] 916 | * if allow error up to 2 ulp, simply return [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 917 | * -1.0 / (x+r) here [ 3909s] | ~~~~~~~~~~~~~~~~~~~ [ 3909s] 918 | */ [ 3909s] | ~~ [ 3909s] 919 | /* compute -1.0 / (x+r) accurately */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 920 | double a, t; [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 921 | z = w; [ 3909s] | ~~~~~~ [ 3909s] 922 | SET_LOW_WORD(z, 0); [ 3909s] | ~~~~~~~~~~~~~~~~~~~ [ 3909s] 923 | v = r - (z - x); /* z+v = r+x */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 924 | t = a = -1.0 / w; /* a = -1.0/w */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 925 | SET_LOW_WORD(t, 0); [ 3909s] | ~~~~~~~~~~~~~~~~~~~ [ 3909s] 926 | s = 1.0 + t * z; [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 927 | return t + a * (s + t * v); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 928 | } [ 3909s] | ~ [ 3909s] 929 | [ 3909s] | [ 3909s] 930 | #undef one [ 3909s] | ~~~~~~~~~~ [ 3909s] 931 | #undef pio4 [ 3909s] | ~~~~~~~~~~~ [ 3909s] 932 | #undef pio4lo [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 933 | #undef T [ 3909s] | ~~~~~~~~ [ 3909s] 934 | } [ 3909s] | ~ [ 3909s] 935 | [ 3909s] | [ 3909s] 936 | } // namespace [ 3909s] | ~~~~~~~~~~~~~~ [ 3909s] 937 | [ 3909s] | [ 3909s] 938 | /* acos(x) [ 3909s] | ~~~~~~~~~~ [ 3909s] 939 | * Method : [ 3909s] | ~~~~~~~~~~ [ 3909s] 940 | * acos(x) = pi/2 - asin(x) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 941 | * acos(-x) = pi/2 + asin(x) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 942 | * For |x|<=0.5 [ 3909s] | ~~~~~~~~~~~~~~ [ 3909s] 943 | * acos(x) = pi/2 - (x + x*x^2*R(x^2)) (see asin.c) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 944 | * For x>0.5 [ 3909s] | ~~~~~~~~~~~ [ 3909s] 945 | * acos(x) = pi/2 - (pi/2 - 2asin(sqrt((1-x)/2))) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 946 | * = 2asin(sqrt((1-x)/2)) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 947 | * = 2s + 2s*z*R(z) ...z=(1-x)/2, s=sqrt(z) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 948 | * = 2f + (2c + 2s*z*R(z)) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 949 | * where f=hi part of s, and c = (z-f*f)/(s+f) is the correction term [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 950 | * for f so that f+c ~ sqrt(z). [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 951 | * For x<-0.5 [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 952 | * acos(x) = pi - 2asin(sqrt((1-|x|)/2)) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 953 | * = pi - 0.5*(s+s*z*R(z)), where z=(1-|x|)/2,s=sqrt(z) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 954 | * [ 3909s] | ~ [ 3909s] 955 | * Special cases: [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 956 | * if x is NaN, return x itself; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 957 | * if |x|>1, return NaN with invalid signal. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 958 | * [ 3909s] | ~ [ 3909s] 959 | * Function needed: sqrt [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 960 | */ [ 3909s] | ~~ [ 3909s] 961 | double acos(double x) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 962 | { [ 3909s] | ~ [ 3909s] 963 | constexpr double [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 964 | one [ 3909s] | ~~~ [ 3909s] 965 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 966 | pi = 3.14159265358979311600e+00, /* 0x400921FB, 0x54442D18 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 967 | pio2_hi = 1.57079632679489655800e+00, /* 0x3FF921FB, 0x54442D18 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 968 | pio2_lo = 6.12323399573676603587e-17, /* 0x3C91A626, 0x33145C07 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 969 | pS0 = 1.66666666666666657415e-01, /* 0x3FC55555, 0x55555555 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 970 | pS1 = -3.25565818622400915405e-01, /* 0xBFD4D612, 0x03EB6F7D */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 971 | pS2 = 2.01212532134862925881e-01, /* 0x3FC9C155, 0x0E884455 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 972 | pS3 = -4.00555345006794114027e-02, /* 0xBFA48228, 0xB5688F3B */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 973 | pS4 = 7.91534994289814532176e-04, /* 0x3F49EFE0, 0x7501B288 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 974 | pS5 = 3.47933107596021167570e-05, /* 0x3F023DE1, 0x0DFDF709 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 975 | qS1 = -2.40339491173441421878e+00, /* 0xC0033A27, 0x1C8A2D4B */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 976 | qS2 = 2.02094576023350569471e+00, /* 0x40002AE5, 0x9C598AC8 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 977 | qS3 = -6.88283971605453293030e-01, /* 0xBFE6066C, 0x1B8D0159 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 978 | qS4 = 7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 979 | [ 3909s] | [ 3909s] 980 | double z, p, q, r, w, s, c, df; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 981 | int32_t hx, ix; [ 3909s] | ~~~~~~~~~~~~~~~ [ 3909s] 982 | GET_HIGH_WORD(hx, x); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 983 | ix = hx & 0x7FFFFFFF; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 984 | if (ix >= 0x3FF00000) { /* |x| >= 1 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 985 | uint32_t lx; [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 986 | GET_LOW_WORD(lx, x); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~ [ 3909s] 987 | if (((ix - 0x3FF00000) | lx) == 0) { /* |x|==1 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 988 | if (hx > 0) [ 3909s] | ~~~~~~~~~~~ [ 3909s] 989 | return 0.0; /* acos(1) = 0 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 990 | else [ 3909s] | ~~~~ [ 3909s] 991 | return pi + 2.0 * pio2_lo; /* acos(-1)= pi */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 992 | } [ 3909s] | ~ [ 3909s] 993 | return (x - x) / (x - x); /* acos(|x|>1) is NaN */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 994 | } [ 3909s] | ~ [ 3909s] 995 | if (ix < 0x3FE00000) { /* |x| < 0.5 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 996 | if (ix <= 0x3C600000) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 997 | return pio2_hi + pio2_lo; /*if|x|<2**-57*/ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 998 | z = x * x; [ 3909s] | ~~~~~~~~~~ [ 3909s] 999 | p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5))))); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1000 | q = one + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4))); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1001 | r = p / q; [ 3909s] | ~~~~~~~~~~ [ 3909s] 1002 | return pio2_hi - (x - (pio2_lo - x * r)); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1003 | } else if (hx < 0) { /* x < -0.5 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1004 | z = (one + x) * 0.5; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1005 | p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5))))); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1006 | q = one + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4))); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1007 | s = sqrt(z); [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 1008 | r = p / q; [ 3909s] | ~~~~~~~~~~ [ 3909s] 1009 | w = r * s - pio2_lo; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1010 | return pi - 2.0 * (s + w); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1011 | } else { /* x > 0.5 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1012 | z = (one - x) * 0.5; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1013 | s = sqrt(z); [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 1014 | df = s; [ 3909s] | ~~~~~~~ [ 3909s] 1015 | SET_LOW_WORD(df, 0); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1016 | c = (z - df * df) / (s + df); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1017 | p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5))))); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1018 | q = one + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4))); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1019 | r = p / q; [ 3909s] | ~~~~~~~~~~ [ 3909s] 1020 | w = r * s + c; [ 3909s] | ~~~~~~~~~~~~~~ [ 3909s] 1021 | return 2.0 * (df + w); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1022 | } [ 3909s] | ~ [ 3909s] 1023 | } [ 3909s] | ~ [ 3909s] 1024 | [ 3909s] | [ 3909s] 1025 | /* acosh(x) [ 3909s] | ~~~~~~~~~~~ [ 3909s] 1026 | * Method : [ 3909s] | ~~~~~~~~~~ [ 3909s] 1027 | * Based on [ 3909s] | ~~~~~~~~~~~~~~~ [ 3909s] 1028 | * acosh(x) = log [ x + sqrt(x*x-1) ] [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1029 | * we have [ 3909s] | ~~~~~~~~~~~~~~ [ 3909s] 1030 | * acosh(x) := log(x)+ln2, if x is large; else [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1031 | * acosh(x) := log(2x-1/(sqrt(x*x-1)+x)) if x>2; else [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1032 | * acosh(x) := log1p(t+sqrt(2.0*t+t*t)); where t=x-1. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1033 | * [ 3909s] | ~ [ 3909s] 1034 | * Special cases: [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 1035 | * acosh(x) is NaN with signal if x<1. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1036 | * acosh(NaN) is NaN without signal. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1037 | */ [ 3909s] | ~~ [ 3909s] 1038 | double acosh(double x) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1039 | { [ 3909s] | ~ [ 3909s] 1040 | constexpr double [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 1041 | one [ 3909s] | ~~~ [ 3909s] 1042 | = 1.0, [ 3909s] | ~~~~~~ [ 3909s] 1043 | ln2 = 6.93147180559945286227e-01; /* 0x3FE62E42, 0xFEFA39EF */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1044 | double t; [ 3909s] | ~~~~~~~~~ [ 3909s] 1045 | int32_t hx; [ 3909s] | ~~~~~~~~~~~ [ 3909s] 1046 | uint32_t lx; [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 1047 | EXTRACT_WORDS(hx, lx, x); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1048 | if (hx < 0x3FF00000) { /* x < 1 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1049 | return (x - x) / (x - x); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1050 | } else if (hx >= 0x41B00000) { /* x > 2**28 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1051 | if (hx >= 0x7FF00000) { /* x is inf of NaN */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1052 | return x + x; [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 1053 | } else { [ 3909s] | ~~~~~~~~ [ 3909s] 1054 | return log(x) + ln2; /* acosh(huge)=log(2x) */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1055 | } [ 3909s] | ~ [ 3909s] 1056 | } else if (((hx - 0x3FF00000) | lx) == 0) { [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1057 | return 0.0; /* acosh(1) = 0 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1058 | } else if (hx > 0x40000000) { /* 2**28 > x > 2 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1059 | t = x * x; [ 3909s] | ~~~~~~~~~~ [ 3909s] 1060 | return log(2.0 * x - one / (x + sqrt(t - one))); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1061 | } else { /* 10.98 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1081 | * asin(x) = pi/2 - 2*(s+s*z*R(z)) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1082 | * = pio2_hi - (2*(s+s*z*R(z)) - pio2_lo) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1083 | * For x<=0.98, let pio4_hi = pio2_hi/2, then [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1084 | * f = hi part of s; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1085 | * c = sqrt(z) - f = (z-f*f)/(s+f) ...f+c=sqrt(z) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1086 | * and [ 3909s] | ~~~~~~~~~~ [ 3909s] 1087 | * asin(x) = pi/2 - 2*(s+s*z*R(z)) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1088 | * = pio4_hi+(pio4-2s)-(2s*z*R(z)-pio2_lo) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1089 | * = pio4_hi+(pio4-2f)-(2s*z*R(z)-(pio2_lo+2c)) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1090 | * [ 3909s] | ~ [ 3909s] 1091 | * Special cases: [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 1092 | * if x is NaN, return x itself; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1093 | * if |x|>1, return NaN with invalid signal. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1094 | */ [ 3909s] | ~~ [ 3909s] 1095 | double asin(double x) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1096 | { [ 3909s] | ~ [ 3909s] 1097 | constexpr double [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 1098 | one [ 3909s] | ~~~ [ 3909s] 1099 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1100 | huge = 1.000e+300, [ 3909s] | ~~~~~~~~~~~~~~~~~~ [ 3909s] 1101 | pio2_hi = 1.57079632679489655800e+00, /* 0x3FF921FB, 0x54442D18 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1102 | pio2_lo = 6.12323399573676603587e-17, /* 0x3C91A626, 0x33145C07 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1103 | pio4_hi = 7.85398163397448278999e-01, /* 0x3FE921FB, 0x54442D18 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1104 | /* coefficient for R(x^2) */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1105 | pS0 = 1.66666666666666657415e-01, /* 0x3FC55555, 0x55555555 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1106 | pS1 = -3.25565818622400915405e-01, /* 0xBFD4D612, 0x03EB6F7D */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1107 | pS2 = 2.01212532134862925881e-01, /* 0x3FC9C155, 0x0E884455 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1108 | pS3 = -4.00555345006794114027e-02, /* 0xBFA48228, 0xB5688F3B */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1109 | pS4 = 7.91534994289814532176e-04, /* 0x3F49EFE0, 0x7501B288 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1110 | pS5 = 3.47933107596021167570e-05, /* 0x3F023DE1, 0x0DFDF709 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1111 | qS1 = -2.40339491173441421878e+00, /* 0xC0033A27, 0x1C8A2D4B */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1112 | qS2 = 2.02094576023350569471e+00, /* 0x40002AE5, 0x9C598AC8 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1113 | qS3 = -6.88283971605453293030e-01, /* 0xBFE6066C, 0x1B8D0159 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1114 | qS4 = 7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1115 | [ 3909s] | [ 3909s] 1116 | double t, w, p, q, c, r, s; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1117 | int32_t hx, ix; [ 3909s] | ~~~~~~~~~~~~~~~ [ 3909s] 1118 | [ 3909s] | [ 3909s] 1119 | t = 0; [ 3909s] | ~~~~~~ [ 3909s] 1120 | GET_HIGH_WORD(hx, x); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1121 | ix = hx & 0x7FFFFFFF; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1122 | if (ix >= 0x3FF00000) { /* |x|>= 1 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1123 | uint32_t lx; [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 1124 | GET_LOW_WORD(lx, x); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1125 | if (((ix - 0x3FF00000) | lx) == 0) /* asin(1)=+-pi/2 with inexact */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1126 | return x * pio2_hi + x * pio2_lo; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1127 | return (x - x) / (x - x); /* asin(|x|>1) is NaN */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1128 | } else if (ix < 0x3FE00000) { /* |x|<0.5 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1129 | if (ix < 0x3E400000 && huge + x > one) { /* if |x| < 2**-27 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1130 | return x; /* return x with inexact if x!=0*/ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1131 | } else { [ 3909s] | ~~~~~~~~ [ 3909s] 1132 | t = x * x; [ 3909s] | ~~~~~~~~~~ [ 3909s] 1133 | } [ 3909s] | ~ [ 3909s] 1134 | p = t * (pS0 + t * (pS1 + t * (pS2 + t * (pS3 + t * (pS4 + t * pS5))))); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1135 | q = one + t * (qS1 + t * (qS2 + t * (qS3 + t * qS4))); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1136 | w = p / q; [ 3909s] | ~~~~~~~~~~ [ 3909s] 1137 | return x + x * w; [ 3909s] | ~~~~~~~~~~~~~~~~~ [ 3909s] 1138 | } [ 3909s] | ~ [ 3909s] 1139 | /* 1> |x|>= 0.5 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~ [ 3909s] 1140 | w = one - fabs(x); [ 3909s] | ~~~~~~~~~~~~~~~~~~ [ 3909s] 1141 | t = w * 0.5; [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 1142 | p = t * (pS0 + t * (pS1 + t * (pS2 + t * (pS3 + t * (pS4 + t * pS5))))); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1143 | q = one + t * (qS1 + t * (qS2 + t * (qS3 + t * qS4))); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1144 | s = sqrt(t); [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 1145 | if (ix >= 0x3FEF3333) { /* if |x| > 0.975 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1146 | w = p / q; [ 3909s] | ~~~~~~~~~~ [ 3909s] 1147 | t = pio2_hi - (2.0 * (s + s * w) - pio2_lo); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1148 | } else { [ 3909s] | ~~~~~~~~ [ 3909s] 1149 | w = s; [ 3909s] | ~~~~~~ [ 3909s] 1150 | SET_LOW_WORD(w, 0); [ 3909s] | ~~~~~~~~~~~~~~~~~~~ [ 3909s] 1151 | c = (t - w * w) / (s + w); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1152 | r = p / q; [ 3909s] | ~~~~~~~~~~ [ 3909s] 1153 | p = 2.0 * s * r - (pio2_lo - 2.0 * c); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1154 | q = pio4_hi - 2.0 * w; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1155 | t = pio4_hi - (p - q); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1156 | } [ 3909s] | ~ [ 3909s] 1157 | if (hx > 0) [ 3909s] | ~~~~~~~~~~~ [ 3909s] 1158 | return t; [ 3909s] | ~~~~~~~~~ [ 3909s] 1159 | else [ 3909s] | ~~~~ [ 3909s] 1160 | return -t; [ 3909s] | ~~~~~~~~~~ [ 3909s] 1161 | } [ 3909s] | ~ [ 3909s] 1162 | /* asinh(x) [ 3909s] | ~~~~~~~~~~~ [ 3909s] 1163 | * Method : [ 3909s] | ~~~~~~~~~~ [ 3909s] 1164 | * Based on [ 3909s] | ~~~~~~~~~~~~~~~ [ 3909s] 1165 | * asinh(x) = sign(x) * log [ |x| + sqrt(x*x+1) ] [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1166 | * we have [ 3909s] | ~~~~~~~~~~~~~~ [ 3909s] 1167 | * asinh(x) := x if 1+x*x=1, [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1168 | * := sign(x)*(log(x)+ln2)) for large |x|, else [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1169 | * := sign(x)*log(2|x|+1/(|x|+sqrt(x*x+1))) if|x|>2, else [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1170 | * := sign(x)*log1p(|x| + x^2/(1 + sqrt(1+x^2))) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1171 | */ [ 3909s] | ~~ [ 3909s] 1172 | double asinh(double x) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1173 | { [ 3909s] | ~ [ 3909s] 1174 | constexpr double [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 1175 | one [ 3909s] | ~~~ [ 3909s] 1176 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1177 | ln2 = 6.93147180559945286227e-01, /* 0x3FE62E42, 0xFEFA39EF */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1178 | huge = 1.00000000000000000000e+300; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1179 | [ 3909s] | [ 3909s] 1180 | double t, w; [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 1181 | int32_t hx, ix; [ 3909s] | ~~~~~~~~~~~~~~~ [ 3909s] 1182 | GET_HIGH_WORD(hx, x); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1183 | ix = hx & 0x7FFFFFFF; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1184 | if (ix >= 0x7FF00000) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1185 | return x + x; /* x is inf or NaN */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1186 | if (ix < 0x3E300000 && huge + x > one) { /* |x|<2**-28 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1187 | return x; /* return x inexact except 0 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1188 | } [ 3909s] | ~ [ 3909s] 1189 | if (ix > 0x41B00000) { /* |x| > 2**28 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1190 | w = log(fabs(x)) + ln2; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1191 | } else if (ix > 0x40000000) { /* 2**28 > |x| > 2.0 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1192 | t = fabs(x); [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 1193 | w = log(2.0 * t + one / (sqrt(x * x + one) + t)); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1194 | } else { /* 2.0 > |x| > 2**-28 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1195 | t = x * x; [ 3909s] | ~~~~~~~~~~ [ 3909s] 1196 | w = log1p(fabs(x) + t / (one + sqrt(one + t))); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1197 | } [ 3909s] | ~ [ 3909s] 1198 | if (hx > 0) { [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 1199 | return w; [ 3909s] | ~~~~~~~~~ [ 3909s] 1200 | } else { [ 3909s] | ~~~~~~~~ [ 3909s] 1201 | return -w; [ 3909s] | ~~~~~~~~~~ [ 3909s] 1202 | } [ 3909s] | ~ [ 3909s] 1203 | } [ 3909s] | ~ [ 3909s] 1204 | [ 3909s] | [ 3909s] 1205 | /* atan(x) [ 3909s] | ~~~~~~~~~~ [ 3909s] 1206 | * Method [ 3909s] | ~~~~~~~~ [ 3909s] 1207 | * 1. Reduce x to positive by atan(x) = -atan(-x). [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1208 | * 2. According to the integer k=4t+0.25 chopped, t=x, the argument [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1209 | * is further reduced to one of the following intervals and the [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1210 | * arctangent of t is evaluated by the corresponding formula: [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1211 | * [ 3909s] | ~ [ 3909s] 1212 | * [0,7/16] atan(x) = t-t^3*(a1+t^2*(a2+...(a10+t^2*a11)...) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1213 | * [7/16,11/16] atan(x) = atan(1/2) + atan( (t-0.5)/(1+t/2) ) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1214 | * [11/16.19/16] atan(x) = atan( 1 ) + atan( (t-1)/(1+t) ) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1215 | * [19/16,39/16] atan(x) = atan(3/2) + atan( (t-1.5)/(1+1.5t) ) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1216 | * [39/16,INF] atan(x) = atan(INF) + atan( -1/t ) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1217 | * [ 3909s] | ~ [ 3909s] 1218 | * Constants: [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 1219 | * The hexadecimal values are the intended ones for the following [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1220 | * constants. The decimal values may be used, provided that the [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1221 | * compiler will convert from decimal to binary accurately enough [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1222 | * to produce the hexadecimal values shown. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1223 | */ [ 3909s] | ~~ [ 3909s] 1224 | double atan(double x) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1225 | { [ 3909s] | ~ [ 3909s] 1226 | constexpr double atanhi[] = { [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1227 | 4.63647609000806093515e-01, /* atan(0.5)hi 0x3FDDAC67, 0x0561BB4F */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1228 | 7.85398163397448278999e-01, /* atan(1.0)hi 0x3FE921FB, 0x54442D18 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1229 | 9.82793723247329054082e-01, /* atan(1.5)hi 0x3FEF730B, 0xD281F69B */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1230 | 1.57079632679489655800e+00, /* atan(inf)hi 0x3FF921FB, 0x54442D18 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1231 | }; [ 3909s] | ~~ [ 3909s] 1232 | [ 3909s] | [ 3909s] 1233 | constexpr double atanlo[] = { [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1234 | 2.26987774529616870924e-17, /* atan(0.5)lo 0x3C7A2B7F, 0x222F65E2 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1235 | 3.06161699786838301793e-17, /* atan(1.0)lo 0x3C81A626, 0x33145C07 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1236 | 1.39033110312309984516e-17, /* atan(1.5)lo 0x3C700788, 0x7AF0CBBD */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1237 | 6.12323399573676603587e-17, /* atan(inf)lo 0x3C91A626, 0x33145C07 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1238 | }; [ 3909s] | ~~ [ 3909s] 1239 | [ 3909s] | [ 3909s] 1240 | constexpr double aT[] = { [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1241 | 3.33333333333329318027e-01, /* 0x3FD55555, 0x5555550D */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1242 | -1.99999999998764832476e-01, /* 0xBFC99999, 0x9998EBC4 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1243 | 1.42857142725034663711e-01, /* 0x3FC24924, 0x920083FF */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1244 | -1.11111104054623557880e-01, /* 0xBFBC71C6, 0xFE231671 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1245 | 9.09088713343650656196e-02, /* 0x3FB745CD, 0xC54C206E */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1246 | -7.69187620504482999495e-02, /* 0xBFB3B0F2, 0xAF749A6D */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1247 | 6.66107313738753120669e-02, /* 0x3FB10D66, 0xA0D03D51 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1248 | -5.83357013379057348645e-02, /* 0xBFADDE2D, 0x52DEFD9A */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1249 | 4.97687799461593236017e-02, /* 0x3FA97B4B, 0x24760DEB */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1250 | -3.65315727442169155270e-02, /* 0xBFA2B444, 0x2C6A6C2F */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1251 | 1.62858201153657823623e-02, /* 0x3F90AD3A, 0xE322DA11 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1252 | }; [ 3909s] | ~~ [ 3909s] 1253 | [ 3909s] | [ 3909s] 1254 | constexpr double one = 1.0, huge = 1.0e300; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1255 | [ 3909s] | [ 3909s] 1256 | double w, s1, s2, z; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1257 | int32_t ix, hx, id; [ 3909s] | ~~~~~~~~~~~~~~~~~~~ [ 3909s] 1258 | [ 3909s] | [ 3909s] 1259 | GET_HIGH_WORD(hx, x); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1260 | ix = hx & 0x7FFFFFFF; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1261 | if (ix >= 0x44100000) { /* if |x| >= 2^66 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1262 | uint32_t low; [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 1263 | GET_LOW_WORD(low, x); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1264 | if (ix > 0x7FF00000 || (ix == 0x7FF00000 && (low != 0))) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1265 | return x + x; /* NaN */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1266 | if (hx > 0) [ 3909s] | ~~~~~~~~~~~ [ 3909s] 1267 | return atanhi[3] + *(volatile double *)&atanlo[3]; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1268 | else [ 3909s] | ~~~~ [ 3909s] 1269 | return -atanhi[3] - *(volatile double *)&atanlo[3]; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1270 | } [ 3909s] | ~ [ 3909s] 1271 | if (ix < 0x3FDC0000) { /* |x| < 0.4375 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1272 | if (ix < 0x3E400000 && huge + x > one) { /* |x| < 2^-27 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1273 | return x; /* raise inexact */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1274 | } [ 3909s] | ~ [ 3909s] 1275 | id = -1; [ 3909s] | ~~~~~~~~ [ 3909s] 1276 | } else { [ 3909s] | ~~~~~~~~ [ 3909s] 1277 | x = fabs(x); [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 1278 | if (ix < 0x3FF30000) { /* |x| < 1.1875 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1279 | if (ix < 0x3FE60000) { /* 7/16 <=|x|<11/16 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1280 | id = 0; [ 3909s] | ~~~~~~~ [ 3909s] 1281 | x = (2.0 * x - one) / (2.0 + x); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1282 | } else { /* 11/16<=|x|< 19/16 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1283 | id = 1; [ 3909s] | ~~~~~~~ [ 3909s] 1284 | x = (x - one) / (x + one); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1285 | } [ 3909s] | ~ [ 3909s] 1286 | } else { [ 3909s] | ~~~~~~~~ [ 3909s] 1287 | if (ix < 0x40038000) { /* |x| < 2.4375 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1288 | id = 2; [ 3909s] | ~~~~~~~ [ 3909s] 1289 | x = (x - 1.5) / (one + 1.5 * x); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1290 | } else { /* 2.4375 <= |x| < 2^66 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1291 | id = 3; [ 3909s] | ~~~~~~~ [ 3909s] 1292 | x = -1.0 / x; [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 1293 | } [ 3909s] | ~ [ 3909s] 1294 | } [ 3909s] | ~ [ 3909s] 1295 | } [ 3909s] | ~ [ 3909s] 1296 | /* end of argument reduction */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1297 | z = x * x; [ 3909s] | ~~~~~~~~~~ [ 3909s] 1298 | w = z * z; [ 3909s] | ~~~~~~~~~~ [ 3909s] 1299 | /* break sum from i=0 to 10 aT[i]z**(i+1) into odd and even poly */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1300 | s1 = z * (aT[0] + w * (aT[2] + w * (aT[4] + w * (aT[6] + w * (aT[8] + w * aT[10]))))); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1301 | s2 = w * (aT[1] + w * (aT[3] + w * (aT[5] + w * (aT[7] + w * aT[9])))); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1302 | if (id < 0) { [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 1303 | return x - x * (s1 + s2); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1304 | } else { [ 3909s] | ~~~~~~~~ [ 3909s] 1305 | z = atanhi[id] - ((x * (s1 + s2) - atanlo[id]) - x); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1306 | return (hx < 0) ? -z : z; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1307 | } [ 3909s] | ~ [ 3909s] 1308 | } [ 3909s] | ~ [ 3909s] 1309 | [ 3909s] | [ 3909s] 1310 | /* atan2(y,x) [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 1311 | * Method : [ 3909s] | ~~~~~~~~~~ [ 3909s] 1312 | * 1. Reduce y to positive by atan2(y,x)=-atan2(-y,x). [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1313 | * 2. Reduce x to positive by (if x and y are unexceptional): [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1314 | * ARG (x+iy) = arctan(y/x) ... if x > 0, [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1315 | * ARG (x+iy) = pi - arctan[y/(-x)] ... if x < 0, [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1316 | * [ 3909s] | ~ [ 3909s] 1317 | * Special cases: [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 1318 | * [ 3909s] | ~ [ 3909s] 1319 | * ATAN2((anything), NaN ) is NaN; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1320 | * ATAN2(NAN , (anything) ) is NaN; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1321 | * ATAN2(+-0, +(anything but NaN)) is +-0 ; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1322 | * ATAN2(+-0, -(anything but NaN)) is +-pi ; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1323 | * ATAN2(+-(anything but 0 and NaN), 0) is +-pi/2; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1324 | * ATAN2(+-(anything but INF and NaN), +INF) is +-0 ; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1325 | * ATAN2(+-(anything but INF and NaN), -INF) is +-pi; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1326 | * ATAN2(+-INF,+INF ) is +-pi/4 ; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1327 | * ATAN2(+-INF,-INF ) is +-3pi/4; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1328 | * ATAN2(+-INF, (anything but,0,NaN, and INF)) is +-pi/2; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1329 | * [ 3909s] | ~ [ 3909s] 1330 | * Constants: [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 1331 | * The hexadecimal values are the intended ones for the following [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1332 | * constants. The decimal values may be used, provided that the [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1333 | * compiler will convert from decimal to binary accurately enough [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1334 | * to produce the hexadecimal values shown. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1335 | */ [ 3909s] | ~~ [ 3909s] 1336 | double atan2(double y, double x) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1337 | { [ 3909s] | ~ [ 3909s] 1338 | constexpr volatile double tiny = 1.0e-300; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1339 | constexpr double [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 1340 | zero [ 3909s] | ~~~~ [ 3909s] 1341 | = 0.0, [ 3909s] | ~~~~~~ [ 3909s] 1342 | pi_o_4 = 7.8539816339744827900E-01, /* 0x3FE921FB, 0x54442D18 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1343 | pi_o_2 = 1.5707963267948965580E+00, /* 0x3FF921FB, 0x54442D18 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1344 | pi = 3.1415926535897931160E+00; /* 0x400921FB, 0x54442D18 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1345 | constexpr volatile double pi_lo = 1.2246467991473531772E-16; /* 0x3CA1A626, 0x33145C07 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1346 | [ 3909s] | [ 3909s] 1347 | double z; [ 3909s] | ~~~~~~~~~ [ 3909s] 1348 | int32_t k, m, hx, hy, ix, iy; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1349 | uint32_t lx, ly; [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 1350 | [ 3909s] | [ 3909s] 1351 | EXTRACT_WORDS(hx, lx, x); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1352 | ix = hx & 0x7FFFFFFF; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1353 | EXTRACT_WORDS(hy, ly, y); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1354 | iy = hy & 0x7FFFFFFF; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1355 | if (((ix | ((lx | -static_cast(lx)) >> 31)) > 0x7FF00000) || ((iy | ((ly | -static_cast(ly)) >> 31)) > 0x7FF00000)) { [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1356 | return x + y; /* x or y is NaN */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1357 | } [ 3909s] | ~ [ 3909s] 1358 | if (((hx - 0x3FF00000) | lx) == 0) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1359 | return atan(y); /* x=1.0 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1360 | m = ((hy >> 31) & 1) | ((hx >> 30) & 2); /* 2*sign(x)+sign(y) */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1361 | [ 3909s] | [ 3909s] 1362 | /* when y = 0 */ [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 1363 | if ((iy | ly) == 0) { [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1364 | switch (m) { [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 1365 | case 0: [ 3909s] | ~~~~~~~ [ 3909s] 1366 | case 1: [ 3909s] | ~~~~~~~ [ 3909s] 1367 | return y; /* atan(+-0,+anything)=+-0 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1368 | case 2: [ 3909s] | ~~~~~~~ [ 3909s] 1369 | return pi + tiny; /* atan(+0,-anything) = pi */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1370 | case 3: [ 3909s] | ~~~~~~~ [ 3909s] 1371 | return -pi - tiny; /* atan(-0,-anything) =-pi */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1372 | } [ 3909s] | ~ [ 3909s] 1373 | } [ 3909s] | ~ [ 3909s] 1374 | /* when x = 0 */ [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 1375 | if ((ix | lx) == 0) [ 3909s] | ~~~~~~~~~~~~~~~~~~~ [ 3909s] 1376 | return (hy < 0) ? -pi_o_2 - tiny : pi_o_2 + tiny; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1377 | [ 3909s] | [ 3909s] 1378 | /* when x is INF */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~ [ 3909s] 1379 | if (ix == 0x7FF00000) { [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1380 | if (iy == 0x7FF00000) { [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1381 | switch (m) { [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 1382 | case 0: [ 3909s] | ~~~~~~~ [ 3909s] 1383 | return pi_o_4 + tiny; /* atan(+INF,+INF) */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1384 | case 1: [ 3909s] | ~~~~~~~ [ 3909s] 1385 | return -pi_o_4 - tiny; /* atan(-INF,+INF) */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1386 | case 2: [ 3909s] | ~~~~~~~ [ 3909s] 1387 | return 3.0 * pi_o_4 + tiny; /*atan(+INF,-INF)*/ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1388 | case 3: [ 3909s] | ~~~~~~~ [ 3909s] 1389 | return -3.0 * pi_o_4 - tiny; /*atan(-INF,-INF)*/ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1390 | } [ 3909s] | ~ [ 3909s] 1391 | } else { [ 3909s] | ~~~~~~~~ [ 3909s] 1392 | switch (m) { [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 1393 | case 0: [ 3909s] | ~~~~~~~ [ 3909s] 1394 | return zero; /* atan(+...,+INF) */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1395 | case 1: [ 3909s] | ~~~~~~~ [ 3909s] 1396 | return -zero; /* atan(-...,+INF) */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1397 | case 2: [ 3909s] | ~~~~~~~ [ 3909s] 1398 | return pi + tiny; /* atan(+...,-INF) */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1399 | case 3: [ 3909s] | ~~~~~~~ [ 3909s] 1400 | return -pi - tiny; /* atan(-...,-INF) */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1401 | } [ 3909s] | ~ [ 3909s] 1402 | } [ 3909s] | ~ [ 3909s] 1403 | } [ 3909s] | ~ [ 3909s] 1404 | /* when y is INF */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~ [ 3909s] 1405 | if (iy == 0x7FF00000) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1406 | return (hy < 0) ? -pi_o_2 - tiny : pi_o_2 + tiny; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1407 | [ 3909s] | [ 3909s] 1408 | /* compute y/x */ [ 3909s] | ~~~~~~~~~~~~~~~~~ [ 3909s] 1409 | k = (iy - ix) >> 20; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1410 | if (k > 60) { /* |y/x| > 2**60 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1411 | z = pi_o_2 + 0.5 * pi_lo; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1412 | m &= 1; [ 3909s] | ~~~~~~~ [ 3909s] 1413 | } else if (hx < 0 && k < -60) { [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1414 | z = 0.0; /* 0 > |y|/x > -2**-60 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1415 | } else { [ 3909s] | ~~~~~~~~ [ 3909s] 1416 | z = atan(fabs(y / x)); /* safe to do y/x */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1417 | } [ 3909s] | ~ [ 3909s] 1418 | switch (m) { [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 1419 | case 0: [ 3909s] | ~~~~~~~ [ 3909s] 1420 | return z; /* atan(+,+) */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1421 | case 1: [ 3909s] | ~~~~~~~ [ 3909s] 1422 | return -z; /* atan(-,+) */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1423 | case 2: [ 3909s] | ~~~~~~~ [ 3909s] 1424 | return pi - (z - pi_lo); /* atan(+,-) */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1425 | default: /* case 3 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1426 | return (z - pi_lo) - pi; /* atan(-,-) */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1427 | } [ 3909s] | ~ [ 3909s] 1428 | } [ 3909s] | ~ [ 3909s] 1429 | [ 3909s] | [ 3909s] 1430 | /* cos(x) [ 3909s] | ~~~~~~~~~ [ 3909s] 1431 | * Return cosine function of x. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1432 | * [ 3909s] | ~ [ 3909s] 1433 | * kernel function: [ 3909s] | ~~~~~~~~~~~~~~~~~~ [ 3909s] 1434 | * __kernel_sin ... sine function on [-pi/4,pi/4] [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1435 | * __kernel_cos ... cosine function on [-pi/4,pi/4] [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1436 | * __ieee754_rem_pio2 ... argument reduction routine [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1437 | * [ 3909s] | ~ [ 3909s] 1438 | * Method. [ 3909s] | ~~~~~~~~~ [ 3909s] 1439 | * Let S,C and T denote the sin, cos and tan respectively on [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1440 | * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1441 | * in [-pi/4 , +pi/4], and let n = k mod 4. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1442 | * We have [ 3909s] | ~~~~~~~~~~~~~~ [ 3909s] 1443 | * [ 3909s] | ~ [ 3909s] 1444 | * n sin(x) cos(x) tan(x) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1445 | * ---------------------------------------------------------- [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1446 | * 0 S C T [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1447 | * 1 C -S -1/T [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1448 | * 2 -S -C T [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1449 | * 3 -C S -1/T [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1450 | * ---------------------------------------------------------- [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1451 | * [ 3909s] | ~ [ 3909s] 1452 | * Special cases: [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 1453 | * Let trig be any of sin, cos, or tan. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1454 | * trig(+-INF) is NaN, with signals; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1455 | * trig(NaN) is that NaN; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1456 | * [ 3909s] | ~ [ 3909s] 1457 | * Accuracy: [ 3909s] | ~~~~~~~~~~~ [ 3909s] 1458 | * TRIG(x) returns trig(x) nearly rounded [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1459 | */ [ 3909s] | ~~ [ 3909s] 1460 | double cos(double x) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1461 | { [ 3909s] | ~ [ 3909s] 1462 | double y[2], z = 0.0; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1463 | int32_t n, ix; [ 3909s] | ~~~~~~~~~~~~~~ [ 3909s] 1464 | [ 3909s] | [ 3909s] 1465 | /* High word of x. */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1466 | GET_HIGH_WORD(ix, x); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1467 | [ 3909s] | [ 3909s] 1468 | /* |x| ~< pi/4 */ [ 3909s] | ~~~~~~~~~~~~~~~~~ [ 3909s] 1469 | ix &= 0x7FFFFFFF; [ 3909s] | ~~~~~~~~~~~~~~~~~ [ 3909s] 1470 | if (ix <= 0x3FE921FB) { [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1471 | return __kernel_cos(x, z); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1472 | } else if (ix >= 0x7FF00000) { [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1473 | /* cos(Inf or NaN) is NaN */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1474 | return x - x; [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 1475 | } else { [ 3909s] | ~~~~~~~~ [ 3909s] 1476 | /* argument reduction needed */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1477 | n = __ieee754_rem_pio2(x, y); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1478 | switch (n & 3) { [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 1479 | case 0: [ 3909s] | ~~~~~~~ [ 3909s] 1480 | return __kernel_cos(y[0], y[1]); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1481 | case 1: [ 3909s] | ~~~~~~~ [ 3909s] 1482 | return -__kernel_sin(y[0], y[1], 1); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1483 | case 2: [ 3909s] | ~~~~~~~ [ 3909s] 1484 | return -__kernel_cos(y[0], y[1]); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1485 | default: [ 3909s] | ~~~~~~~~ [ 3909s] 1486 | return __kernel_sin(y[0], y[1], 1); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1487 | } [ 3909s] | ~ [ 3909s] 1488 | } [ 3909s] | ~ [ 3909s] 1489 | } [ 3909s] | ~ [ 3909s] 1490 | [ 3909s] | [ 3909s] 1491 | /* exp(x) [ 3909s] | ~~~~~~~~~ [ 3909s] 1492 | * Returns the exponential of x. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1493 | * [ 3909s] | ~ [ 3909s] 1494 | * Method [ 3909s] | ~~~~~~~~ [ 3909s] 1495 | * 1. Argument reduction: [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1496 | * Reduce x to an r so that |r| <= 0.5*ln2 ~ 0.34658. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1497 | * Given x, find r and integer k such that [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1498 | * [ 3909s] | ~ [ 3909s] 1499 | * x = k*ln2 + r, |r| <= 0.5*ln2. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1500 | * [ 3909s] | ~ [ 3909s] 1501 | * Here r will be represented as r = hi-lo for better [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1502 | * accuracy. [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 1503 | * [ 3909s] | ~ [ 3909s] 1504 | * 2. Approximation of exp(r) by a special rational function on [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1505 | * the interval [0,0.34658]: [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1506 | * Write [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 1507 | * R(r**2) = r*(exp(r)+1)/(exp(r)-1) = 2 + r*r/6 - r**4/360 + ... [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1508 | * We use a special Remes algorithm on [0,0.34658] to generate [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1509 | * a polynomial of degree 5 to approximate R. The maximum error [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1510 | * of this polynomial approximation is bounded by 2**-59. In [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1511 | * other words, [ 3909s] | ~~~~~~~~~~~~~~~~~~~ [ 3909s] 1512 | * R(z) ~ 2.0 + P1*z + P2*z**2 + P3*z**3 + P4*z**4 + P5*z**5 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1513 | * (where z=r*r, and the values of P1 to P5 are listed below) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1514 | * and [ 3909s] | ~~~~~~~~~~ [ 3909s] 1515 | * | 5 | -59 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1516 | * | 2.0+P1*z+...+P5*z - R(z) | <= 2 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1517 | * | | [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1518 | * The computation of exp(r) thus becomes [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1519 | * 2*r [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1520 | * exp(r) = 1 + ------- [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1521 | * R - r [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1522 | * r*R1(r) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1523 | * = 1 + r + ----------- (for better accuracy) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1524 | * 2 - R1(r) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1525 | * where [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 1526 | * 2 4 10 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1527 | * R1(r) = r - (P1*r + P2*r + ... + P5*r ). [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1528 | * [ 3909s] | ~ [ 3909s] 1529 | * 3. Scale back to obtain exp(x): [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1530 | * From step 1, we have [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1531 | * exp(x) = 2^k * exp(r) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1532 | * [ 3909s] | ~ [ 3909s] 1533 | * Special cases: [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 1534 | * exp(INF) is INF, exp(NaN) is NaN; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1535 | * exp(-INF) is 0, and [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1536 | * for finite argument, only exp(0)=1 is exact. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1537 | * [ 3909s] | ~ [ 3909s] 1538 | * Accuracy: [ 3909s] | ~~~~~~~~~~~ [ 3909s] 1539 | * according to an error analysis, the error is always less than [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1540 | * 1 ulp (unit in the last place). [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1541 | * [ 3909s] | ~ [ 3909s] 1542 | * Misc. info. [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 1543 | * For IEEE double [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1544 | * if x > 7.09782712893383973096e+02 then exp(x) overflow [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1545 | * if x < -7.45133219101941108420e+02 then exp(x) underflow [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1546 | * [ 3909s] | ~ [ 3909s] 1547 | * Constants: [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 1548 | * The hexadecimal values are the intended ones for the following [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1549 | * constants. The decimal values may be used, provided that the [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1550 | * compiler will convert from decimal to binary accurately enough [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1551 | * to produce the hexadecimal values shown. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1552 | */ [ 3909s] | ~~ [ 3909s] 1553 | double exp(double x) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1554 | { [ 3909s] | ~ [ 3909s] 1555 | constexpr double [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 1556 | one [ 3909s] | ~~~ [ 3909s] 1557 | = 1.0, [ 3909s] | ~~~~~~ [ 3909s] 1558 | halF[2] = { 0.5, -0.5 }, [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1559 | o_threshold = 7.09782712893383973096e+02, /* 0x40862E42, 0xFEFA39EF */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1560 | u_threshold = -7.45133219101941108420e+02, /* 0xC0874910, 0xD52D3051 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1561 | ln2HI[2] = { 6.93147180369123816490e-01, /* 0x3FE62E42, 0xFEE00000 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1562 | -6.93147180369123816490e-01 }, /* 0xBFE62E42, 0xFEE00000 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1563 | ln2LO[2] = { 1.90821492927058770002e-10, /* 0x3DEA39EF, 0x35793C76 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1564 | -1.90821492927058770002e-10 }, /* 0xBDEA39EF, 0x35793C76 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1565 | invln2 = 1.44269504088896338700e+00, /* 0x3FF71547, 0x652B82FE */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1566 | P1 = 1.66666666666666019037e-01, /* 0x3FC55555, 0x5555553E */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1567 | P2 = -2.77777777770155933842e-03, /* 0xBF66C16C, 0x16BEBD93 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1568 | P3 = 6.61375632143793436117e-05, /* 0x3F11566A, 0xAF25DE2C */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1569 | P4 = -1.65339022054652515390e-06, /* 0xBEBBBD41, 0xC5D26BF1 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1570 | P5 = 4.13813679705723846039e-08, /* 0x3E663769, 0x72BEA4D0 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1571 | E = 2.718281828459045; /* 0x4005BF0A, 0x8B145769 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1572 | [ 3909s] | [ 3909s] 1573 | constexpr volatile double [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1574 | huge [ 3909s] | ~~~~ [ 3909s] 1575 | = 1.0e+300, [ 3909s] | ~~~~~~~~~~~ [ 3909s] 1576 | twom1000 = 9.33263618503218878990e-302, /* 2**-1000=0x01700000,0*/ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1577 | two1023 = 8.988465674311579539e307; /* 0x1p1023 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1578 | [ 3909s] | [ 3909s] 1579 | double y, hi = 0.0, lo = 0.0, c, t, twopk; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1580 | int32_t k = 0, xsb; [ 3909s] | ~~~~~~~~~~~~~~~~~~~ [ 3909s] 1581 | uint32_t hx; [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 1582 | [ 3909s] | [ 3909s] 1583 | GET_HIGH_WORD(hx, x); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1584 | xsb = (hx >> 31) & 1; /* sign bit of x */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1585 | hx &= 0x7FFFFFFF; /* high word of |x| */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1586 | [ 3909s] | [ 3909s] 1587 | /* filter out non-finite argument */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1588 | if (hx >= 0x40862E42) { /* if |x|>=709.78... */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1589 | if (hx >= 0x7FF00000) { [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1590 | uint32_t lx; [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 1591 | GET_LOW_WORD(lx, x); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1592 | if (((hx & 0xFFFFF) | lx) != 0) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1593 | return x + x; /* NaN */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1594 | else [ 3909s] | ~~~~ [ 3909s] 1595 | return (xsb == 0) ? x : 0.0; /* exp(+-inf)={inf,0} */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1596 | } [ 3909s] | ~ [ 3909s] 1597 | if (x > o_threshold) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1598 | return huge * huge; /* overflow */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1599 | if (x < u_threshold) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1600 | return twom1000 * twom1000; /* underflow */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1601 | } [ 3909s] | ~ [ 3909s] 1602 | [ 3909s] | [ 3909s] 1603 | /* argument reduction */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1604 | if (hx > 0x3FD62E42) { /* if |x| > 0.5 ln2 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1605 | if (hx < 0x3FF0A2B2) { /* and |x| < 1.5 ln2 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1606 | /* TODO(rtoy): We special case exp(1) here to return the correct [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1607 | * value of E, as the computation below would get the last bit [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1608 | * wrong. We should probably fix the algorithm instead. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1609 | */ [ 3909s] | ~~ [ 3909s] 1610 | if (x == 1.0) [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 1611 | return E; [ 3909s] | ~~~~~~~~~ [ 3909s] 1612 | hi = x - ln2HI[xsb]; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1613 | lo = ln2LO[xsb]; [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 1614 | k = 1 - xsb - xsb; [ 3909s] | ~~~~~~~~~~~~~~~~~~ [ 3909s] 1615 | } else { [ 3909s] | ~~~~~~~~ [ 3909s] 1616 | k = static_cast(invln2 * x + halF[xsb]); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1617 | t = k; [ 3909s] | ~~~~~~ [ 3909s] 1618 | hi = x - t * ln2HI[0]; /* t*ln2HI is exact here */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1619 | lo = t * ln2LO[0]; [ 3909s] | ~~~~~~~~~~~~~~~~~~ [ 3909s] 1620 | } [ 3909s] | ~ [ 3909s] 1621 | STRICT_ASSIGN(double, x, hi - lo); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1622 | } else if (hx < 0x3E300000) { /* when |x|<2**-28 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1623 | if (huge + x > one) [ 3909s] | ~~~~~~~~~~~~~~~~~~~ [ 3909s] 1624 | return one + x; /* trigger inexact */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1625 | } else { [ 3909s] | ~~~~~~~~ [ 3909s] 1626 | k = 0; [ 3909s] | ~~~~~~ [ 3909s] 1627 | } [ 3909s] | ~ [ 3909s] 1628 | [ 3909s] | [ 3909s] 1629 | /* x is now in primary range */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1630 | t = x * x; [ 3909s] | ~~~~~~~~~~ [ 3909s] 1631 | if (k >= -1021) { [ 3909s] | ~~~~~~~~~~~~~~~~~ [ 3909s] 1632 | INSERT_WORDS(twopk, 0x3FF00000 + (k << 20), 0); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1633 | } else { [ 3909s] | ~~~~~~~~ [ 3909s] 1634 | INSERT_WORDS(twopk, 0x3FF00000 + ((k + 1000) << 20), 0); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1635 | } [ 3909s] | ~ [ 3909s] 1636 | c = x - t * (P1 + t * (P2 + t * (P3 + t * (P4 + t * P5)))); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1637 | if (k == 0) { [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 1638 | return one - ((x * c) / (c - 2.0) - x); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1639 | } else { [ 3909s] | ~~~~~~~~ [ 3909s] 1640 | y = one - ((lo - (x * c) / (2.0 - c)) - hi); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1641 | } [ 3909s] | ~ [ 3909s] 1642 | if (k >= -1021) { [ 3909s] | ~~~~~~~~~~~~~~~~~ [ 3909s] 1643 | if (k == 1024) [ 3909s] | ~~~~~~~~~~~~~~ [ 3909s] 1644 | return y * 2.0 * two1023; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1645 | return y * twopk; [ 3909s] | ~~~~~~~~~~~~~~~~~ [ 3909s] 1646 | } else { [ 3909s] | ~~~~~~~~ [ 3909s] 1647 | return y * twopk * twom1000; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1648 | } [ 3909s] | ~ [ 3909s] 1649 | } [ 3909s] | ~ [ 3909s] 1650 | [ 3909s] | [ 3909s] 1651 | /* [ 3909s] | ~~ [ 3909s] 1652 | * Method : [ 3909s] | ~~~~~~~~~~ [ 3909s] 1653 | * 1.Reduced x to positive by atanh(-x) = -atanh(x) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1654 | * 2.For x>=0.5 [ 3909s] | ~~~~~~~~~~~~~~~~~ [ 3909s] 1655 | * 1 2x x [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1656 | * atanh(x) = --- * log(1 + -------) = 0.5 * log1p(2 * --------) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1657 | * 2 1 - x 1 - x [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1658 | * [ 3909s] | ~ [ 3909s] 1659 | * For x<0.5 [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 1660 | * atanh(x) = 0.5*log1p(2x+2x*x/(1-x)) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1661 | * [ 3909s] | ~ [ 3909s] 1662 | * Special cases: [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 1663 | * atanh(x) is NaN if |x| > 1 with signal; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1664 | * atanh(NaN) is that NaN with no signal; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1665 | * atanh(+-1) is +-INF with signal. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1666 | * [ 3909s] | ~ [ 3909s] 1667 | */ [ 3909s] | ~~ [ 3909s] 1668 | double atanh(double x) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1669 | { [ 3909s] | ~ [ 3909s] 1670 | constexpr double one = 1.0, huge = 1e300; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1671 | constexpr double zero = 0.0; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1672 | [ 3909s] | [ 3909s] 1673 | double t; [ 3909s] | ~~~~~~~~~ [ 3909s] 1674 | int32_t hx, ix; [ 3909s] | ~~~~~~~~~~~~~~~ [ 3909s] 1675 | uint32_t lx; [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 1676 | EXTRACT_WORDS(hx, lx, x); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1677 | ix = hx & 0x7FFFFFFF; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1678 | if ((ix | ((lx | -static_cast(lx)) >> 31)) > 0x3FF00000) /* |x|>1 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1679 | return (x - x) / (x - x); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1680 | if (ix == 0x3FF00000) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1681 | return x / zero; [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 1682 | if (ix < 0x3E300000 && (huge + x) > zero) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1683 | return x; /* x<2**-28 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1684 | SET_HIGH_WORD(x, ix); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1685 | if (ix < 0x3FE00000) { /* x < 0.5 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1686 | t = x + x; [ 3909s] | ~~~~~~~~~~ [ 3909s] 1687 | t = 0.5 * log1p(t + t * x / (one - x)); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1688 | } else { [ 3909s] | ~~~~~~~~ [ 3909s] 1689 | t = 0.5 * log1p((x + x) / (one - x)); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1690 | } [ 3909s] | ~ [ 3909s] 1691 | if (hx >= 0) [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 1692 | return t; [ 3909s] | ~~~~~~~~~ [ 3909s] 1693 | else [ 3909s] | ~~~~ [ 3909s] 1694 | return -t; [ 3909s] | ~~~~~~~~~~ [ 3909s] 1695 | } [ 3909s] | ~ [ 3909s] 1696 | [ 3909s] | [ 3909s] 1697 | /* log(x) [ 3909s] | ~~~~~~~~~ [ 3909s] 1698 | * Return the logrithm of x [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1699 | * [ 3909s] | ~ [ 3909s] 1700 | * Method : [ 3909s] | ~~~~~~~~~~ [ 3909s] 1701 | * 1. Argument Reduction: find k and f such that [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1702 | * x = 2^k * (1+f), [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1703 | * where sqrt(2)/2 < 1+f < sqrt(2) . [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1704 | * [ 3909s] | ~ [ 3909s] 1705 | * 2. Approximation of log(1+f). [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1706 | * Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1707 | * = 2s + 2/3 s**3 + 2/5 s**5 + ....., [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1708 | * = 2s + s*R [ 3909s] | ~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1709 | * We use a special Reme algorithm on [0,0.1716] to generate [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1710 | * a polynomial of degree 14 to approximate R The maximum error [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1711 | * of this polynomial approximation is bounded by 2**-58.45. In [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1712 | * other words, [ 3909s] | ~~~~~~~~~~~~~~~ [ 3909s] 1713 | * 2 4 6 8 10 12 14 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1714 | * R(z) ~ Lg1*s +Lg2*s +Lg3*s +Lg4*s +Lg5*s +Lg6*s +Lg7*s [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1715 | * (the values of Lg1 to Lg7 are listed in the program) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1716 | * and [ 3909s] | ~~~~~~ [ 3909s] 1717 | * | 2 14 | -58.45 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1718 | * | Lg1*s +...+Lg7*s - R(z) | <= 2 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1719 | * | | [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1720 | * Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1721 | * In order to guarantee error in log below 1ulp, we compute log [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1722 | * by [ 3909s] | ~~~~~ [ 3909s] 1723 | * log(1+f) = f - s*(f - R) (if f is not too large) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1724 | * log(1+f) = f - (hfsq - s*(hfsq+R)). (better accuracy) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1725 | * [ 3909s] | ~ [ 3909s] 1726 | * 3. Finally, log(x) = k*ln2 + log(1+f). [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1727 | * = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo))) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1728 | * Here ln2 is split into two floating point number: [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1729 | * ln2_hi + ln2_lo, [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1730 | * where n*ln2_hi is always exact for |n| < 2000. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1731 | * [ 3909s] | ~ [ 3909s] 1732 | * Special cases: [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 1733 | * log(x) is NaN with signal if x < 0 (including -INF) ; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1734 | * log(+INF) is +INF; log(0) is -INF with signal; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1735 | * log(NaN) is that NaN with no signal. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1736 | * [ 3909s] | ~ [ 3909s] 1737 | * Accuracy: [ 3909s] | ~~~~~~~~~~~ [ 3909s] 1738 | * according to an error analysis, the error is always less than [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1739 | * 1 ulp (unit in the last place). [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1740 | * [ 3909s] | ~ [ 3909s] 1741 | * Constants: [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 1742 | * The hexadecimal values are the intended ones for the following [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1743 | * constants. The decimal values may be used, provided that the [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1744 | * compiler will convert from decimal to binary accurately enough [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1745 | * to produce the hexadecimal values shown. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1746 | */ [ 3909s] | ~~ [ 3909s] 1747 | double log(double x) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1748 | { [ 3909s] | ~ [ 3909s] 1749 | constexpr double /* -- */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1750 | ln2_hi [ 3909s] | ~~~~~~ [ 3909s] 1751 | = 6.93147180369123816490e-01, /* 3fe62e42 fee00000 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1752 | ln2_lo = 1.90821492927058770002e-10, /* 3dea39ef 35793c76 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1753 | two54 = 1.80143985094819840000e+16, /* 43500000 00000000 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1754 | Lg1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1755 | Lg2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1756 | Lg3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1757 | Lg4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1758 | Lg5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1759 | Lg6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1760 | Lg7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1761 | [ 3909s] | [ 3909s] 1762 | constexpr double zero = 0.0; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1763 | constexpr volatile double vzero = 0.0; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1764 | [ 3909s] | [ 3909s] 1765 | double hfsq, f, s, z, R, w, t1, t2, dk; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1766 | int32_t k, hx, i, j; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1767 | uint32_t lx; [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 1768 | [ 3909s] | [ 3909s] 1769 | EXTRACT_WORDS(hx, lx, x); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1770 | [ 3909s] | [ 3909s] 1771 | k = 0; [ 3909s] | ~~~~~~ [ 3909s] 1772 | if (hx < 0x00100000) { /* x < 2**-1022 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1773 | if (((hx & 0x7FFFFFFF) | lx) == 0) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1774 | return -two54 / vzero; /* log(+-0)=-inf */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1775 | if (hx < 0) [ 3909s] | ~~~~~~~~~~~ [ 3909s] 1776 | return (x - x) / zero; /* log(-#) = NaN */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1777 | k -= 54; [ 3909s] | ~~~~~~~~ [ 3909s] 1778 | x *= two54; /* subnormal number, scale up x */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1779 | GET_HIGH_WORD(hx, x); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1780 | } [ 3909s] | ~ [ 3909s] 1781 | if (hx >= 0x7FF00000) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1782 | return x + x; [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 1783 | k += (hx >> 20) - 1023; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1784 | hx &= 0x000FFFFF; [ 3909s] | ~~~~~~~~~~~~~~~~~ [ 3909s] 1785 | i = (hx + 0x95F64) & 0x100000; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1786 | SET_HIGH_WORD(x, hx | (i ^ 0x3FF00000)); /* normalize x or x/2 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1787 | k += (i >> 20); [ 3909s] | ~~~~~~~~~~~~~~~ [ 3909s] 1788 | f = x - 1.0; [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 1789 | if ((0x000FFFFF & (2 + hx)) < 3) { /* -2**-20 <= f < 2**-20 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1790 | if (f == zero) { [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 1791 | if (k == 0) { [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 1792 | return zero; [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 1793 | } else { [ 3909s] | ~~~~~~~~ [ 3909s] 1794 | dk = static_cast(k); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1795 | return dk * ln2_hi + dk * ln2_lo; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1796 | } [ 3909s] | ~ [ 3909s] 1797 | } [ 3909s] | ~ [ 3909s] 1798 | R = f * f * (0.5 - 0.33333333333333333 * f); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1799 | if (k == 0) { [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 1800 | return f - R; [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 1801 | } else { [ 3909s] | ~~~~~~~~ [ 3909s] 1802 | dk = static_cast(k); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1803 | return dk * ln2_hi - ((R - dk * ln2_lo) - f); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1804 | } [ 3909s] | ~ [ 3909s] 1805 | } [ 3909s] | ~ [ 3909s] 1806 | s = f / (2.0 + f); [ 3909s] | ~~~~~~~~~~~~~~~~~~ [ 3909s] 1807 | dk = static_cast(k); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1808 | z = s * s; [ 3909s] | ~~~~~~~~~~ [ 3909s] 1809 | i = hx - 0x6147A; [ 3909s] | ~~~~~~~~~~~~~~~~~ [ 3909s] 1810 | w = z * z; [ 3909s] | ~~~~~~~~~~ [ 3909s] 1811 | j = 0x6B851 - hx; [ 3909s] | ~~~~~~~~~~~~~~~~~ [ 3909s] 1812 | t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1813 | t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1814 | i |= j; [ 3909s] | ~~~~~~~ [ 3909s] 1815 | R = t2 + t1; [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 1816 | if (i > 0) { [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 1817 | hfsq = 0.5 * f * f; [ 3909s] | ~~~~~~~~~~~~~~~~~~~ [ 3909s] 1818 | if (k == 0) [ 3909s] | ~~~~~~~~~~~ [ 3909s] 1819 | return f - (hfsq - s * (hfsq + R)); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1820 | else [ 3909s] | ~~~~ [ 3909s] 1821 | return dk * ln2_hi - ((hfsq - (s * (hfsq + R) + dk * ln2_lo)) - f); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1822 | } else { [ 3909s] | ~~~~~~~~ [ 3909s] 1823 | if (k == 0) [ 3909s] | ~~~~~~~~~~~ [ 3909s] 1824 | return f - s * (f - R); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1825 | else [ 3909s] | ~~~~ [ 3909s] 1826 | return dk * ln2_hi - ((s * (f - R) - dk * ln2_lo) - f); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1827 | } [ 3909s] | ~ [ 3909s] 1828 | } [ 3909s] | ~ [ 3909s] 1829 | [ 3909s] | [ 3909s] 1830 | /* double log1p(double x) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1831 | * [ 3909s] | ~ [ 3909s] 1832 | * Method : [ 3909s] | ~~~~~~~~~~ [ 3909s] 1833 | * 1. Argument Reduction: find k and f such that [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1834 | * 1+x = 2^k * (1+f), [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1835 | * where sqrt(2)/2 < 1+f < sqrt(2) . [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1836 | * [ 3909s] | ~ [ 3909s] 1837 | * Note. If k=0, then f=x is exact. However, if k!=0, then f [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1838 | * may not be representable exactly. In that case, a correction [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1839 | * term is need. Let u=1+x rounded. Let c = (1+x)-u, then [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1840 | * log(1+x) - log(u) ~ c/u. Thus, we proceed to compute log(u), [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1841 | * and add back the correction term c/u. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1842 | * (Note: when x > 2**53, one can simply return log(x)) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1843 | * [ 3909s] | ~ [ 3909s] 1844 | * 2. Approximation of log1p(f). [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1845 | * Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1846 | * = 2s + 2/3 s**3 + 2/5 s**5 + ....., [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1847 | * = 2s + s*R [ 3909s] | ~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1848 | * We use a special Reme algorithm on [0,0.1716] to generate [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1849 | * a polynomial of degree 14 to approximate R The maximum error [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1850 | * of this polynomial approximation is bounded by 2**-58.45. In [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1851 | * other words, [ 3909s] | ~~~~~~~~~~~~~~~ [ 3909s] 1852 | * 2 4 6 8 10 12 14 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1853 | * R(z) ~ Lp1*s +Lp2*s +Lp3*s +Lp4*s +Lp5*s +Lp6*s +Lp7*s [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1854 | * (the values of Lp1 to Lp7 are listed in the program) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1855 | * and [ 3909s] | ~~~~~~ [ 3909s] 1856 | * | 2 14 | -58.45 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1857 | * | Lp1*s +...+Lp7*s - R(z) | <= 2 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1858 | * | | [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1859 | * Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1860 | * In order to guarantee error in log below 1ulp, we compute log [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1861 | * by [ 3909s] | ~~~~~ [ 3909s] 1862 | * log1p(f) = f - (hfsq - s*(hfsq+R)). [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1863 | * [ 3909s] | ~ [ 3909s] 1864 | * 3. Finally, log1p(x) = k*ln2 + log1p(f). [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1865 | * = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo))) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1866 | * Here ln2 is split into two floating point number: [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1867 | * ln2_hi + ln2_lo, [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1868 | * where n*ln2_hi is always exact for |n| < 2000. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1869 | * [ 3909s] | ~ [ 3909s] 1870 | * Special cases: [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 1871 | * log1p(x) is NaN with signal if x < -1 (including -INF) ; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1872 | * log1p(+INF) is +INF; log1p(-1) is -INF with signal; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1873 | * log1p(NaN) is that NaN with no signal. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1874 | * [ 3909s] | ~ [ 3909s] 1875 | * Accuracy: [ 3909s] | ~~~~~~~~~~~ [ 3909s] 1876 | * according to an error analysis, the error is always less than [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1877 | * 1 ulp (unit in the last place). [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1878 | * [ 3909s] | ~ [ 3909s] 1879 | * Constants: [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 1880 | * The hexadecimal values are the intended ones for the following [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1881 | * constants. The decimal values may be used, provided that the [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1882 | * compiler will convert from decimal to binary accurately enough [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1883 | * to produce the hexadecimal values shown. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1884 | * [ 3909s] | ~ [ 3909s] 1885 | * Note: Assuming log() return accurate answer, the following [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1886 | * algorithm can be used to compute log1p(x) to within a few ULP: [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1887 | * [ 3909s] | ~ [ 3909s] 1888 | * u = 1+x; [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 1889 | * if(u==1.0) return x ; else [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1890 | * return log(u)*(x/(u-1.0)); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1891 | * [ 3909s] | ~ [ 3909s] 1892 | * See HP-15C Advanced Functions Handbook, p.193. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1893 | */ [ 3909s] | ~~ [ 3909s] 1894 | double log1p(double x) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1895 | { [ 3909s] | ~ [ 3909s] 1896 | constexpr double /* -- */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1897 | ln2_hi [ 3909s] | ~~~~~~ [ 3909s] 1898 | = 6.93147180369123816490e-01, /* 3fe62e42 fee00000 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1899 | ln2_lo = 1.90821492927058770002e-10, /* 3dea39ef 35793c76 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1900 | two54 = 1.80143985094819840000e+16, /* 43500000 00000000 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1901 | Lp1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1902 | Lp2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1903 | Lp3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1904 | Lp4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1905 | Lp5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1906 | Lp6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1907 | Lp7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1908 | [ 3909s] | [ 3909s] 1909 | constexpr double zero = 0.0; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1910 | constexpr volatile double vzero = 0.0; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1911 | [ 3909s] | [ 3909s] 1912 | double hfsq, f, c, s, z, R, u; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1913 | int32_t k, hx, hu, ax; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1914 | [ 3909s] | [ 3909s] 1915 | GET_HIGH_WORD(hx, x); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1916 | ax = hx & 0x7FFFFFFF; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1917 | [ 3909s] | [ 3909s] 1918 | c = 0; [ 3909s] | ~~~~~~ [ 3909s] 1919 | k = 1; [ 3909s] | ~~~~~~ [ 3909s] 1920 | if (hx < 0x3FDA827A) { /* 1+x < sqrt(2)+ */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1921 | if (ax >= 0x3FF00000) { /* x <= -1.0 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1922 | if (x == -1.0) [ 3909s] | ~~~~~~~~~~~~~~ [ 3909s] 1923 | return -two54 / vzero; /* log1p(-1)=+inf */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1924 | else [ 3909s] | ~~~~ [ 3909s] 1925 | return (x - x) / (x - x); /* log1p(x<-1)=NaN */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1926 | } [ 3909s] | ~ [ 3909s] 1927 | if (ax < 0x3E200000) { /* |x| < 2**-29 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1928 | if (two54 + x > zero /* raise inexact */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1929 | && ax < 0x3C900000) /* |x| < 2**-54 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1930 | return x; [ 3909s] | ~~~~~~~~~ [ 3909s] 1931 | else [ 3909s] | ~~~~ [ 3909s] 1932 | return x - x * x * 0.5; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1933 | } [ 3909s] | ~ [ 3909s] 1934 | if (hx > 0 || hx <= static_cast(0xBFD2BEC4)) { [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1935 | k = 0; [ 3909s] | ~~~~~~ [ 3909s] 1936 | f = x; [ 3909s] | ~~~~~~ [ 3909s] 1937 | hu = 1; [ 3909s] | ~~~~~~~ [ 3909s] 1938 | } /* sqrt(2)/2- <= 1+x < sqrt(2)+ */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1939 | } [ 3909s] | ~ [ 3909s] 1940 | if (hx >= 0x7FF00000) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1941 | return x + x; [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 1942 | if (k != 0) { [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 1943 | if (hx < 0x43400000) { [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1944 | STRICT_ASSIGN(double, u, 1.0 + x); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1945 | GET_HIGH_WORD(hu, u); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1946 | k = (hu >> 20) - 1023; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1947 | c = (k > 0) ? 1.0 - (u - x) : x - (u - 1.0); /* correction term */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1948 | c /= u; [ 3909s] | ~~~~~~~ [ 3909s] 1949 | } else { [ 3909s] | ~~~~~~~~ [ 3909s] 1950 | u = x; [ 3909s] | ~~~~~~ [ 3909s] 1951 | GET_HIGH_WORD(hu, u); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1952 | k = (hu >> 20) - 1023; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1953 | c = 0; [ 3909s] | ~~~~~~ [ 3909s] 1954 | } [ 3909s] | ~ [ 3909s] 1955 | hu &= 0x000FFFFF; [ 3909s] | ~~~~~~~~~~~~~~~~~ [ 3909s] 1956 | /* [ 3909s] | ~~ [ 3909s] 1957 | * The approximation to sqrt(2) used in thresholds is not [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1958 | * critical. However, the ones used above must give less [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1959 | * strict bounds than the one here so that the k==0 case is [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1960 | * never reached from here, since here we have committed to [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1961 | * using the correction term but don't use it if k==0. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1962 | */ [ 3909s] | ~~ [ 3909s] 1963 | if (hu < 0x6A09E) { /* u ~< sqrt(2) */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1964 | SET_HIGH_WORD(u, hu | 0x3FF00000); /* normalize u */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1965 | } else { [ 3909s] | ~~~~~~~~ [ 3909s] 1966 | k += 1; [ 3909s] | ~~~~~~~ [ 3909s] 1967 | SET_HIGH_WORD(u, hu | 0x3FE00000); /* normalize u/2 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1968 | hu = (0x00100000 - hu) >> 2; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1969 | } [ 3909s] | ~ [ 3909s] 1970 | f = u - 1.0; [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 1971 | } [ 3909s] | ~ [ 3909s] 1972 | hfsq = 0.5 * f * f; [ 3909s] | ~~~~~~~~~~~~~~~~~~~ [ 3909s] 1973 | if (hu == 0) { /* |f| < 2**-20 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1974 | if (f == zero) { [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 1975 | if (k == 0) { [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 1976 | return zero; [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 1977 | } else { [ 3909s] | ~~~~~~~~ [ 3909s] 1978 | c += k * ln2_lo; [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 1979 | return k * ln2_hi + c; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1980 | } [ 3909s] | ~ [ 3909s] 1981 | } [ 3909s] | ~ [ 3909s] 1982 | R = hfsq * (1.0 - 0.66666666666666666 * f); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1983 | if (k == 0) [ 3909s] | ~~~~~~~~~~~ [ 3909s] 1984 | return f - R; [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 1985 | else [ 3909s] | ~~~~ [ 3909s] 1986 | return k * ln2_hi - ((R - (k * ln2_lo + c)) - f); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1987 | } [ 3909s] | ~ [ 3909s] 1988 | s = f / (2.0 + f); [ 3909s] | ~~~~~~~~~~~~~~~~~~ [ 3909s] 1989 | z = s * s; [ 3909s] | ~~~~~~~~~~ [ 3909s] 1990 | R = z * (Lp1 + z * (Lp2 + z * (Lp3 + z * (Lp4 + z * (Lp5 + z * (Lp6 + z * Lp7)))))); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1991 | if (k == 0) [ 3909s] | ~~~~~~~~~~~ [ 3909s] 1992 | return f - (hfsq - s * (hfsq + R)); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1993 | else [ 3909s] | ~~~~ [ 3909s] 1994 | return k * ln2_hi - ((hfsq - (s * (hfsq + R) + (k * ln2_lo + c))) - f); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 1995 | } [ 3909s] | ~ [ 3909s] 1996 | [ 3909s] | [ 3909s] 1997 | /* [ 3909s] | ~~ [ 3909s] 1998 | * k_log1p(f): [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 1999 | * Return log(1+f) - f for 1+f in ~[sqrt(2)/2, sqrt(2)]. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2000 | * [ 3909s] | ~ [ 3909s] 2001 | * The following describes the overall strategy for computing [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2002 | * logarithms in base e. The argument reduction and adding the final [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2003 | * term of the polynomial are done by the caller for increased accuracy [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2004 | * when different bases are used. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2005 | * [ 3909s] | ~ [ 3909s] 2006 | * Method : [ 3909s] | ~~~~~~~~~~ [ 3909s] 2007 | * 1. Argument Reduction: find k and f such that [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2008 | * x = 2^k * (1+f), [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2009 | * where sqrt(2)/2 < 1+f < sqrt(2) . [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2010 | * [ 3909s] | ~ [ 3909s] 2011 | * 2. Approximation of log(1+f). [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2012 | * Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2013 | * = 2s + 2/3 s**3 + 2/5 s**5 + ....., [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2014 | * = 2s + s*R [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2015 | * We use a special Reme algorithm on [0,0.1716] to generate [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2016 | * a polynomial of degree 14 to approximate R The maximum error [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2017 | * of this polynomial approximation is bounded by 2**-58.45. In [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2018 | * other words, [ 3909s] | ~~~~~~~~~~~~~~~~~~~ [ 3909s] 2019 | * 2 4 6 8 10 12 14 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2020 | * R(z) ~ Lg1*s +Lg2*s +Lg3*s +Lg4*s +Lg5*s +Lg6*s +Lg7*s [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2021 | * (the values of Lg1 to Lg7 are listed in the program) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2022 | * and [ 3909s] | ~~~~~~~~~~ [ 3909s] 2023 | * | 2 14 | -58.45 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2024 | * | Lg1*s +...+Lg7*s - R(z) | <= 2 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2025 | * | | [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2026 | * Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2027 | * In order to guarantee error in log below 1ulp, we compute log [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2028 | * by [ 3909s] | ~~~~~~~~~ [ 3909s] 2029 | * log(1+f) = f - s*(f - R) (if f is not too large) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2030 | * log(1+f) = f - (hfsq - s*(hfsq+R)). (better accuracy) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2031 | * [ 3909s] | ~ [ 3909s] 2032 | * 3. Finally, log(x) = k*ln2 + log(1+f). [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2033 | * = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo))) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2034 | * Here ln2 is split into two floating point number: [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2035 | * ln2_hi + ln2_lo, [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2036 | * where n*ln2_hi is always exact for |n| < 2000. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2037 | * [ 3909s] | ~ [ 3909s] 2038 | * Special cases: [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 2039 | * log(x) is NaN with signal if x < 0 (including -INF) ; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2040 | * log(+INF) is +INF; log(0) is -INF with signal; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2041 | * log(NaN) is that NaN with no signal. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2042 | * [ 3909s] | ~ [ 3909s] 2043 | * Accuracy: [ 3909s] | ~~~~~~~~~~~ [ 3909s] 2044 | * according to an error analysis, the error is always less than [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2045 | * 1 ulp (unit in the last place). [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2046 | * [ 3909s] | ~ [ 3909s] 2047 | * Constants: [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 2048 | * The hexadecimal values are the intended ones for the following [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2049 | * constants. The decimal values may be used, provided that the [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2050 | * compiler will convert from decimal to binary accurately enough [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2051 | * to produce the hexadecimal values shown. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2052 | */ [ 3909s] | ~~ [ 3909s] 2053 | [ 3909s] | [ 3909s] 2054 | constexpr double Lg1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2055 | Lg2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2056 | Lg3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2057 | Lg4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2058 | Lg5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2059 | Lg6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2060 | Lg7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2061 | [ 3909s] | [ 3909s] 2062 | /* [ 3909s] | ~~ [ 3909s] 2063 | * We always inline k_log1p(), since doing so produces a [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2064 | * substantial performance improvement (~40% on amd64). [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2065 | */ [ 3909s] | ~~ [ 3909s] 2066 | static inline double k_log1p(double f) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2067 | { [ 3909s] | ~ [ 3909s] 2068 | double hfsq, s, z, R, w, t1, t2; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2069 | [ 3909s] | [ 3909s] 2070 | s = f / (2.0 + f); [ 3909s] | ~~~~~~~~~~~~~~~~~~ [ 3909s] 2071 | z = s * s; [ 3909s] | ~~~~~~~~~~ [ 3909s] 2072 | w = z * z; [ 3909s] | ~~~~~~~~~~ [ 3909s] 2073 | t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2074 | t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2075 | R = t2 + t1; [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 2076 | hfsq = 0.5 * f * f; [ 3909s] | ~~~~~~~~~~~~~~~~~~~ [ 3909s] 2077 | return s * (hfsq + R); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2078 | } [ 3909s] | ~ [ 3909s] 2079 | [ 3909s] | [ 3909s] 2080 | /* [ 3909s] | ~~ [ 3909s] 2081 | * Return the base 2 logarithm of x. See e_log.c and k_log.h for most [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2082 | * comments. [ 3909s] | ~~~~~~~~~~~ [ 3909s] 2083 | * [ 3909s] | ~ [ 3909s] 2084 | * This reduces x to {k, 1+f} exactly as in e_log.c, then calls the kernel, [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2085 | * then does the combining and scaling steps [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2086 | * log2(x) = (f - 0.5*f*f + k_log1p(f)) / ln2 + k [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2087 | * in not-quite-routine extra precision. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2088 | */ [ 3909s] | ~~ [ 3909s] 2089 | double log2(double x) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2090 | { [ 3909s] | ~ [ 3909s] 2091 | constexpr double [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 2092 | two54 [ 3909s] | ~~~~~ [ 3909s] 2093 | = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2094 | ivln2hi = 1.44269504072144627571e+00, /* 0x3FF71547, 0x65200000 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2095 | ivln2lo = 1.67517131648865118353e-10; /* 0x3DE705FC, 0x2EEFA200 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2096 | [ 3909s] | [ 3909s] 2097 | constexpr double zero = 0.0; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2098 | constexpr volatile double vzero = 0.0; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2099 | [ 3909s] | [ 3909s] 2100 | double f, hfsq, hi, lo, r, val_hi, val_lo, w, y; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2101 | int32_t i, k, hx; [ 3909s] | ~~~~~~~~~~~~~~~~~ [ 3909s] 2102 | uint32_t lx; [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 2103 | [ 3909s] | [ 3909s] 2104 | EXTRACT_WORDS(hx, lx, x); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2105 | [ 3909s] | [ 3909s] 2106 | k = 0; [ 3909s] | ~~~~~~ [ 3909s] 2107 | if (hx < 0x00100000) { /* x < 2**-1022 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2108 | if (((hx & 0x7FFFFFFF) | lx) == 0) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2109 | return -two54 / vzero; /* log(+-0)=-inf */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2110 | if (hx < 0) [ 3909s] | ~~~~~~~~~~~ [ 3909s] 2111 | return (x - x) / zero; /* log(-#) = NaN */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2112 | k -= 54; [ 3909s] | ~~~~~~~~ [ 3909s] 2113 | x *= two54; /* subnormal number, scale up x */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2114 | GET_HIGH_WORD(hx, x); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2115 | } [ 3909s] | ~ [ 3909s] 2116 | if (hx >= 0x7FF00000) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2117 | return x + x; [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 2118 | if (hx == 0x3FF00000 && lx == 0) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2119 | return zero; /* log(1) = +0 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2120 | k += (hx >> 20) - 1023; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2121 | hx &= 0x000FFFFF; [ 3909s] | ~~~~~~~~~~~~~~~~~ [ 3909s] 2122 | i = (hx + 0x95F64) & 0x100000; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2123 | SET_HIGH_WORD(x, hx | (i ^ 0x3FF00000)); /* normalize x or x/2 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2124 | k += (i >> 20); [ 3909s] | ~~~~~~~~~~~~~~~ [ 3909s] 2125 | y = static_cast(k); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2126 | f = x - 1.0; [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 2127 | hfsq = 0.5 * f * f; [ 3909s] | ~~~~~~~~~~~~~~~~~~~ [ 3909s] 2128 | r = k_log1p(f); [ 3909s] | ~~~~~~~~~~~~~~~ [ 3909s] 2129 | [ 3909s] | [ 3909s] 2130 | /* [ 3909s] | ~~ [ 3909s] 2131 | * f-hfsq must (for args near 1) be evaluated in extra precision [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2132 | * to avoid a large cancellation when x is near sqrt(2) or 1/sqrt(2). [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2133 | * This is fairly efficient since f-hfsq only depends on f, so can [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2134 | * be evaluated in parallel with R. Not combining hfsq with R also [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2135 | * keeps R small (though not as small as a true `lo' term would be), [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2136 | * so that extra precision is not needed for terms involving R. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2137 | * [ 3909s] | ~ [ 3909s] 2138 | * Compiler bugs involving extra precision used to break Dekker's [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2139 | * theorem for spitting f-hfsq as hi+lo, unless double_t was used [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2140 | * or the multi-precision calculations were avoided when double_t [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2141 | * has extra precision. These problems are now automatically [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2142 | * avoided as a side effect of the optimization of combining the [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2143 | * Dekker splitting step with the clear-low-bits step. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2144 | * [ 3909s] | ~ [ 3909s] 2145 | * y must (for args near sqrt(2) and 1/sqrt(2)) be added in extra [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2146 | * precision to avoid a very large cancellation when x is very near [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2147 | * these values. Unlike the above cancellations, this problem is [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2148 | * specific to base 2. It is strange that adding +-1 is so much [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2149 | * harder than adding +-ln2 or +-log10_2. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2150 | * [ 3909s] | ~ [ 3909s] 2151 | * This uses Dekker's theorem to normalize y+val_hi, so the [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2152 | * compiler bugs are back in some configurations, sigh. And I [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2153 | * don't want to used double_t to avoid them, since that gives a [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2154 | * pessimization and the support for avoiding the pessimization [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2155 | * is not yet available. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2156 | * [ 3909s] | ~ [ 3909s] 2157 | * The multi-precision calculations for the multiplications are [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2158 | * routine. [ 3909s] | ~~~~~~~~~~ [ 3909s] 2159 | */ [ 3909s] | ~~ [ 3909s] 2160 | hi = f - hfsq; [ 3909s] | ~~~~~~~~~~~~~~ [ 3909s] 2161 | SET_LOW_WORD(hi, 0); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2162 | lo = (f - hi) - hfsq + r; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2163 | val_hi = hi * ivln2hi; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2164 | val_lo = (lo + hi) * ivln2lo + lo * ivln2hi; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2165 | [ 3909s] | [ 3909s] 2166 | /* spadd(val_hi, val_lo, y), except for not using double_t: */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2167 | w = y + val_hi; [ 3909s] | ~~~~~~~~~~~~~~~ [ 3909s] 2168 | val_lo += (y - w) + val_hi; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2169 | val_hi = w; [ 3909s] | ~~~~~~~~~~~ [ 3909s] 2170 | [ 3909s] | [ 3909s] 2171 | return val_lo + val_hi; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2172 | } [ 3909s] | ~ [ 3909s] 2173 | [ 3909s] | [ 3909s] 2174 | /* [ 3909s] | ~~ [ 3909s] 2175 | * Return the base 10 logarithm of x [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2176 | * [ 3909s] | ~ [ 3909s] 2177 | * Method : [ 3909s] | ~~~~~~~~~~ [ 3909s] 2178 | * Let log10_2hi = leading 40 bits of log10(2) and [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2179 | * log10_2lo = log10(2) - log10_2hi, [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2180 | * ivln10 = 1/log(10) rounded. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2181 | * Then [ 3909s] | ~~~~~~~~~~~ [ 3909s] 2182 | * n = ilogb(x), [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2183 | * if(n<0) n = n+1; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2184 | * x = scalbn(x,-n); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2185 | * log10(x) := n*log10_2hi + (n*log10_2lo + ivln10*log(x)) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2186 | * [ 3909s] | ~ [ 3909s] 2187 | * Note 1: [ 3909s] | ~~~~~~~~~~ [ 3909s] 2188 | * To guarantee log10(10**n)=n, where 10**n is normal, the rounding [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2189 | * mode must set to Round-to-Nearest. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2190 | * Note 2: [ 3909s] | ~~~~~~~~~~ [ 3909s] 2191 | * [1/log(10)] rounded to 53 bits has error .198 ulps; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2192 | * log10 is monotonic at all binary break points. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2193 | * [ 3909s] | ~ [ 3909s] 2194 | * Special cases: [ 3909s] | ~~~~~~~~~~~~~~~~~ [ 3909s] 2195 | * log10(x) is NaN if x < 0; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2196 | * log10(+INF) is +INF; log10(0) is -INF; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2197 | * log10(NaN) is that NaN; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2198 | * log10(10**N) = N for N=0,1,...,22. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2199 | */ [ 3909s] | ~~ [ 3909s] 2200 | double log10(double x) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2201 | { [ 3909s] | ~ [ 3909s] 2202 | constexpr double [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 2203 | two54 [ 3909s] | ~~~~~ [ 3909s] 2204 | = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2205 | ivln10 = 4.34294481903251816668e-01, [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2206 | log10_2hi = 3.01029995663611771306e-01, /* 0x3FD34413, 0x509F6000 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2207 | log10_2lo = 3.69423907715893078616e-13; /* 0x3D59FEF3, 0x11F12B36 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2208 | [ 3909s] | [ 3909s] 2209 | constexpr double zero = 0.0; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2210 | constexpr volatile double vzero = 0.0; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2211 | [ 3909s] | [ 3909s] 2212 | double y; [ 3909s] | ~~~~~~~~~ [ 3909s] 2213 | int32_t i, k, hx; [ 3909s] | ~~~~~~~~~~~~~~~~~ [ 3909s] 2214 | uint32_t lx; [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 2215 | [ 3909s] | [ 3909s] 2216 | EXTRACT_WORDS(hx, lx, x); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2217 | [ 3909s] | [ 3909s] 2218 | k = 0; [ 3909s] | ~~~~~~ [ 3909s] 2219 | if (hx < 0x00100000) { /* x < 2**-1022 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2220 | if (((hx & 0x7FFFFFFF) | lx) == 0) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2221 | return -two54 / vzero; /* log(+-0)=-inf */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2222 | if (hx < 0) [ 3909s] | ~~~~~~~~~~~ [ 3909s] 2223 | return (x - x) / zero; /* log(-#) = NaN */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2224 | k -= 54; [ 3909s] | ~~~~~~~~ [ 3909s] 2225 | x *= two54; /* subnormal number, scale up x */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2226 | GET_HIGH_WORD(hx, x); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2227 | GET_LOW_WORD(lx, x); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2228 | } [ 3909s] | ~ [ 3909s] 2229 | if (hx >= 0x7FF00000) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2230 | return x + x; [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 2231 | if (hx == 0x3FF00000 && lx == 0) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2232 | return zero; /* log(1) = +0 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2233 | k += (hx >> 20) - 1023; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2234 | [ 3909s] | [ 3909s] 2235 | i = (k & 0x80000000) >> 31; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2236 | hx = (hx & 0x000FFFFF) | ((0x3FF - i) << 20); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2237 | y = k + i; [ 3909s] | ~~~~~~~~~~ [ 3909s] 2238 | SET_HIGH_WORD(x, hx); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2239 | SET_LOW_WORD(x, lx); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2240 | [ 3909s] | [ 3909s] 2241 | double z = y * log10_2lo + ivln10 * log(x); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2242 | return z + y * log10_2hi; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2243 | } [ 3909s] | ~ [ 3909s] 2244 | [ 3909s] | [ 3909s] 2245 | /* expm1(x) [ 3909s] | ~~~~~~~~~~~ [ 3909s] 2246 | * Returns exp(x)-1, the exponential of x minus 1. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2247 | * [ 3909s] | ~ [ 3909s] 2248 | * Method [ 3909s] | ~~~~~~~~ [ 3909s] 2249 | * 1. Argument reduction: [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2250 | * Given x, find r and integer k such that [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2251 | * [ 3909s] | ~ [ 3909s] 2252 | * x = k*ln2 + r, |r| <= 0.5*ln2 ~ 0.34658 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2253 | * [ 3909s] | ~ [ 3909s] 2254 | * Here a correction term c will be computed to compensate [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2255 | * the error in r when rounded to a floating-point number. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2256 | * [ 3909s] | ~ [ 3909s] 2257 | * 2. Approximating expm1(r) by a special rational function on [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2258 | * the interval [0,0.34658]: [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2259 | * Since [ 3909s] | ~~~~~~~~ [ 3909s] 2260 | * r*(exp(r)+1)/(exp(r)-1) = 2+ r^2/6 - r^4/360 + ... [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2261 | * we define R1(r*r) by [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2262 | * r*(exp(r)+1)/(exp(r)-1) = 2+ r^2/6 * R1(r*r) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2263 | * That is, [ 3909s] | ~~~~~~~~~~~ [ 3909s] 2264 | * R1(r**2) = 6/r *((exp(r)+1)/(exp(r)-1) - 2/r) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2265 | * = 6/r * ( 1 + 2.0*(1/(exp(r)-1) - 1/r)) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2266 | * = 1 - r^2/60 + r^4/2520 - r^6/100800 + ... [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2267 | * We use a special Reme algorithm on [0,0.347] to generate [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2268 | * a polynomial of degree 5 in r*r to approximate R1. The [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2269 | * maximum error of this polynomial approximation is bounded [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2270 | * by 2**-61. In other words, [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2271 | * R1(z) ~ 1.0 + Q1*z + Q2*z**2 + Q3*z**3 + Q4*z**4 + Q5*z**5 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2272 | * where Q1 = -1.6666666666666567384E-2, [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2273 | * Q2 = 3.9682539681370365873E-4, [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2274 | * Q3 = -9.9206344733435987357E-6, [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2275 | * Q4 = 2.5051361420808517002E-7, [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2276 | * Q5 = -6.2843505682382617102E-9; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2277 | * z = r*r, [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 2278 | * with error bounded by [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2279 | * | 5 | -61 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2280 | * | 1.0+Q1*z+...+Q5*z - R1(z) | <= 2 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2281 | * | | [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2282 | * [ 3909s] | ~ [ 3909s] 2283 | * expm1(r) = exp(r)-1 is then computed by the following [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2284 | * specific way which minimize the accumulation rounding error: [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2285 | * 2 3 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2286 | * r r [ 3 - (R1 + R1*r/2) ] [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2287 | * expm1(r) = r + --- + --- * [--------------------] [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2288 | * 2 2 [ 6 - r*(3 - R1*r/2) ] [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2289 | * [ 3909s] | ~ [ 3909s] 2290 | * To compensate the error in the argument reduction, we use [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2291 | * expm1(r+c) = expm1(r) + c + expm1(r)*c [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2292 | * ~ expm1(r) + c + r*c [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2293 | * Thus c+r*c will be added in as the correction terms for [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2294 | * expm1(r+c). Now rearrange the term to avoid optimization [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2295 | * screw up: [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 2296 | * ( 2 2 ) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2297 | * ({ ( r [ R1 - (3 - R1*r/2) ] ) } r ) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2298 | * expm1(r+c)~r - ({r*(--- * [--------------------]-c)-c} - --- ) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2299 | * ({ ( 2 [ 6 - r*(3 - R1*r/2) ] ) } 2 ) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2300 | * ( ) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2301 | * [ 3909s] | ~ [ 3909s] 2302 | * = r - E [ 3909s] | ~~~~~~~~~~~~~~~ [ 3909s] 2303 | * 3. Scale back to obtain expm1(x): [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2304 | * From step 1, we have [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2305 | * expm1(x) = either 2^k*[expm1(r)+1] - 1 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2306 | * = or 2^k*[expm1(r) + (1-2^-k)] [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2307 | * 4. Implementation notes: [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2308 | * (A). To save one multiplication, we scale the coefficient Qi [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2309 | * to Qi*2^i, and replace z by (x^2)/2. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2310 | * (B). To achieve maximum accuracy, we compute expm1(x) by [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2311 | * (i) if x < -56*ln2, return -1.0, (raise inexact if x!=inf) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2312 | * (ii) if k=0, return r-E [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2313 | * (iii) if k=-1, return 0.5*(r-E)-0.5 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2314 | * (iv) if k=1 if r < -0.25, return 2*((r+0.5)- E) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2315 | * else return 1.0+2.0*(r-E); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2316 | * (v) if (k<-2||k>56) return 2^k(1-(E-r)) - 1 (or exp(x)-1) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2317 | * (vi) if k <= 20, return 2^k((1-2^-k)-(E-r)), else [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2318 | * (vii) return 2^k(1-((E+2^-k)-r)) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2319 | * [ 3909s] | ~ [ 3909s] 2320 | * Special cases: [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 2321 | * expm1(INF) is INF, expm1(NaN) is NaN; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2322 | * expm1(-INF) is -1, and [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2323 | * for finite argument, only expm1(0)=0 is exact. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2324 | * [ 3909s] | ~ [ 3909s] 2325 | * Accuracy: [ 3909s] | ~~~~~~~~~~~ [ 3909s] 2326 | * according to an error analysis, the error is always less than [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2327 | * 1 ulp (unit in the last place). [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2328 | * [ 3909s] | ~ [ 3909s] 2329 | * Misc. info. [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 2330 | * For IEEE double [ 3909s] | ~~~~~~~~~~~~~~~~~~ [ 3909s] 2331 | * if x > 7.09782712893383973096e+02 then expm1(x) overflow [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2332 | * [ 3909s] | ~ [ 3909s] 2333 | * Constants: [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 2334 | * The hexadecimal values are the intended ones for the following [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2335 | * constants. The decimal values may be used, provided that the [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2336 | * compiler will convert from decimal to binary accurately enough [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2337 | * to produce the hexadecimal values shown. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2338 | */ [ 3909s] | ~~ [ 3909s] 2339 | double expm1(double x) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2340 | { [ 3909s] | ~ [ 3909s] 2341 | constexpr double [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 2342 | one [ 3909s] | ~~~ [ 3909s] 2343 | = 1.0, [ 3909s] | ~~~~~~ [ 3909s] 2344 | tiny = 1.0e-300, [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 2345 | o_threshold = 7.09782712893383973096e+02, /* 0x40862E42, 0xFEFA39EF */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2346 | ln2_hi = 6.93147180369123816490e-01, /* 0x3FE62E42, 0xFEE00000 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2347 | ln2_lo = 1.90821492927058770002e-10, /* 0x3DEA39EF, 0x35793C76 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2348 | invln2 = 1.44269504088896338700e+00, /* 0x3FF71547, 0x652B82FE */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2349 | /* Scaled Q's: Qn_here = 2**n * Qn_above, for R(2*z) where z = hxs = [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2350 | x*x/2: */ [ 3909s] | ~~~~~~~~~ [ 3909s] 2351 | Q1 = -3.33333333333331316428e-02, /* BFA11111 111110F4 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2352 | Q2 = 1.58730158725481460165e-03, /* 3F5A01A0 19FE5585 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2353 | Q3 = -7.93650757867487942473e-05, /* BF14CE19 9EAADBB7 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2354 | Q4 = 4.00821782732936239552e-06, /* 3ED0CFCA 86E65239 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2355 | Q5 = -2.01099218183624371326e-07; /* BE8AFDB7 6E09C32D */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2356 | [ 3909s] | [ 3909s] 2357 | constexpr volatile double huge = 1.0e+300; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2358 | [ 3909s] | [ 3909s] 2359 | double y, hi, lo, c, t, e, hxs, hfx, r1, twopk; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2360 | int32_t k, xsb; [ 3909s] | ~~~~~~~~~~~~~~~ [ 3909s] 2361 | uint32_t hx; [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 2362 | [ 3909s] | [ 3909s] 2363 | GET_HIGH_WORD(hx, x); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2364 | xsb = hx & 0x80000000; /* sign bit of x */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2365 | hx &= 0x7FFFFFFF; /* high word of |x| */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2366 | [ 3909s] | [ 3909s] 2367 | /* filter out huge and non-finite argument */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2368 | if (hx >= 0x4043687A) { /* if |x|>=56*ln2 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2369 | if (hx >= 0x40862E42) { /* if |x|>=709.78... */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2370 | if (hx >= 0x7FF00000) { [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2371 | uint32_t low; [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 2372 | GET_LOW_WORD(low, x); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2373 | if (((hx & 0xFFFFF) | low) != 0) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2374 | return x + x; /* NaN */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2375 | else [ 3909s] | ~~~~ [ 3909s] 2376 | return (xsb == 0) ? x : -1.0; /* exp(+-inf)={inf,-1} */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2377 | } [ 3909s] | ~ [ 3909s] 2378 | if (x > o_threshold) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2379 | return huge * huge; /* overflow */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2380 | } [ 3909s] | ~ [ 3909s] 2381 | if (xsb != 0 && x + tiny < 0.0) { /* x < -56*ln2, return -1.0 with inexact */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2382 | /* raise inexact */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~ [ 3909s] 2383 | return tiny - one; /* return -1 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2384 | } [ 3909s] | ~ [ 3909s] 2385 | } [ 3909s] | ~ [ 3909s] 2386 | [ 3909s] | [ 3909s] 2387 | /* argument reduction */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2388 | if (hx > 0x3FD62E42) { /* if |x| > 0.5 ln2 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2389 | if (hx < 0x3FF0A2B2) { /* and |x| < 1.5 ln2 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2390 | if (xsb == 0) { [ 3909s] | ~~~~~~~~~~~~~~~ [ 3909s] 2391 | hi = x - ln2_hi; [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 2392 | lo = ln2_lo; [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 2393 | k = 1; [ 3909s] | ~~~~~~ [ 3909s] 2394 | } else { [ 3909s] | ~~~~~~~~ [ 3909s] 2395 | hi = x + ln2_hi; [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 2396 | lo = -ln2_lo; [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 2397 | k = -1; [ 3909s] | ~~~~~~~ [ 3909s] 2398 | } [ 3909s] | ~ [ 3909s] 2399 | } else { [ 3909s] | ~~~~~~~~ [ 3909s] 2400 | k = invln2 * x + ((xsb == 0) ? 0.5 : -0.5); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2401 | t = k; [ 3909s] | ~~~~~~ [ 3909s] 2402 | hi = x - t * ln2_hi; /* t*ln2_hi is exact here */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2403 | lo = t * ln2_lo; [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 2404 | } [ 3909s] | ~ [ 3909s] 2405 | STRICT_ASSIGN(double, x, hi - lo); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2406 | c = (hi - x) - lo; [ 3909s] | ~~~~~~~~~~~~~~~~~~ [ 3909s] 2407 | } else if (hx < 0x3C900000) { /* when |x|<2**-54, return x */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2408 | t = huge + x; /* return x with inexact flags when x!=0 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2409 | return x - (t - (huge + x)); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2410 | } else { [ 3909s] | ~~~~~~~~ [ 3909s] 2411 | k = 0; [ 3909s] | ~~~~~~ [ 3909s] 2412 | } [ 3909s] | ~ [ 3909s] 2413 | [ 3909s] | [ 3909s] 2414 | /* x is now in primary range */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2415 | hfx = 0.5 * x; [ 3909s] | ~~~~~~~~~~~~~~ [ 3909s] 2416 | hxs = x * hfx; [ 3909s] | ~~~~~~~~~~~~~~ [ 3909s] 2417 | r1 = one + hxs * (Q1 + hxs * (Q2 + hxs * (Q3 + hxs * (Q4 + hxs * Q5)))); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2418 | t = 3.0 - r1 * hfx; [ 3909s] | ~~~~~~~~~~~~~~~~~~~ [ 3909s] 2419 | e = hxs * ((r1 - t) / (6.0 - x * t)); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2420 | if (k == 0) { [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 2421 | return x - (x * e - hxs); /* c is 0 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2422 | } else { [ 3909s] | ~~~~~~~~ [ 3909s] 2423 | INSERT_WORDS(twopk, 0x3FF00000 + (k << 20), 0); /* 2^k */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2424 | e = (x * (e - c) - c); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2425 | e -= hxs; [ 3909s] | ~~~~~~~~~ [ 3909s] 2426 | if (k == -1) [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 2427 | return 0.5 * (x - e) - 0.5; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2428 | if (k == 1) { [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 2429 | if (x < -0.25) [ 3909s] | ~~~~~~~~~~~~~~ [ 3909s] 2430 | return -2.0 * (e - (x + 0.5)); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2431 | else [ 3909s] | ~~~~ [ 3909s] 2432 | return one + 2.0 * (x - e); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2433 | } [ 3909s] | ~ [ 3909s] 2434 | if (k <= -2 || k > 56) { /* suffice to return exp(x)-1 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2435 | y = one - (e - x); [ 3909s] | ~~~~~~~~~~~~~~~~~~ [ 3909s] 2436 | // TODO(mvstanton): is this replacement for the hex float [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2437 | // sufficient? [ 3909s] | ~~~~~~~~~~~~~~ [ 3909s] 2438 | // if (k == 1024) y = y*2.0*0x1p1023; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2439 | if (k == 1024) [ 3909s] | ~~~~~~~~~~~~~~ [ 3909s] 2440 | y = y * 2.0 * 8.98846567431158e+307; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2441 | else [ 3909s] | ~~~~ [ 3909s] 2442 | y = y * twopk; [ 3909s] | ~~~~~~~~~~~~~~ [ 3909s] 2443 | return y - one; [ 3909s] | ~~~~~~~~~~~~~~~ [ 3909s] 2444 | } [ 3909s] | ~ [ 3909s] 2445 | t = one; [ 3909s] | ~~~~~~~~ [ 3909s] 2446 | if (k < 20) { [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 2447 | SET_HIGH_WORD(t, 0x3FF00000 - (0x200000 >> k)); /* t=1-2^-k */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2448 | y = t - (e - x); [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 2449 | y = y * twopk; [ 3909s] | ~~~~~~~~~~~~~~ [ 3909s] 2450 | } else { [ 3909s] | ~~~~~~~~ [ 3909s] 2451 | SET_HIGH_WORD(t, ((0x3FF - k) << 20)); /* 2^-k */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2452 | y = x - (e + t); [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 2453 | y += one; [ 3909s] | ~~~~~~~~~ [ 3909s] 2454 | y = y * twopk; [ 3909s] | ~~~~~~~~~~~~~~ [ 3909s] 2455 | } [ 3909s] | ~ [ 3909s] 2456 | } [ 3909s] | ~ [ 3909s] 2457 | return y; [ 3909s] | ~~~~~~~~~ [ 3909s] 2458 | } [ 3909s] | ~ [ 3909s] 2459 | [ 3909s] | [ 3909s] 2460 | double cbrt(double x) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2461 | { [ 3909s] | ~ [ 3909s] 2462 | constexpr uint32_t [ 3909s] | ~~~~~~~~~~~~~~~~~~ [ 3909s] 2463 | B1 [ 3909s] | ~~ [ 3909s] 2464 | = 715094163, /* B1 = (1023-1023/3-0.03306235651)*2**20 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2465 | B2 = 696219795; /* B2 = (1023-1023/3-54/3-0.03306235651)*2**20 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2466 | [ 3909s] | [ 3909s] 2467 | /* |1/cbrt(x) - p(x)| < 2**-23.5 (~[-7.93e-8, 7.929e-8]). */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2468 | constexpr double P0 = 1.87595182427177009643, /* 0x3FFE03E6, 0x0F61E692 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2469 | P1 = -1.88497979543377169875, /* 0xBFFE28E0, 0x92F02420 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2470 | P2 = 1.621429720105354466140, /* 0x3FF9F160, 0x4A49D6C2 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2471 | P3 = -0.758397934778766047437, /* 0xBFE844CB, 0xBEE751D9 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2472 | P4 = 0.145996192886612446982; /* 0x3FC2B000, 0xD4E4EDD7 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2473 | [ 3909s] | [ 3909s] 2474 | int32_t hx; [ 3909s] | ~~~~~~~~~~~ [ 3909s] 2475 | union { [ 3909s] | ~~~~~~~ [ 3909s] 2476 | double value; [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 2477 | uint64_t bits; [ 3909s] | ~~~~~~~~~~~~~~ [ 3909s] 2478 | } u; [ 3909s] | ~~~~ [ 3909s] 2479 | double r, s, t = 0.0, w; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2480 | uint32_t sign; [ 3909s] | ~~~~~~~~~~~~~~ [ 3909s] 2481 | uint32_t high, low; [ 3909s] | ~~~~~~~~~~~~~~~~~~~ [ 3909s] 2482 | [ 3909s] | [ 3909s] 2483 | EXTRACT_WORDS(hx, low, x); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2484 | sign = hx & 0x80000000; /* sign= sign(x) */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2485 | hx ^= sign; [ 3909s] | ~~~~~~~~~~~ [ 3909s] 2486 | if (hx >= 0x7FF00000) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2487 | return (x + x); /* cbrt(NaN,INF) is itself */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2488 | [ 3909s] | [ 3909s] 2489 | /* [ 3909s] | ~~ [ 3909s] 2490 | * Rough cbrt to 5 bits: [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2491 | * cbrt(2**e*(1+m) ~= 2**(e/3)*(1+(e%3+m)/3) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2492 | * where e is integral and >= 0, m is real and in [0, 1), and "/" and [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2493 | * "%" are integer division and modulus with rounding towards minus [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2494 | * infinity. The RHS is always >= the LHS and has a maximum relative [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2495 | * error of about 1 in 16. Adding a bias of -0.03306235651 to the [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2496 | * (e%3+m)/3 term reduces the error to about 1 in 32. With the IEEE [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2497 | * floating point representation, for finite positive normal values, [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2498 | * ordinary integer division of the value in bits magically gives [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2499 | * almost exactly the RHS of the above provided we first subtract the [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2500 | * exponent bias (1023 for doubles) and later add it back. We do the [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2501 | * subtraction virtually to keep e >= 0 so that ordinary integer [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2502 | * division rounds towards minus infinity; this is also efficient. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2503 | */ [ 3909s] | ~~ [ 3909s] 2504 | if (hx < 0x00100000) { /* zero or subnormal? */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2505 | if ((hx | low) == 0) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2506 | return (x); /* cbrt(0) is itself */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2507 | SET_HIGH_WORD(t, 0x43500000); /* set t= 2**54 */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2508 | t *= x; [ 3909s] | ~~~~~~~ [ 3909s] 2509 | GET_HIGH_WORD(high, t); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2510 | INSERT_WORDS(t, sign | ((high & 0x7FFFFFFF) / 3 + B2), 0); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2511 | } else { [ 3909s] | ~~~~~~~~ [ 3909s] 2512 | INSERT_WORDS(t, sign | (hx / 3 + B1), 0); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2513 | } [ 3909s] | ~ [ 3909s] 2514 | [ 3909s] | [ 3909s] 2515 | /* [ 3909s] | ~~ [ 3909s] 2516 | * New cbrt to 23 bits: [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2517 | * cbrt(x) = t*cbrt(x/t**3) ~= t*P(t**3/x) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2518 | * where P(r) is a polynomial of degree 4 that approximates 1/cbrt(r) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2519 | * to within 2**-23.5 when |r - 1| < 1/10. The rough approximation [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2520 | * has produced t such than |t/cbrt(x) - 1| ~< 1/32, and cubing this [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2521 | * gives us bounds for r = t**3/x. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2522 | * [ 3909s] | ~ [ 3909s] 2523 | * Try to optimize for parallel evaluation as in k_tanf.c. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2524 | */ [ 3909s] | ~~ [ 3909s] 2525 | r = (t * t) * (t / x); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2526 | t = t * ((P0 + r * (P1 + r * P2)) + ((r * r) * r) * (P3 + r * P4)); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2527 | [ 3909s] | [ 3909s] 2528 | /* [ 3909s] | ~~ [ 3909s] 2529 | * Round t away from zero to 23 bits (sloppily except for ensuring that [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2530 | * the result is larger in magnitude than cbrt(x) but not much more than [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2531 | * 2 23-bit ulps larger). With rounding towards zero, the error bound [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2532 | * would be ~5/6 instead of ~4/6. With a maximum error of 2 23-bit ulps [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2533 | * in the rounded t, the infinite-precision error in the Newton [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2534 | * approximation barely affects third digit in the final error [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2535 | * 0.667; the error in the rounded t can be up to about 3 23-bit ulps [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2536 | * before the final error is larger than 0.667 ulps. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2537 | */ [ 3909s] | ~~ [ 3909s] 2538 | u.value = t; [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 2539 | u.bits = (u.bits + 0x80000000) & 0xFFFFFFFFC0000000ULL; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2540 | t = u.value; [ 3909s] | ~~~~~~~~~~~~ [ 3909s] 2541 | [ 3909s] | [ 3909s] 2542 | /* one step Newton iteration to 53 bits with error < 0.667 ulps */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2543 | s = t * t; /* t*t is exact */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2544 | r = x / s; /* error <= 0.5 ulps; |r| < |t| */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2545 | w = t + t; /* t+t is exact */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2546 | r = (r - t) / (w + r); /* r-t is exact; w+r ~= 3*t */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2547 | t = t + t * r; /* error <= 0.5 + 0.5/3 + epsilon */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2548 | [ 3909s] | [ 3909s] 2549 | return (t); [ 3909s] | ~~~~~~~~~~~ [ 3909s] 2550 | } [ 3909s] | ~ [ 3909s] 2551 | [ 3909s] | [ 3909s] 2552 | /* sin(x) [ 3909s] | ~~~~~~~~~ [ 3909s] 2553 | * Return sine function of x. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2554 | * [ 3909s] | ~ [ 3909s] 2555 | * kernel function: [ 3909s] | ~~~~~~~~~~~~~~~~~~ [ 3909s] 2556 | * __kernel_sin ... sine function on [-pi/4,pi/4] [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2557 | * __kernel_cos ... cose function on [-pi/4,pi/4] [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2558 | * __ieee754_rem_pio2 ... argument reduction routine [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2559 | * [ 3909s] | ~ [ 3909s] 2560 | * Method. [ 3909s] | ~~~~~~~~~ [ 3909s] 2561 | * Let S,C and T denote the sin, cos and tan respectively on [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2562 | * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2563 | * in [-pi/4 , +pi/4], and let n = k mod 4. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2564 | * We have [ 3909s] | ~~~~~~~~~~~~~~ [ 3909s] 2565 | * [ 3909s] | ~ [ 3909s] 2566 | * n sin(x) cos(x) tan(x) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2567 | * ---------------------------------------------------------- [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2568 | * 0 S C T [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2569 | * 1 C -S -1/T [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2570 | * 2 -S -C T [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2571 | * 3 -C S -1/T [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2572 | * ---------------------------------------------------------- [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2573 | * [ 3909s] | ~ [ 3909s] 2574 | * Special cases: [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 2575 | * Let trig be any of sin, cos, or tan. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2576 | * trig(+-INF) is NaN, with signals; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2577 | * trig(NaN) is that NaN; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2578 | * [ 3909s] | ~ [ 3909s] 2579 | * Accuracy: [ 3909s] | ~~~~~~~~~~~ [ 3909s] 2580 | * TRIG(x) returns trig(x) nearly rounded [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2581 | */ [ 3909s] | ~~ [ 3909s] 2582 | double sin(double x) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2583 | { [ 3909s] | ~ [ 3909s] 2584 | double y[2], z = 0.0; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2585 | int32_t n, ix; [ 3909s] | ~~~~~~~~~~~~~~ [ 3909s] 2586 | [ 3909s] | [ 3909s] 2587 | /* High word of x. */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2588 | GET_HIGH_WORD(ix, x); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2589 | [ 3909s] | [ 3909s] 2590 | /* |x| ~< pi/4 */ [ 3909s] | ~~~~~~~~~~~~~~~~~ [ 3909s] 2591 | ix &= 0x7FFFFFFF; [ 3909s] | ~~~~~~~~~~~~~~~~~ [ 3909s] 2592 | if (ix <= 0x3FE921FB) { [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2593 | return __kernel_sin(x, z, 0); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2594 | } else if (ix >= 0x7FF00000) { [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2595 | /* sin(Inf or NaN) is NaN */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2596 | return x - x; [ 3909s] | ~~~~~~~~~~~~~ [ 3909s] 2597 | } else { [ 3909s] | ~~~~~~~~ [ 3909s] 2598 | /* argument reduction needed */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2599 | n = __ieee754_rem_pio2(x, y); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2600 | switch (n & 3) { [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 2601 | case 0: [ 3909s] | ~~~~~~~ [ 3909s] 2602 | return __kernel_sin(y[0], y[1], 1); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2603 | case 1: [ 3909s] | ~~~~~~~ [ 3909s] 2604 | return __kernel_cos(y[0], y[1]); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2605 | case 2: [ 3909s] | ~~~~~~~ [ 3909s] 2606 | return -__kernel_sin(y[0], y[1], 1); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2607 | default: [ 3909s] | ~~~~~~~~ [ 3909s] 2608 | return -__kernel_cos(y[0], y[1]); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2609 | } [ 3909s] | ~ [ 3909s] 2610 | } [ 3909s] | ~ [ 3909s] 2611 | } [ 3909s] | ~ [ 3909s] 2612 | [ 3909s] | [ 3909s] 2613 | /* tan(x) [ 3909s] | ~~~~~~~~~ [ 3909s] 2614 | * Return tangent function of x. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2615 | * [ 3909s] | ~ [ 3909s] 2616 | * kernel function: [ 3909s] | ~~~~~~~~~~~~~~~~~~ [ 3909s] 2617 | * __kernel_tan ... tangent function on [-pi/4,pi/4] [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2618 | * __ieee754_rem_pio2 ... argument reduction routine [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2619 | * [ 3909s] | ~ [ 3909s] 2620 | * Method. [ 3909s] | ~~~~~~~~~ [ 3909s] 2621 | * Let S,C and T denote the sin, cos and tan respectively on [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2622 | * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2623 | * in [-pi/4 , +pi/4], and let n = k mod 4. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2624 | * We have [ 3909s] | ~~~~~~~~~~~~~~ [ 3909s] 2625 | * [ 3909s] | ~ [ 3909s] 2626 | * n sin(x) cos(x) tan(x) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2627 | * ---------------------------------------------------------- [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2628 | * 0 S C T [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2629 | * 1 C -S -1/T [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2630 | * 2 -S -C T [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2631 | * 3 -C S -1/T [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2632 | * ---------------------------------------------------------- [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2633 | * [ 3909s] | ~ [ 3909s] 2634 | * Special cases: [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 2635 | * Let trig be any of sin, cos, or tan. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2636 | * trig(+-INF) is NaN, with signals; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2637 | * trig(NaN) is that NaN; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2638 | * [ 3909s] | ~ [ 3909s] 2639 | * Accuracy: [ 3909s] | ~~~~~~~~~~~ [ 3909s] 2640 | * TRIG(x) returns trig(x) nearly rounded [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2641 | */ [ 3909s] | ~~ [ 3909s] 2642 | double tan(double x) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2643 | { [ 3909s] | ~ [ 3909s] 2644 | double y[2], z = 0.0; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2645 | int32_t n, ix; [ 3909s] | ~~~~~~~~~~~~~~ [ 3909s] 2646 | [ 3909s] | [ 3909s] 2647 | /* High word of x. */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2648 | GET_HIGH_WORD(ix, x); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2649 | [ 3909s] | [ 3909s] 2650 | /* |x| ~< pi/4 */ [ 3909s] | ~~~~~~~~~~~~~~~~~ [ 3909s] 2651 | ix &= 0x7FFFFFFF; [ 3909s] | ~~~~~~~~~~~~~~~~~ [ 3909s] 2652 | if (ix <= 0x3FE921FB) { [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2653 | return __kernel_tan(x, z, 1); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2654 | } else if (ix >= 0x7FF00000) { [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2655 | /* tan(Inf or NaN) is NaN */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2656 | return x - x; /* NaN */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2657 | } else { [ 3909s] | ~~~~~~~~ [ 3909s] 2658 | /* argument reduction needed */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2659 | n = __ieee754_rem_pio2(x, y); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2660 | /* 1 -> n even, -1 -> n odd */ [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2661 | return __kernel_tan(y[0], y[1], 1 - ((n & 1) << 1)); [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2662 | } [ 3909s] | ~ [ 3909s] 2663 | } [ 3909s] | ~ [ 3909s] 2664 | [ 3909s] | [ 3909s] 2665 | /* [ 3909s] | ~~ [ 3909s] 2666 | * ES6 draft 09-27-13, section 20.2.2.12. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2667 | * Math.cosh [ 3909s] | ~~~~~~~~~~~ [ 3909s] 2668 | * Method : [ 3909s] | ~~~~~~~~~~ [ 3909s] 2669 | * mathematically cosh(x) if defined to be (exp(x)+exp(-x))/2 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2670 | * 1. Replace x by |x| (cosh(x) = cosh(-x)). [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2671 | * 2. [ 3909s] | ~~~~~~~~~ [ 3909s] 2672 | * [ exp(x) - 1 ]^2 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2673 | * 0 <= x <= ln2/2 : cosh(x) := 1 + ------------------- [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2674 | * 2*exp(x) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2675 | * [ 3909s] | ~ [ 3909s] 2676 | * exp(x) + 1/exp(x) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2677 | * ln2/2 <= x <= 22 : cosh(x) := ------------------- [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2678 | * 2 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2679 | * 22 <= x <= lnovft : cosh(x) := exp(x)/2 [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2680 | * lnovft <= x <= ln2ovft: cosh(x) := exp(x/2)/2 * exp(x/2) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2681 | * ln2ovft < x : cosh(x) := huge*huge (overflow) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2682 | * [ 3909s] | ~ [ 3909s] 2683 | * Special cases: [ 3909s] | ~~~~~~~~~~~~~~~~ [ 3909s] 2684 | * cosh(x) is |x| if x is +INF, -INF, or NaN. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2685 | * only cosh(0)=1 is exact for finite x. [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2686 | */ [ 3909s] | ~~ [ 3909s] 2687 | double cosh(double x) [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2688 | { [ 3909s] | ~ [ 3909s] 2689 | constexpr double KCOSH_OVERFLOW = 710.4758600739439; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2690 | constexpr double one = 1.0, half = 0.5; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2691 | constexpr volatile double huge = 1.0e+300; [ 3909s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3909s] 2692 | [ 3909s] | [ 3909s] 2693 | int32_t ix; [ 3909s] | ~~~~~~~~~~~ [ 3909s] 2694 | [ 3910s] | [ 3910s] 2695 | /* High word of |x|. */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2696 | GET_HIGH_WORD(ix, x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2697 | ix &= 0x7FFFFFFF; [ 3910s] | ~~~~~~~~~~~~~~~~~ [ 3910s] 2698 | [ 3910s] | [ 3910s] 2699 | // |x| in [0,0.5*log2], return 1+expm1(|x|)^2/(2*exp(|x|)) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2700 | if (ix < 0x3FD62E43) { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2701 | double t = expm1(fabs(x)); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2702 | double w = one + t; [ 3910s] | ~~~~~~~~~~~~~~~~~~~ [ 3910s] 2703 | // For |x| < 2^-55, cosh(x) = 1 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2704 | if (ix < 0x3C800000) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2705 | return w; [ 3910s] | ~~~~~~~~~ [ 3910s] 2706 | return one + (t * t) / (w + w); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2707 | } [ 3910s] | ~ [ 3910s] 2708 | [ 3910s] | [ 3910s] 2709 | // |x| in [0.5*log2, 22], return (exp(|x|)+1/exp(|x|)/2 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2710 | if (ix < 0x40360000) { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2711 | double t = exp(fabs(x)); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2712 | return half * t + half / t; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2713 | } [ 3910s] | ~ [ 3910s] 2714 | [ 3910s] | [ 3910s] 2715 | // |x| in [22, log(maxdouble)], return half*exp(|x|) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2716 | if (ix < 0x40862E42) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2717 | return half * exp(fabs(x)); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2718 | [ 3910s] | [ 3910s] 2719 | // |x| in [log(maxdouble), overflowthreshold] [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2720 | if (fabs(x) <= KCOSH_OVERFLOW) { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2721 | double w = exp(half * fabs(x)); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2722 | double t = half * w; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2723 | return t * w; [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 2724 | } [ 3910s] | ~ [ 3910s] 2725 | [ 3910s] | [ 3910s] 2726 | /* x is INF or NaN */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2727 | if (ix >= 0x7FF00000) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2728 | return x * x; [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 2729 | [ 3910s] | [ 3910s] 2730 | // |x| > overflowthreshold. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2731 | return huge * huge; [ 3910s] | ~~~~~~~~~~~~~~~~~~~ [ 3910s] 2732 | } [ 3910s] | ~ [ 3910s] 2733 | [ 3910s] | [ 3910s] 2734 | /* [ 3910s] | ~~ [ 3910s] 2735 | * ES6 draft 09-27-13, section 20.2.2.30. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2736 | * Math.sinh [ 3910s] | ~~~~~~~~~~~ [ 3910s] 2737 | * Method : [ 3910s] | ~~~~~~~~~~ [ 3910s] 2738 | * mathematically sinh(x) if defined to be (exp(x)-exp(-x))/2 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2739 | * 1. Replace x by |x| (sinh(-x) = -sinh(x)). [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2740 | * 2. [ 3910s] | ~~~~~~~~~ [ 3910s] 2741 | * E + E/(E+1) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2742 | * 0 <= x <= 22 : sinh(x) := --------------, E=expm1(x) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2743 | * 2 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2744 | * [ 3910s] | ~ [ 3910s] 2745 | * 22 <= x <= lnovft : sinh(x) := exp(x)/2 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2746 | * lnovft <= x <= ln2ovft: sinh(x) := exp(x/2)/2 * exp(x/2) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2747 | * ln2ovft < x : sinh(x) := x*shuge (overflow) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2748 | * [ 3910s] | ~ [ 3910s] 2749 | * Special cases: [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 2750 | * sinh(x) is |x| if x is +Infinity, -Infinity, or NaN. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2751 | * only sinh(0)=0 is exact for finite x. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2752 | */ [ 3910s] | ~~ [ 3910s] 2753 | double sinh(double x) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2754 | { [ 3910s] | ~ [ 3910s] 2755 | constexpr double KSINH_OVERFLOW = 710.4758600739439, [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2756 | TWO_M28 = 3.725290298461914e-9, // 2^-28, empty lower half [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2757 | LOG_MAXD = 709.7822265625; // 0x40862E42 00000000, empty lower half [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2758 | constexpr double shuge = 1.0e307; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2759 | [ 3910s] | [ 3910s] 2760 | double h = (x < 0) ? -0.5 : 0.5; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2761 | // |x| in [0, 22]. return sign(x)*0.5*(E+E/(E+1)) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2762 | double ax = fabs(x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2763 | if (ax < 22) { [ 3910s] | ~~~~~~~~~~~~~~ [ 3910s] 2764 | // For |x| < 2^-28, sinh(x) = x [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2765 | if (ax < TWO_M28) [ 3910s] | ~~~~~~~~~~~~~~~~~ [ 3910s] 2766 | return x; [ 3910s] | ~~~~~~~~~ [ 3910s] 2767 | double t = expm1(ax); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2768 | if (ax < 1) { [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 2769 | return h * (2 * t - t * t / (t + 1)); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2770 | } [ 3910s] | ~ [ 3910s] 2771 | return h * (t + t / (t + 1)); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2772 | } [ 3910s] | ~ [ 3910s] 2773 | // |x| in [22, log(maxdouble)], return 0.5 * exp(|x|) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2774 | if (ax < LOG_MAXD) [ 3910s] | ~~~~~~~~~~~~~~~~~~ [ 3910s] 2775 | return h * exp(ax); [ 3910s] | ~~~~~~~~~~~~~~~~~~~ [ 3910s] 2776 | // |x| in [log(maxdouble), overflowthreshold] [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2777 | // overflowthreshold = 710.4758600739426 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2778 | if (ax <= KSINH_OVERFLOW) { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2779 | double w = exp(0.5 * ax); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2780 | double t = h * w; [ 3910s] | ~~~~~~~~~~~~~~~~~ [ 3910s] 2781 | return t * w; [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 2782 | } [ 3910s] | ~ [ 3910s] 2783 | // |x| > overflowthreshold or is NaN. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2784 | // Return Infinity of the appropriate sign or NaN. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2785 | return x * shuge; [ 3910s] | ~~~~~~~~~~~~~~~~~ [ 3910s] 2786 | } [ 3910s] | ~ [ 3910s] 2787 | [ 3910s] | [ 3910s] 2788 | /* Tanh(x) [ 3910s] | ~~~~~~~~~~ [ 3910s] 2789 | * Return the Hyperbolic Tangent of x [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2790 | * [ 3910s] | ~ [ 3910s] 2791 | * Method : [ 3910s] | ~~~~~~~~~~ [ 3910s] 2792 | * x -x [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2793 | * e - e [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2794 | * 0. tanh(x) is defined to be ----------- [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2795 | * x -x [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2796 | * e + e [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2797 | * 1. reduce x to non-negative by tanh(-x) = -tanh(x). [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2798 | * 2. 0 <= x < 2**-28 : tanh(x) := x with inexact if x != 0 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2799 | * -t [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2800 | * 2**-28 <= x < 1 : tanh(x) := -----; t = expm1(-2x) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2801 | * t + 2 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2802 | * 2 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2803 | * 1 <= x < 22 : tanh(x) := 1 - -----; t = expm1(2x) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2804 | * t + 2 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2805 | * 22 <= x <= INF : tanh(x) := 1. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2806 | * [ 3910s] | ~ [ 3910s] 2807 | * Special cases: [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 2808 | * tanh(NaN) is NaN; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2809 | * only tanh(0)=0 is exact for finite argument. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2810 | */ [ 3910s] | ~~ [ 3910s] 2811 | double tanh(double x) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2812 | { [ 3910s] | ~ [ 3910s] 2813 | constexpr volatile double tiny = 1.0e-300; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2814 | constexpr double one = 1.0, two = 2.0, huge = 1.0e300; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2815 | double t, z; [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 2816 | int32_t jx, ix; [ 3910s] | ~~~~~~~~~~~~~~~ [ 3910s] 2817 | [ 3910s] | [ 3910s] 2818 | GET_HIGH_WORD(jx, x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2819 | ix = jx & 0x7FFFFFFF; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2820 | [ 3910s] | [ 3910s] 2821 | /* x is INF or NaN */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2822 | if (ix >= 0x7FF00000) { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2823 | if (jx >= 0) [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 2824 | return one / x + one; /* tanh(+-inf)=+-1 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2825 | else [ 3910s] | ~~~~ [ 3910s] 2826 | return one / x - one; /* tanh(NaN) = NaN */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2827 | } [ 3910s] | ~ [ 3910s] 2828 | [ 3910s] | [ 3910s] 2829 | /* |x| < 22 */ [ 3910s] | ~~~~~~~~~~~~~~ [ 3910s] 2830 | if (ix < 0x40360000) { /* |x|<22 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2831 | if (ix < 0x3E300000 && huge + x > one) { /* |x|<2**-28 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2832 | return x; /* tanh(tiny) = tiny with inexact */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2833 | } [ 3910s] | ~ [ 3910s] 2834 | if (ix >= 0x3FF00000) { /* |x|>=1 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2835 | t = expm1(two * fabs(x)); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2836 | z = one - two / (t + two); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2837 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 2838 | t = expm1(-two * fabs(x)); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2839 | z = -t / (t + two); [ 3910s] | ~~~~~~~~~~~~~~~~~~~ [ 3910s] 2840 | } [ 3910s] | ~ [ 3910s] 2841 | /* |x| >= 22, return +-1 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2842 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 2843 | z = one - tiny; /* raise inexact flag */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2844 | } [ 3910s] | ~ [ 3910s] 2845 | return (jx >= 0) ? z : -z; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2846 | } [ 3910s] | ~ [ 3910s] 2847 | [ 3910s] | [ 3910s] 2848 | double ceil(double x) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2849 | { [ 3910s] | ~ [ 3910s] 2850 | constexpr double huge = 1.0e300; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2851 | int i0, i1, j0; [ 3910s] | ~~~~~~~~~~~~~~~ [ 3910s] 2852 | unsigned i, j; [ 3910s] | ~~~~~~~~~~~~~~ [ 3910s] 2853 | i0 = __HI(x); [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 2854 | i1 = __LO(x); [ 3910s] | ~~~~~~~~~~~ [ 3910s] third_party/escargot/src/runtime/IEEE754.cpp:2854:10: note: in expansion of macro '__LO' [ 3910s] 2854 | i1 = __LO(x); [ 3910s] | ^~~~ [ 3910s] third_party/escargot/src/runtime/IEEE754.cpp:86:18: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] [ 3910s] 86 | #define __LO(x) *(int *)&x [ 3910s] | ^~~~~~~~~ [ 3910s] 87 | #define __HIp(x) *(1 + (int *)x) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 88 | #define __LOp(x) *(int *)x [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 89 | [ 3910s] | [ 3910s] 90 | #else [ 3910s] | ~~~~~ [ 3910s] 91 | [ 3910s] | [ 3910s] 92 | typedef union { [ 3910s] | ~~~~~~~~~~~~~~~ [ 3910s] 93 | double value; [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 94 | struct { [ 3910s] | ~~~~~~~~ [ 3910s] 95 | uint32_t msw; [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 96 | uint32_t lsw; [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 97 | } parts; [ 3910s] | ~~~~~~~~ [ 3910s] 98 | struct { [ 3910s] | ~~~~~~~~ [ 3910s] 99 | uint64_t w; [ 3910s] | ~~~~~~~~~~~ [ 3910s] 100 | } xparts; [ 3910s] | ~~~~~~~~~ [ 3910s] 101 | } ieee_double_shape_type; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 102 | [ 3910s] | [ 3910s] 103 | #define __HI(x) *(int *)&x [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 104 | #define __LO(x) *(1 + (int *)&x) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 105 | #define __HIp(x) *(int *)x [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 106 | #define __LOp(x) *(1 + (int *)x) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 107 | [ 3910s] | [ 3910s] 108 | #endif [ 3910s] | ~~~~~~ [ 3910s] 109 | [ 3910s] | [ 3910s] 110 | /* Get two 32 bit ints from a double. */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 111 | [ 3910s] | [ 3910s] 112 | #define EXTRACT_WORDS(ix0, ix1, d) \ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 113 | do { \ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 114 | ieee_double_shape_type ew_u; \ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 115 | ew_u.value = (d); \ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 116 | (ix0) = ew_u.parts.msw; \ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 117 | (ix1) = ew_u.parts.lsw; \ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 118 | } while (0) [ 3910s] | ~~~~~~~~~~~ [ 3910s] 119 | [ 3910s] | [ 3910s] 120 | /* Get a 64-bit int from a double. */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 121 | #define EXTRACT_WORD64(ix, d) \ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 122 | do { \ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 123 | ieee_double_shape_type ew_u; \ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 124 | ew_u.value = (d); \ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 125 | (ix) = ew_u.xparts.w; \ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 126 | } while (0) [ 3910s] | ~~~~~~~~~~~ [ 3910s] 127 | [ 3910s] | [ 3910s] 128 | /* Get the more significant 32 bit int from a double. */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 129 | [ 3910s] | [ 3910s] 130 | #define GET_HIGH_WORD(i, d) \ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 131 | do { \ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 132 | ieee_double_shape_type gh_u; \ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 133 | gh_u.value = (d); \ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 134 | (i) = gh_u.parts.msw; \ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 135 | } while (0) [ 3910s] | ~~~~~~~~~~~ [ 3910s] 136 | [ 3910s] | [ 3910s] 137 | /* Get the less significant 32 bit int from a double. */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 138 | [ 3910s] | [ 3910s] 139 | #define GET_LOW_WORD(i, d) \ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 140 | do { \ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 141 | ieee_double_shape_type gl_u; \ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 142 | gl_u.value = (d); \ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 143 | (i) = gl_u.parts.lsw; \ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 144 | } while (0) [ 3910s] | ~~~~~~~~~~~ [ 3910s] 145 | [ 3910s] | [ 3910s] 146 | /* Set a double from two 32 bit ints. */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 147 | [ 3910s] | [ 3910s] 148 | #define INSERT_WORDS(d, ix0, ix1) \ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 149 | do { \ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 150 | ieee_double_shape_type iw_u; \ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 151 | iw_u.parts.msw = (ix0); \ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 152 | iw_u.parts.lsw = (ix1); \ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 153 | (d) = iw_u.value; \ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 154 | } while (0) [ 3910s] | ~~~~~~~~~~~ [ 3910s] 155 | [ 3910s] | [ 3910s] 156 | /* Set a double from a 64-bit int. */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 157 | #define INSERT_WORD64(d, ix) \ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 158 | do { \ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 159 | ieee_double_shape_type iw_u; \ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 160 | iw_u.xparts.w = (ix); \ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 161 | (d) = iw_u.value; \ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 162 | } while (0) [ 3910s] | ~~~~~~~~~~~ [ 3910s] 163 | [ 3910s] | [ 3910s] 164 | /* Set the more significant 32 bits of a double from an int. */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 165 | [ 3910s] | [ 3910s] 166 | #define SET_HIGH_WORD(d, v) \ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 167 | do { \ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 168 | ieee_double_shape_type sh_u; \ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 169 | sh_u.value = (d); \ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 170 | sh_u.parts.msw = (v); \ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 171 | (d) = sh_u.value; \ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 172 | } while (0) [ 3910s] | ~~~~~~~~~~~ [ 3910s] 173 | [ 3910s] | [ 3910s] 174 | /* Set the less significant 32 bits of a double from an int. */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 175 | [ 3910s] | [ 3910s] 176 | #define SET_LOW_WORD(d, v) \ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 177 | do { \ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 178 | ieee_double_shape_type sl_u; \ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 179 | sl_u.value = (d); \ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 180 | sl_u.parts.lsw = (v); \ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 181 | (d) = sl_u.value; \ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 182 | } while (0) [ 3910s] | ~~~~~~~~~~~ [ 3910s] 183 | [ 3910s] | [ 3910s] 184 | /* Support macro. */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~ [ 3910s] 185 | [ 3910s] | [ 3910s] 186 | #define STRICT_ASSIGN(type, lval, rval) ((lval) = (rval)) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 187 | [ 3910s] | [ 3910s] 188 | int32_t __ieee754_rem_pio2(double x, double *y) WARN_UNUSED_RETURN; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 189 | double __kernel_cos(double x, double y) WARN_UNUSED_RETURN; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 190 | int __kernel_rem_pio2(double *x, double *y, int e0, int nx, int prec, [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 191 | const int32_t *ipio2) WARN_UNUSED_RETURN; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 192 | double __kernel_sin(double x, double y, int iy) WARN_UNUSED_RETURN; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 193 | [ 3910s] | [ 3910s] 194 | /* __ieee754_rem_pio2(x,y) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 195 | * [ 3910s] | ~ [ 3910s] 196 | * return the remainder of x rem pi/2 in y[0]+y[1] [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 197 | * use __kernel_rem_pio2() [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 198 | */ [ 3910s] | ~~ [ 3910s] 199 | int32_t __ieee754_rem_pio2(double x, double *y) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 200 | { [ 3910s] | ~ [ 3910s] 201 | /* [ 3910s] | ~~ [ 3910s] 202 | * Table of constants for 2/pi, 396 Hex digits (476 decimal) of 2/pi [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 203 | */ [ 3910s] | ~~ [ 3910s] 204 | constexpr int32_t two_over_pi[] = { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 205 | 0xA2F983, 0x6E4E44, 0x1529FC, 0x2757D1, 0xF534DD, 0xC0DB62, 0x95993C, [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 206 | 0x439041, 0xFE5163, 0xABDEBB, 0xC561B7, 0x246E3A, 0x424DD2, 0xE00649, [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 207 | 0x2EEA09, 0xD1921C, 0xFE1DEB, 0x1CB129, 0xA73EE8, 0x8235F5, 0x2EBB44, [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 208 | 0x84E99C, 0x7026B4, 0x5F7E41, 0x3991D6, 0x398353, 0x39F49C, 0x845F8B, [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 209 | 0xBDF928, 0x3B1FF8, 0x97FFDE, 0x05980F, 0xEF2F11, 0x8B5A0A, 0x6D1F6D, [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 210 | 0x367ECF, 0x27CB09, 0xB74F46, 0x3F669E, 0x5FEA2D, 0x7527BA, 0xC7EBE5, [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 211 | 0xF17B3D, 0x0739F7, 0x8A5292, 0xEA6BFB, 0x5FB11F, 0x8D5D08, 0x560330, [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 212 | 0x46FC7B, 0x6BABF0, 0xCFBC20, 0x9AF436, 0x1DA9E3, 0x91615E, 0xE61B08, [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 213 | 0x659985, 0x5F14A0, 0x68408D, 0xFFD880, 0x4D7327, 0x310606, 0x1556CA, [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 214 | 0x73A8C9, 0x60E27B, 0xC08C6B, [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 215 | }; [ 3910s] | ~~ [ 3910s] 216 | [ 3910s] | [ 3910s] 217 | constexpr int32_t npio2_hw[] = { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 218 | 0x3FF921FB, 0x400921FB, 0x4012D97C, 0x401921FB, 0x401F6A7A, 0x4022D97C, [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 219 | 0x4025FDBB, 0x402921FB, 0x402C463A, 0x402F6A7A, 0x4031475C, 0x4032D97C, [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 220 | 0x40346B9C, 0x4035FDBB, 0x40378FDB, 0x403921FB, 0x403AB41B, 0x403C463A, [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 221 | 0x403DD85A, 0x403F6A7A, 0x40407E4C, 0x4041475C, 0x4042106C, 0x4042D97C, [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 222 | 0x4043A28C, 0x40446B9C, 0x404534AC, 0x4045FDBB, 0x4046C6CB, 0x40478FDB, [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 223 | 0x404858EB, 0x404921FB, [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 224 | }; [ 3910s] | ~~ [ 3910s] 225 | [ 3910s] | [ 3910s] 226 | /* [ 3910s] | ~~ [ 3910s] 227 | * invpio2: 53 bits of 2/pi [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 228 | * pio2_1: first 33 bit of pi/2 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 229 | * pio2_1t: pi/2 - pio2_1 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 230 | * pio2_2: second 33 bit of pi/2 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 231 | * pio2_2t: pi/2 - (pio2_1+pio2_2) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 232 | * pio2_3: third 33 bit of pi/2 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 233 | * pio2_3t: pi/2 - (pio2_1+pio2_2+pio2_3) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 234 | */ [ 3910s] | ~~ [ 3910s] 235 | [ 3910s] | [ 3910s] 236 | constexpr double [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 237 | zero [ 3910s] | ~~~~ [ 3910s] 238 | = 0.00000000000000000000e+00, /* 0x00000000, 0x00000000 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 239 | half = 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 240 | two24 = 1.67772160000000000000e+07, /* 0x41700000, 0x00000000 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 241 | invpio2 = 6.36619772367581382433e-01, /* 0x3FE45F30, 0x6DC9C883 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 242 | pio2_1 = 1.57079632673412561417e+00, /* 0x3FF921FB, 0x54400000 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 243 | pio2_1t = 6.07710050650619224932e-11, /* 0x3DD0B461, 0x1A626331 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 244 | pio2_2 = 6.07710050630396597660e-11, /* 0x3DD0B461, 0x1A600000 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 245 | pio2_2t = 2.02226624879595063154e-21, /* 0x3BA3198A, 0x2E037073 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 246 | pio2_3 = 2.02226624871116645580e-21, /* 0x3BA3198A, 0x2E000000 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 247 | pio2_3t = 8.47842766036889956997e-32; /* 0x397B839A, 0x252049C1 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 248 | [ 3910s] | [ 3910s] 249 | double z, w, t, r, fn; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 250 | double tx[3]; [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 251 | int32_t e0, i, j, nx, n, ix, hx; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 252 | uint32_t low; [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 253 | [ 3910s] | [ 3910s] 254 | z = 0; [ 3910s] | ~~~~~~ [ 3910s] 255 | GET_HIGH_WORD(hx, x); /* high word of x */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 256 | ix = hx & 0x7FFFFFFF; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 257 | if (ix <= 0x3FE921FB) { /* |x| ~<= pi/4 , no need for reduction */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 258 | y[0] = x; [ 3910s] | ~~~~~~~~~ [ 3910s] 259 | y[1] = 0; [ 3910s] | ~~~~~~~~~ [ 3910s] 260 | return 0; [ 3910s] | ~~~~~~~~~ [ 3910s] 261 | } [ 3910s] | ~ [ 3910s] 262 | if (ix < 0x4002D97C) { /* |x| < 3pi/4, special case with n=+-1 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 263 | if (hx > 0) { [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 264 | z = x - pio2_1; [ 3910s] | ~~~~~~~~~~~~~~~ [ 3910s] 265 | if (ix != 0x3FF921FB) { /* 33+53 bit pi is good enough */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 266 | y[0] = z - pio2_1t; [ 3910s] | ~~~~~~~~~~~~~~~~~~~ [ 3910s] 267 | y[1] = (z - y[0]) - pio2_1t; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 268 | } else { /* near pi/2, use 33+33+53 bit pi */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 269 | z -= pio2_2; [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 270 | y[0] = z - pio2_2t; [ 3910s] | ~~~~~~~~~~~~~~~~~~~ [ 3910s] 271 | y[1] = (z - y[0]) - pio2_2t; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 272 | } [ 3910s] | ~ [ 3910s] 273 | return 1; [ 3910s] | ~~~~~~~~~ [ 3910s] 274 | } else { /* negative x */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 275 | z = x + pio2_1; [ 3910s] | ~~~~~~~~~~~~~~~ [ 3910s] 276 | if (ix != 0x3FF921FB) { /* 33+53 bit pi is good enough */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 277 | y[0] = z + pio2_1t; [ 3910s] | ~~~~~~~~~~~~~~~~~~~ [ 3910s] 278 | y[1] = (z - y[0]) + pio2_1t; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 279 | } else { /* near pi/2, use 33+33+53 bit pi */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 280 | z += pio2_2; [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 281 | y[0] = z + pio2_2t; [ 3910s] | ~~~~~~~~~~~~~~~~~~~ [ 3910s] 282 | y[1] = (z - y[0]) + pio2_2t; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 283 | } [ 3910s] | ~ [ 3910s] 284 | return -1; [ 3910s] | ~~~~~~~~~~ [ 3910s] 285 | } [ 3910s] | ~ [ 3910s] 286 | } [ 3910s] | ~ [ 3910s] 287 | if (ix <= 0x413921FB) { /* |x| ~<= 2^19*(pi/2), medium size */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 288 | t = fabs(x); [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 289 | n = static_cast(t * invpio2 + half); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 290 | fn = static_cast(n); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 291 | r = t - fn * pio2_1; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~ [ 3910s] 292 | w = fn * pio2_1t; /* 1st round good to 85 bit */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 293 | if (n < 32 && ix != npio2_hw[n - 1]) { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 294 | y[0] = r - w; /* quick check no cancellation */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 295 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 296 | uint32_t high; [ 3910s] | ~~~~~~~~~~~~~~ [ 3910s] 297 | j = ix >> 20; [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 298 | y[0] = r - w; [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 299 | GET_HIGH_WORD(high, y[0]); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 300 | i = j - ((high >> 20) & 0x7FF); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 301 | if (i > 16) { /* 2nd iteration needed, good to 118 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 302 | t = r; [ 3910s] | ~~~~~~ [ 3910s] 303 | w = fn * pio2_2; [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 304 | r = t - w; [ 3910s] | ~~~~~~~~~~ [ 3910s] 305 | w = fn * pio2_2t - ((t - r) - w); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 306 | y[0] = r - w; [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 307 | GET_HIGH_WORD(high, y[0]); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 308 | i = j - ((high >> 20) & 0x7FF); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 309 | if (i > 49) { /* 3rd iteration need, 151 bits acc */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 310 | t = r; /* will cover all possible cases */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 311 | w = fn * pio2_3; [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 312 | r = t - w; [ 3910s] | ~~~~~~~~~~ [ 3910s] 313 | w = fn * pio2_3t - ((t - r) - w); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 314 | y[0] = r - w; [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 315 | } [ 3910s] | ~ [ 3910s] 316 | } [ 3910s] | ~ [ 3910s] 317 | } [ 3910s] | ~ [ 3910s] 318 | y[1] = (r - y[0]) - w; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 319 | if (hx < 0) { [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 320 | y[0] = -y[0]; [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 321 | y[1] = -y[1]; [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 322 | return -n; [ 3910s] | ~~~~~~~~~~ [ 3910s] 323 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 324 | return n; [ 3910s] | ~~~~~~~~~ [ 3910s] 325 | } [ 3910s] | ~ [ 3910s] 326 | } [ 3910s] | ~ [ 3910s] 327 | /* [ 3910s] | ~~ [ 3910s] 328 | * all other (large) arguments [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 329 | */ [ 3910s] | ~~ [ 3910s] 330 | if (ix >= 0x7FF00000) { /* x is inf or NaN */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 331 | y[0] = y[1] = x - x; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~ [ 3910s] 332 | return 0; [ 3910s] | ~~~~~~~~~ [ 3910s] 333 | } [ 3910s] | ~ [ 3910s] 334 | /* set z = scalbn(|x|,ilogb(x)-23) */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 335 | GET_LOW_WORD(low, x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 336 | SET_LOW_WORD(z, low); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 337 | e0 = (ix >> 20) - 1046; /* e0 = ilogb(z)-23; */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 338 | SET_HIGH_WORD(z, ix - static_cast(e0 << 20)); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 339 | for (i = 0; i < 2; i++) { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 340 | tx[i] = static_cast(static_cast(z)); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 341 | z = (z - tx[i]) * two24; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 342 | } [ 3910s] | ~ [ 3910s] 343 | tx[2] = z; [ 3910s] | ~~~~~~~~~~ [ 3910s] 344 | nx = 3; [ 3910s] | ~~~~~~~ [ 3910s] 345 | while (tx[nx - 1] == zero) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 346 | nx--; /* skip zero term */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 347 | n = __kernel_rem_pio2(tx, y, e0, nx, 2, two_over_pi); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 348 | if (hx < 0) { [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 349 | y[0] = -y[0]; [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 350 | y[1] = -y[1]; [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 351 | return -n; [ 3910s] | ~~~~~~~~~~ [ 3910s] 352 | } [ 3910s] | ~ [ 3910s] 353 | return n; [ 3910s] | ~~~~~~~~~ [ 3910s] 354 | } [ 3910s] | ~ [ 3910s] 355 | [ 3910s] | [ 3910s] 356 | /* __kernel_cos( x, y ) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 357 | * kernel cos function on [-pi/4, pi/4], pi/4 ~ 0.785398164 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 358 | * Input x is assumed to be bounded by ~pi/4 in magnitude. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 359 | * Input y is the tail of x. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 360 | * [ 3910s] | ~ [ 3910s] 361 | * Algorithm [ 3910s] | ~~~~~~~~~~~ [ 3910s] 362 | * 1. Since cos(-x) = cos(x), we need only to consider positive x. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 363 | * 2. if x < 2^-27 (hx<0x3E400000 0), return 1 with inexact if x!=0. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 364 | * 3. cos(x) is approximated by a polynomial of degree 14 on [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 365 | * [0,pi/4] [ 3910s] | ~~~~~~~~~~~~~~~~~~ [ 3910s] 366 | * 4 14 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 367 | * cos(x) ~ 1 - x*x/2 + C1*x + ... + C6*x [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 368 | * where the remez error is [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 369 | * [ 3910s] | ~ [ 3910s] 370 | * | 2 4 6 8 10 12 14 | -58 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 371 | * |cos(x)-(1-.5*x +C1*x +C2*x +C3*x +C4*x +C5*x +C6*x )| <= 2 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 372 | * | | [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 373 | * [ 3910s] | ~ [ 3910s] 374 | * 4 6 8 10 12 14 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 375 | * 4. let r = C1*x +C2*x +C3*x +C4*x +C5*x +C6*x , then [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 376 | * cos(x) = 1 - x*x/2 + r [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 377 | * since cos(x+y) ~ cos(x) - sin(x)*y [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 378 | * ~ cos(x) - x*y, [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 379 | * a correction term is necessary in cos(x) and hence [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 380 | * cos(x+y) = 1 - (x*x/2 - (r - x*y)) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 381 | * For better accuracy when x > 0.3, let qx = |x|/4 with [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 382 | * the last 32 bits mask off, and if x > 0.78125, let qx = 0.28125. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 383 | * Then [ 3910s] | ~~~~~~~~~~~~~~ [ 3910s] 384 | * cos(x+y) = (1-qx) - ((x*x/2-qx) - (r-x*y)). [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 385 | * Note that 1-qx and (x*x/2-qx) is EXACT here, and the [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 386 | * magnitude of the latter is at least a quarter of x*x/2, [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 387 | * thus, reducing the rounding error in the subtraction. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 388 | */ [ 3910s] | ~~ [ 3910s] 389 | ALWAYS_INLINE double __kernel_cos(double x, double y) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 390 | { [ 3910s] | ~ [ 3910s] 391 | constexpr double [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 392 | one [ 3910s] | ~~~ [ 3910s] 393 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 394 | C1 = 4.16666666666666019037e-02, /* 0x3FA55555, 0x5555554C */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 395 | C2 = -1.38888888888741095749e-03, /* 0xBF56C16C, 0x16C15177 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 396 | C3 = 2.48015872894767294178e-05, /* 0x3EFA01A0, 0x19CB1590 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 397 | C4 = -2.75573143513906633035e-07, /* 0xBE927E4F, 0x809C52AD */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 398 | C5 = 2.08757232129817482790e-09, /* 0x3E21EE9E, 0xBDB4B1C4 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 399 | C6 = -1.13596475577881948265e-11; /* 0xBDA8FAE9, 0xBE8838D4 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 400 | [ 3910s] | [ 3910s] 401 | double a, iz, z, r, qx; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 402 | int32_t ix; [ 3910s] | ~~~~~~~~~~~ [ 3910s] 403 | GET_HIGH_WORD(ix, x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 404 | ix &= 0x7FFFFFFF; /* ix = |x|'s high word*/ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 405 | if (ix < 0x3E400000 && static_cast(x) == 0) { /* if x < 2**27 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 406 | return one; /* generate inexact */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 407 | } [ 3910s] | ~ [ 3910s] 408 | z = x * x; [ 3910s] | ~~~~~~~~~~ [ 3910s] 409 | r = z * (C1 + z * (C2 + z * (C3 + z * (C4 + z * (C5 + z * C6))))); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 410 | if (ix < 0x3FD33333) { /* if |x| < 0.3 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 411 | return one - (0.5 * z - (z * r - x * y)); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 412 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 413 | if (ix > 0x3FE90000) { /* x > 0.78125 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 414 | qx = 0.28125; [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 415 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 416 | INSERT_WORDS(qx, ix - 0x00200000, 0); /* x/4 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 417 | } [ 3910s] | ~ [ 3910s] 418 | iz = 0.5 * z - qx; [ 3910s] | ~~~~~~~~~~~~~~~~~~ [ 3910s] 419 | a = one - qx; [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 420 | return a - (iz - (z * r - x * y)); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 421 | } [ 3910s] | ~ [ 3910s] 422 | } [ 3910s] | ~ [ 3910s] 423 | [ 3910s] | [ 3910s] 424 | /* __kernel_rem_pio2(x,y,e0,nx,prec,ipio2) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 425 | * double x[],y[]; int e0,nx,prec; int ipio2[]; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 426 | * [ 3910s] | ~ [ 3910s] 427 | * __kernel_rem_pio2 return the last three digits of N with [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 428 | * y = x - N*pi/2 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 429 | * so that |y| < pi/2. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 430 | * [ 3910s] | ~ [ 3910s] 431 | * The method is to compute the integer (mod 8) and fraction parts of [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 432 | * (2/pi)*x without doing the full multiplication. In general we [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 433 | * skip the part of the product that are known to be a huge integer ( [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 434 | * more accurately, = 0 mod 8 ). Thus the number of operations are [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 435 | * independent of the exponent of the input. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 436 | * [ 3910s] | ~ [ 3910s] 437 | * (2/pi) is represented by an array of 24-bit integers in ipio2[]. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 438 | * [ 3910s] | ~ [ 3910s] 439 | * Input parameters: [ 3910s] | ~~~~~~~~~~~~~~~~~~~ [ 3910s] 440 | * x[] The input value (must be positive) is broken into nx [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 441 | * pieces of 24-bit integers in double precision format. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 442 | * x[i] will be the i-th 24 bit of x. The scaled exponent [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 443 | * of x[0] is given in input parameter e0 (i.e., x[0]*2^e0 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 444 | * match x's up to 24 bits. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 445 | * [ 3910s] | ~ [ 3910s] 446 | * Example of breaking a double positive z into x[0]+x[1]+x[2]: [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 447 | * e0 = ilogb(z)-23 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 448 | * z = scalbn(z,-e0) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 449 | * for i = 0,1,2 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 450 | * x[i] = floor(z) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 451 | * z = (z-x[i])*2**24 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 452 | * [ 3910s] | ~ [ 3910s] 453 | * [ 3910s] | ~ [ 3910s] 454 | * y[] output result in an array of double precision numbers. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 455 | * The dimension of y[] is: [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 456 | * 24-bit precision 1 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 457 | * 53-bit precision 2 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 458 | * 64-bit precision 2 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 459 | * 113-bit precision 3 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 460 | * The actual value is the sum of them. Thus for 113-bit [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 461 | * precison, one may have to do something like: [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 462 | * [ 3910s] | ~ [ 3910s] 463 | * long double t,w,r_head, r_tail; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 464 | * t = (long double)y[2] + (long double)y[1]; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 465 | * w = (long double)y[0]; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 466 | * r_head = t+w; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 467 | * r_tail = w - (r_head - t); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 468 | * [ 3910s] | ~ [ 3910s] 469 | * e0 The exponent of x[0] [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 470 | * [ 3910s] | ~ [ 3910s] 471 | * nx dimension of x[] [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 472 | * [ 3910s] | ~ [ 3910s] 473 | * prec an integer indicating the precision: [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 474 | * 0 24 bits (single) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 475 | * 1 53 bits (double) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 476 | * 2 64 bits (extended) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 477 | * 3 113 bits (quad) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 478 | * [ 3910s] | ~ [ 3910s] 479 | * ipio2[] [ 3910s] | ~~~~~~~~~~~~~~ [ 3910s] 480 | * integer array, contains the (24*i)-th to (24*i+23)-th [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 481 | * bit of 2/pi after binary point. The corresponding [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 482 | * floating value is [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 483 | * [ 3910s] | ~ [ 3910s] 484 | * ipio2[i] * 2^(-24(i+1)). [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 485 | * [ 3910s] | ~ [ 3910s] 486 | * External function: [ 3910s] | ~~~~~~~~~~~~~~~~~~~~ [ 3910s] 487 | * double scalbn(), floor(); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 488 | * [ 3910s] | ~ [ 3910s] 489 | * [ 3910s] | ~ [ 3910s] 490 | * Here is the description of some local variables: [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 491 | * [ 3910s] | ~ [ 3910s] 492 | * jk jk+1 is the initial number of terms of ipio2[] needed [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 493 | * in the computation. The recommended value is 2,3,4, [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 494 | * 6 for single, double, extended,and quad. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 495 | * [ 3910s] | ~ [ 3910s] 496 | * jz local integer variable indicating the number of [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 497 | * terms of ipio2[] used. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 498 | * [ 3910s] | ~ [ 3910s] 499 | * jx nx - 1 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 500 | * [ 3910s] | ~ [ 3910s] 501 | * jv index for pointing to the suitable ipio2[] for the [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 502 | * computation. In general, we want [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 503 | * ( 2^e0*x[0] * ipio2[jv-1]*2^(-24jv) )/8 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 504 | * is an integer. Thus [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 505 | * e0-3-24*jv >= 0 or (e0-3)/24 >= jv [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 506 | * Hence jv = max(0,(e0-3)/24). [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 507 | * [ 3910s] | ~ [ 3910s] 508 | * jp jp+1 is the number of terms in PIo2[] needed, jp = jk. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 509 | * [ 3910s] | ~ [ 3910s] 510 | * q[] double array with integral value, representing the [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 511 | * 24-bits chunk of the product of x and 2/pi. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 512 | * [ 3910s] | ~ [ 3910s] 513 | * q0 the corresponding exponent of q[0]. Note that the [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 514 | * exponent for q[i] would be q0-24*i. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 515 | * [ 3910s] | ~ [ 3910s] 516 | * PIo2[] double precision array, obtained by cutting pi/2 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 517 | * into 24 bits chunks. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 518 | * [ 3910s] | ~ [ 3910s] 519 | * f[] ipio2[] in floating point [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 520 | * [ 3910s] | ~ [ 3910s] 521 | * iq[] integer array by breaking up q[] in 24-bits chunk. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 522 | * [ 3910s] | ~ [ 3910s] 523 | * fq[] final product of x*(2/pi) in fq[0],..,fq[jk] [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 524 | * [ 3910s] | ~ [ 3910s] 525 | * ih integer. If >0 it indicates q[] is >= 0.5, hence [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 526 | * it also indicates the *sign* of the result. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 527 | * [ 3910s] | ~ [ 3910s] 528 | */ [ 3910s] | ~~ [ 3910s] 529 | int __kernel_rem_pio2(double *x, double *y, int e0, int nx, int prec, [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 530 | const int32_t *ipio2) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 531 | { [ 3910s] | ~ [ 3910s] 532 | /* Constants: [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 533 | * The hexadecimal values are the intended ones for the following [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 534 | * constants. The decimal values may be used, provided that the [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 535 | * compiler will convert from decimal to binary accurately enough [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 536 | * to produce the hexadecimal values shown. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 537 | */ [ 3910s] | ~~ [ 3910s] 538 | constexpr int init_jk[] = { 2, 3, 4, 6 }; /* initial value for jk */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 539 | [ 3910s] | [ 3910s] 540 | constexpr double PIo2[] = { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 541 | 1.57079625129699707031e+00, /* 0x3FF921FB, 0x40000000 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 542 | 7.54978941586159635335e-08, /* 0x3E74442D, 0x00000000 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 543 | 5.39030252995776476554e-15, /* 0x3CF84698, 0x80000000 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 544 | 3.28200341580791294123e-22, /* 0x3B78CC51, 0x60000000 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 545 | 1.27065575308067607349e-29, /* 0x39F01B83, 0x80000000 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 546 | 1.22933308981111328932e-36, /* 0x387A2520, 0x40000000 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 547 | 2.73370053816464559624e-44, /* 0x36E38222, 0x80000000 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 548 | 2.16741683877804819444e-51, /* 0x3569F31D, 0x00000000 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 549 | }; [ 3910s] | ~~ [ 3910s] 550 | [ 3910s] | [ 3910s] 551 | constexpr double [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 552 | zero [ 3910s] | ~~~~ [ 3910s] 553 | = 0.0, [ 3910s] | ~~~~~~ [ 3910s] 554 | one = 1.0, [ 3910s] | ~~~~~~~~~~ [ 3910s] 555 | two24 = 1.67772160000000000000e+07, /* 0x41700000, 0x00000000 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 556 | twon24 = 5.96046447753906250000e-08; /* 0x3E700000, 0x00000000 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 557 | [ 3910s] | [ 3910s] 558 | int32_t jz, jx, jv, jp, jk, carry, n, iq[20], i, j, k, m, q0, ih; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 559 | double z, fw, f[20], fq[20], q[20]; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 560 | [ 3910s] | [ 3910s] 561 | /* initialize jk*/ [ 3910s] | ~~~~~~~~~~~~~~~~~~ [ 3910s] 562 | jk = init_jk[prec]; [ 3910s] | ~~~~~~~~~~~~~~~~~~~ [ 3910s] 563 | jp = jk; [ 3910s] | ~~~~~~~~ [ 3910s] 564 | [ 3910s] | [ 3910s] 565 | /* determine jx,jv,q0, note that 3>q0 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 566 | jx = nx - 1; [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 567 | jv = (e0 - 3) / 24; [ 3910s] | ~~~~~~~~~~~~~~~~~~~ [ 3910s] 568 | if (jv < 0) [ 3910s] | ~~~~~~~~~~~ [ 3910s] 569 | jv = 0; [ 3910s] | ~~~~~~~ [ 3910s] 570 | q0 = e0 - 24 * (jv + 1); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 571 | [ 3910s] | [ 3910s] 572 | /* set up f[0] to f[jx+jk] where f[jx+jk] = ipio2[jv+jk] */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 573 | j = jv - jx; [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 574 | m = jx + jk; [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 575 | for (i = 0; i <= m; i++, j++) { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 576 | f[i] = (j < 0) ? zero : static_cast(ipio2[j]); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 577 | } [ 3910s] | ~ [ 3910s] 578 | [ 3910s] | [ 3910s] 579 | /* compute q[0],q[1],...q[jk] */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 580 | for (i = 0; i <= jk; i++) { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 581 | for (j = 0, fw = 0.0; j <= jx; j++) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 582 | fw += x[j] * f[jx + i - j]; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 583 | q[i] = fw; [ 3910s] | ~~~~~~~~~~ [ 3910s] 584 | } [ 3910s] | ~ [ 3910s] 585 | [ 3910s] | [ 3910s] 586 | jz = jk; [ 3910s] | ~~~~~~~~ [ 3910s] 587 | recompute: [ 3910s] | ~~~~~~~~~~ [ 3910s] 588 | /* distill q[] into iq[] reversingly */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 589 | for (i = 0, j = jz, z = q[jz]; j > 0; i++, j--) { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 590 | fw = static_cast(static_cast(twon24 * z)); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 591 | iq[i] = static_cast(z - two24 * fw); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 592 | z = q[j - 1] + fw; [ 3910s] | ~~~~~~~~~~~~~~~~~~ [ 3910s] 593 | } [ 3910s] | ~ [ 3910s] 594 | [ 3910s] | [ 3910s] 595 | /* compute n */ [ 3910s] | ~~~~~~~~~~~~~~~ [ 3910s] 596 | z = scalbn(z, q0); /* actual value of z */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 597 | z -= 8.0 * floor(z * 0.125); /* trim off integer >= 8 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 598 | n = static_cast(z); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 599 | z -= static_cast(n); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 600 | ih = 0; [ 3910s] | ~~~~~~~ [ 3910s] 601 | if (q0 > 0) { /* need iq[jz-1] to determine n */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 602 | i = (iq[jz - 1] >> (24 - q0)); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 603 | n += i; [ 3910s] | ~~~~~~~ [ 3910s] 604 | iq[jz - 1] -= i << (24 - q0); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 605 | ih = iq[jz - 1] >> (23 - q0); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 606 | } else if (q0 == 0) { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 607 | ih = iq[jz - 1] >> 23; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 608 | } else if (z >= 0.5) { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 609 | ih = 2; [ 3910s] | ~~~~~~~ [ 3910s] 610 | } [ 3910s] | ~ [ 3910s] 611 | [ 3910s] | [ 3910s] 612 | if (ih > 0) { /* q > 0.5 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 613 | n += 1; [ 3910s] | ~~~~~~~ [ 3910s] 614 | carry = 0; [ 3910s] | ~~~~~~~~~~ [ 3910s] 615 | for (i = 0; i < jz; i++) { /* compute 1-q */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 616 | j = iq[i]; [ 3910s] | ~~~~~~~~~~ [ 3910s] 617 | if (carry == 0) { [ 3910s] | ~~~~~~~~~~~~~~~~~ [ 3910s] 618 | if (j != 0) { [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 619 | carry = 1; [ 3910s] | ~~~~~~~~~~ [ 3910s] 620 | iq[i] = 0x1000000 - j; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 621 | } [ 3910s] | ~ [ 3910s] 622 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 623 | iq[i] = 0xFFFFFF - j; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 624 | } [ 3910s] | ~ [ 3910s] 625 | } [ 3910s] | ~ [ 3910s] 626 | if (q0 > 0) { /* rare case: chance is 1 in 12 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 627 | switch (q0) { [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 628 | case 1: [ 3910s] | ~~~~~~~ [ 3910s] 629 | iq[jz - 1] &= 0x7FFFFF; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 630 | break; [ 3910s] | ~~~~~~ [ 3910s] 631 | case 2: [ 3910s] | ~~~~~~~ [ 3910s] 632 | iq[jz - 1] &= 0x3FFFFF; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 633 | break; [ 3910s] | ~~~~~~ [ 3910s] 634 | } [ 3910s] | ~ [ 3910s] 635 | } [ 3910s] | ~ [ 3910s] 636 | if (ih == 2) { [ 3910s] | ~~~~~~~~~~~~~~ [ 3910s] 637 | z = one - z; [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 638 | if (carry != 0) [ 3910s] | ~~~~~~~~~~~~~~~ [ 3910s] 639 | z -= scalbn(one, q0); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 640 | } [ 3910s] | ~ [ 3910s] 641 | } [ 3910s] | ~ [ 3910s] 642 | [ 3910s] | [ 3910s] 643 | /* check if recomputation is needed */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 644 | if (z == zero) { [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 645 | j = 0; [ 3910s] | ~~~~~~ [ 3910s] 646 | for (i = jz - 1; i >= jk; i--) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 647 | j |= iq[i]; [ 3910s] | ~~~~~~~~~~~ [ 3910s] 648 | if (j == 0) { /* need recomputation */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 649 | for (k = 1; jk >= k && iq[jk - k] == 0; k++) { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 650 | /* k = no. of terms needed */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 651 | } [ 3910s] | ~ [ 3910s] 652 | [ 3910s] | [ 3910s] 653 | for (i = jz + 1; i <= jz + k; i++) { /* add q[jz+1] to q[jz+k] */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 654 | f[jx + i] = ipio2[jv + i]; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 655 | for (j = 0, fw = 0.0; j <= jx; j++) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 656 | fw += x[j] * f[jx + i - j]; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 657 | q[i] = fw; [ 3910s] | ~~~~~~~~~~ [ 3910s] 658 | } [ 3910s] | ~ [ 3910s] 659 | jz += k; [ 3910s] | ~~~~~~~~ [ 3910s] 660 | goto recompute; [ 3910s] | ~~~~~~~~~~~~~~~ [ 3910s] 661 | } [ 3910s] | ~ [ 3910s] 662 | } [ 3910s] | ~ [ 3910s] 663 | [ 3910s] | [ 3910s] 664 | /* chop off zero terms */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 665 | if (z == 0.0) { [ 3910s] | ~~~~~~~~~~~~~~~ [ 3910s] 666 | jz -= 1; [ 3910s] | ~~~~~~~~ [ 3910s] 667 | q0 -= 24; [ 3910s] | ~~~~~~~~~ [ 3910s] 668 | while (iq[jz] == 0) { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 669 | jz--; [ 3910s] | ~~~~~ [ 3910s] 670 | q0 -= 24; [ 3910s] | ~~~~~~~~~ [ 3910s] 671 | } [ 3910s] | ~ [ 3910s] 672 | } else { /* break z into 24-bit if necessary */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 673 | z = scalbn(z, -q0); [ 3910s] | ~~~~~~~~~~~~~~~~~~~ [ 3910s] 674 | if (z >= two24) { [ 3910s] | ~~~~~~~~~~~~~~~~~ [ 3910s] 675 | fw = static_cast(static_cast(twon24 * z)); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 676 | iq[jz] = z - two24 * fw; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 677 | jz += 1; [ 3910s] | ~~~~~~~~ [ 3910s] 678 | q0 += 24; [ 3910s] | ~~~~~~~~~ [ 3910s] 679 | iq[jz] = fw; [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 680 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 681 | iq[jz] = z; [ 3910s] | ~~~~~~~~~~~ [ 3910s] 682 | } [ 3910s] | ~ [ 3910s] 683 | } [ 3910s] | ~ [ 3910s] 684 | [ 3910s] | [ 3910s] 685 | /* convert integer "bit" chunk to floating-point value */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 686 | fw = scalbn(one, q0); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 687 | for (i = jz; i >= 0; i--) { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 688 | q[i] = fw * iq[i]; [ 3910s] | ~~~~~~~~~~~~~~~~~~ [ 3910s] 689 | fw *= twon24; [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 690 | } [ 3910s] | ~ [ 3910s] 691 | [ 3910s] | [ 3910s] 692 | /* compute PIo2[0,...,jp]*q[jz,...,0] */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 693 | for (i = jz; i >= 0; i--) { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 694 | for (fw = 0.0, k = 0; k <= jp && k <= jz - i; k++) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 695 | fw += PIo2[k] * q[i + k]; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 696 | fq[jz - i] = fw; [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 697 | } [ 3910s] | ~ [ 3910s] 698 | [ 3910s] | [ 3910s] 699 | /* compress fq[] into y[] */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 700 | switch (prec) { [ 3910s] | ~~~~~~~~~~~~~~~ [ 3910s] 701 | case 0: [ 3910s] | ~~~~~~~ [ 3910s] 702 | fw = 0.0; [ 3910s] | ~~~~~~~~~ [ 3910s] 703 | for (i = jz; i >= 0; i--) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 704 | fw += fq[i]; [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 705 | y[0] = (ih == 0) ? fw : -fw; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 706 | break; [ 3910s] | ~~~~~~ [ 3910s] 707 | case 1: [ 3910s] | ~~~~~~~ [ 3910s] 708 | case 2: [ 3910s] | ~~~~~~~ [ 3910s] 709 | fw = 0.0; [ 3910s] | ~~~~~~~~~ [ 3910s] 710 | for (i = jz; i >= 0; i--) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 711 | fw += fq[i]; [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 712 | y[0] = (ih == 0) ? fw : -fw; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 713 | fw = fq[0] - fw; [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 714 | for (i = 1; i <= jz; i++) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 715 | fw += fq[i]; [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 716 | y[1] = (ih == 0) ? fw : -fw; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 717 | break; [ 3910s] | ~~~~~~ [ 3910s] 718 | case 3: /* painful */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 719 | for (i = jz; i > 0; i--) { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 720 | fw = fq[i - 1] + fq[i]; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 721 | fq[i] += fq[i - 1] - fw; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 722 | fq[i - 1] = fw; [ 3910s] | ~~~~~~~~~~~~~~~ [ 3910s] 723 | } [ 3910s] | ~ [ 3910s] 724 | for (i = jz; i > 1; i--) { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 725 | fw = fq[i - 1] + fq[i]; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 726 | fq[i] += fq[i - 1] - fw; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 727 | fq[i - 1] = fw; [ 3910s] | ~~~~~~~~~~~~~~~ [ 3910s] 728 | } [ 3910s] | ~ [ 3910s] 729 | for (fw = 0.0, i = jz; i >= 2; i--) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 730 | fw += fq[i]; [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 731 | if (ih == 0) { [ 3910s] | ~~~~~~~~~~~~~~ [ 3910s] 732 | y[0] = fq[0]; [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 733 | y[1] = fq[1]; [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 734 | y[2] = fw; [ 3910s] | ~~~~~~~~~~ [ 3910s] 735 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 736 | y[0] = -fq[0]; [ 3910s] | ~~~~~~~~~~~~~~ [ 3910s] 737 | y[1] = -fq[1]; [ 3910s] | ~~~~~~~~~~~~~~ [ 3910s] 738 | y[2] = -fw; [ 3910s] | ~~~~~~~~~~~ [ 3910s] 739 | } [ 3910s] | ~ [ 3910s] 740 | } [ 3910s] | ~ [ 3910s] 741 | return n & 7; [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 742 | } [ 3910s] | ~ [ 3910s] 743 | [ 3910s] | [ 3910s] 744 | /* __kernel_sin( x, y, iy) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 745 | * kernel sin function on [-pi/4, pi/4], pi/4 ~ 0.7854 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 746 | * Input x is assumed to be bounded by ~pi/4 in magnitude. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 747 | * Input y is the tail of x. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 748 | * Input iy indicates whether y is 0. (if iy=0, y assume to be 0). [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 749 | * [ 3910s] | ~ [ 3910s] 750 | * Algorithm [ 3910s] | ~~~~~~~~~~~ [ 3910s] 751 | * 1. Since sin(-x) = -sin(x), we need only to consider positive x. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 752 | * 2. if x < 2^-27 (hx<0x3E400000 0), return x with inexact if x!=0. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 753 | * 3. sin(x) is approximated by a polynomial of degree 13 on [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 754 | * [0,pi/4] [ 3910s] | ~~~~~~~~~~~~~~~~~~ [ 3910s] 755 | * 3 13 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 756 | * sin(x) ~ x + S1*x + ... + S6*x [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 757 | * where [ 3910s] | ~~~~~~~~~~~~~~~ [ 3910s] 758 | * [ 3910s] | ~ [ 3910s] 759 | * |sin(x) 2 4 6 8 10 12 | -58 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 760 | * |----- - (1+S1*x +S2*x +S3*x +S4*x +S5*x +S6*x )| <= 2 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 761 | * | x | [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 762 | * [ 3910s] | ~ [ 3910s] 763 | * 4. sin(x+y) = sin(x) + sin'(x')*y [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 764 | * ~ sin(x) + (1-x*x/2)*y [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 765 | * For better accuracy, let [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 766 | * 3 2 2 2 2 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 767 | * r = x *(S2+x *(S3+x *(S4+x *(S5+x *S6)))) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 768 | * then 3 2 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 769 | * sin(x) = x + (S1*x + (x *(r-y/2)+y)) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 770 | */ [ 3910s] | ~~ [ 3910s] 771 | ALWAYS_INLINE double __kernel_sin(double x, double y, int iy) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 772 | { [ 3910s] | ~ [ 3910s] 773 | constexpr double [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 774 | half [ 3910s] | ~~~~ [ 3910s] 775 | = 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 776 | S1 = -1.66666666666666324348e-01, /* 0xBFC55555, 0x55555549 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 777 | S2 = 8.33333333332248946124e-03, /* 0x3F811111, 0x1110F8A6 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 778 | S3 = -1.98412698298579493134e-04, /* 0xBF2A01A0, 0x19C161D5 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 779 | S4 = 2.75573137070700676789e-06, /* 0x3EC71DE3, 0x57B1FE7D */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 780 | S5 = -2.50507602534068634195e-08, /* 0xBE5AE5E6, 0x8A2B9CEB */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 781 | S6 = 1.58969099521155010221e-10; /* 0x3DE5D93A, 0x5ACFD57C */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 782 | [ 3910s] | [ 3910s] 783 | double z, r, v; [ 3910s] | ~~~~~~~~~~~~~~~ [ 3910s] 784 | int32_t ix; [ 3910s] | ~~~~~~~~~~~ [ 3910s] 785 | GET_HIGH_WORD(ix, x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 786 | ix &= 0x7FFFFFFF; /* high word of x */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 787 | if (ix < 0x3E400000 && static_cast(x) == 0) { /* |x| < 2**-27 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 788 | return x; [ 3910s] | ~~~~~~~~~ [ 3910s] 789 | } /* generate inexact */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 790 | z = x * x; [ 3910s] | ~~~~~~~~~~ [ 3910s] 791 | v = z * x; [ 3910s] | ~~~~~~~~~~ [ 3910s] 792 | r = S2 + z * (S3 + z * (S4 + z * (S5 + z * S6))); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 793 | if (iy == 0) { [ 3910s] | ~~~~~~~~~~~~~~ [ 3910s] 794 | return x + v * (S1 + z * r); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 795 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 796 | return x - ((z * (half * y - v * r) - y) - v * S1); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 797 | } [ 3910s] | ~ [ 3910s] 798 | } [ 3910s] | ~ [ 3910s] 799 | [ 3910s] | [ 3910s] 800 | /* __kernel_tan( x, y, k ) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 801 | * kernel tan function on [-pi/4, pi/4], pi/4 ~ 0.7854 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 802 | * Input x is assumed to be bounded by ~pi/4 in magnitude. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 803 | * Input y is the tail of x. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 804 | * Input k indicates whether tan (if k=1) or [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 805 | * -1/tan (if k= -1) is returned. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 806 | * [ 3910s] | ~ [ 3910s] 807 | * Algorithm [ 3910s] | ~~~~~~~~~~~ [ 3910s] 808 | * 1. Since tan(-x) = -tan(x), we need only to consider positive x. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 809 | * 2. if x < 2^-28 (hx<0x3E300000 0), return x with inexact if x!=0. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 810 | * 3. tan(x) is approximated by a odd polynomial of degree 27 on [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 811 | * [0,0.67434] [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 812 | * 3 27 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 813 | * tan(x) ~ x + T1*x + ... + T13*x [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 814 | * where [ 3910s] | ~~~~~~~~~~~~~~~ [ 3910s] 815 | * [ 3910s] | ~ [ 3910s] 816 | * |tan(x) 2 4 26 | -59.2 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 817 | * |----- - (1+T1*x +T2*x +.... +T13*x )| <= 2 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 818 | * | x | [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 819 | * [ 3910s] | ~ [ 3910s] 820 | * Note: tan(x+y) = tan(x) + tan'(x)*y [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 821 | * ~ tan(x) + (1+x*x)*y [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 822 | * Therefore, for better accuracy in computing tan(x+y), let [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 823 | * 3 2 2 2 2 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 824 | * r = x *(T2+x *(T3+x *(...+x *(T12+x *T13)))) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 825 | * then [ 3910s] | ~~~~~~~~~~~~~~ [ 3910s] 826 | * 3 2 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 827 | * tan(x+y) = x + (T1*x + (x *(r+y)+y)) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 828 | * [ 3910s] | ~ [ 3910s] 829 | * 4. For x in [0.67434,pi/4], let y = pi/4 - x, then [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 830 | * tan(x) = tan(pi/4-y) = (1-tan(y))/(1+tan(y)) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 831 | * = 1 - 2*(tan(y) - (tan(y)^2)/(1+tan(y))) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 832 | */ [ 3910s] | ~~ [ 3910s] 833 | double __kernel_tan(double x, double y, int iy) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 834 | { [ 3910s] | ~ [ 3910s] 835 | constexpr double xxx[] = { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 836 | 3.33333333333334091986e-01, /* 3FD55555, 55555563 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 837 | 1.33333333333201242699e-01, /* 3FC11111, 1110FE7A */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 838 | 5.39682539762260521377e-02, /* 3FABA1BA, 1BB341FE */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 839 | 2.18694882948595424599e-02, /* 3F9664F4, 8406D637 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 840 | 8.86323982359930005737e-03, /* 3F8226E3, E96E8493 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 841 | 3.59207910759131235356e-03, /* 3F6D6D22, C9560328 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 842 | 1.45620945432529025516e-03, /* 3F57DBC8, FEE08315 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 843 | 5.88041240820264096874e-04, /* 3F4344D8, F2F26501 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 844 | 2.46463134818469906812e-04, /* 3F3026F7, 1A8D1068 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 845 | 7.81794442939557092300e-05, /* 3F147E88, A03792A6 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 846 | 7.14072491382608190305e-05, /* 3F12B80F, 32F0A7E9 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 847 | -1.85586374855275456654e-05, /* BEF375CB, DB605373 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 848 | 2.59073051863633712884e-05, /* 3EFB2A70, 74BF7AD4 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 849 | /* one */ 1.00000000000000000000e+00, /* 3FF00000, 00000000 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 850 | /* pio4 */ 7.85398163397448278999e-01, /* 3FE921FB, 54442D18 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 851 | /* pio4lo */ 3.06161699786838301793e-17 /* 3C81A626, 33145C07 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 852 | }; [ 3910s] | ~~ [ 3910s] 853 | #define one xxx[13] [ 3910s] | ~~~~~~~~~~~~~~~~~~~ [ 3910s] 854 | #define pio4 xxx[14] [ 3910s] | ~~~~~~~~~~~~~~~~~~~~ [ 3910s] 855 | #define pio4lo xxx[15] [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 856 | #define T xxx [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 857 | [ 3910s] | [ 3910s] 858 | double z, r, v, w, s; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 859 | int32_t ix, hx; [ 3910s] | ~~~~~~~~~~~~~~~ [ 3910s] 860 | [ 3910s] | [ 3910s] 861 | GET_HIGH_WORD(hx, x); /* high word of x */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 862 | ix = hx & 0x7FFFFFFF; /* high word of |x| */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 863 | if (ix < 0x3E300000 && static_cast(x) == 0) { /* x < 2**-28 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 864 | /* generate inexact */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 865 | uint32_t low; [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 866 | GET_LOW_WORD(low, x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 867 | if (((ix | low) | (iy + 1)) == 0) { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 868 | return one / fabs(x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 869 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 870 | if (iy == 1) { [ 3910s] | ~~~~~~~~~~~~~~ [ 3910s] 871 | return x; [ 3910s] | ~~~~~~~~~ [ 3910s] 872 | } else { /* compute -1 / (x+y) carefully */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 873 | double a, t; [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 874 | [ 3910s] | [ 3910s] 875 | z = w = x + y; [ 3910s] | ~~~~~~~~~~~~~~ [ 3910s] 876 | SET_LOW_WORD(z, 0); [ 3910s] | ~~~~~~~~~~~~~~~~~~~ [ 3910s] 877 | v = y - (z - x); [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 878 | t = a = -one / w; [ 3910s] | ~~~~~~~~~~~~~~~~~ [ 3910s] 879 | SET_LOW_WORD(t, 0); [ 3910s] | ~~~~~~~~~~~~~~~~~~~ [ 3910s] 880 | s = one + t * z; [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 881 | return t + a * (s + t * v); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 882 | } [ 3910s] | ~ [ 3910s] 883 | } [ 3910s] | ~ [ 3910s] 884 | } [ 3910s] | ~ [ 3910s] 885 | if (ix >= 0x3FE59428) { /* |x| >= 0.6744 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 886 | if (hx < 0) { [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 887 | x = -x; [ 3910s] | ~~~~~~~ [ 3910s] 888 | y = -y; [ 3910s] | ~~~~~~~ [ 3910s] 889 | } [ 3910s] | ~ [ 3910s] 890 | z = pio4 - x; [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 891 | w = pio4lo - y; [ 3910s] | ~~~~~~~~~~~~~~~ [ 3910s] 892 | x = z + w; [ 3910s] | ~~~~~~~~~~ [ 3910s] 893 | y = 0.0; [ 3910s] | ~~~~~~~~ [ 3910s] 894 | } [ 3910s] | ~ [ 3910s] 895 | z = x * x; [ 3910s] | ~~~~~~~~~~ [ 3910s] 896 | w = z * z; [ 3910s] | ~~~~~~~~~~ [ 3910s] 897 | /* [ 3910s] | ~~ [ 3910s] 898 | * Break x^5*(T[1]+x^2*T[2]+...) into [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 899 | * x^5(T[1]+x^4*T[3]+...+x^20*T[11]) + [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 900 | * x^5(x^2*(T[2]+x^4*T[4]+...+x^22*[T12])) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 901 | */ [ 3910s] | ~~ [ 3910s] 902 | r = T[1] + w * (T[3] + w * (T[5] + w * (T[7] + w * (T[9] + w * T[11])))); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 903 | v = z * (T[2] + w * (T[4] + w * (T[6] + w * (T[8] + w * (T[10] + w * T[12]))))); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 904 | s = z * x; [ 3910s] | ~~~~~~~~~~ [ 3910s] 905 | r = y + z * (s * (r + v) + y); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 906 | r += T[0] * s; [ 3910s] | ~~~~~~~~~~~~~~ [ 3910s] 907 | w = x + r; [ 3910s] | ~~~~~~~~~~ [ 3910s] 908 | if (ix >= 0x3FE59428) { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 909 | v = iy; [ 3910s] | ~~~~~~~ [ 3910s] 910 | return (1 - ((hx >> 30) & 2)) * (v - 2.0 * (x - (w * w / (w + v) - r))); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 911 | } [ 3910s] | ~ [ 3910s] 912 | if (iy == 1) { [ 3910s] | ~~~~~~~~~~~~~~ [ 3910s] 913 | return w; [ 3910s] | ~~~~~~~~~ [ 3910s] 914 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 915 | /* [ 3910s] | ~~ [ 3910s] 916 | * if allow error up to 2 ulp, simply return [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 917 | * -1.0 / (x+r) here [ 3910s] | ~~~~~~~~~~~~~~~~~~~ [ 3910s] 918 | */ [ 3910s] | ~~ [ 3910s] 919 | /* compute -1.0 / (x+r) accurately */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 920 | double a, t; [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 921 | z = w; [ 3910s] | ~~~~~~ [ 3910s] 922 | SET_LOW_WORD(z, 0); [ 3910s] | ~~~~~~~~~~~~~~~~~~~ [ 3910s] 923 | v = r - (z - x); /* z+v = r+x */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 924 | t = a = -1.0 / w; /* a = -1.0/w */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 925 | SET_LOW_WORD(t, 0); [ 3910s] | ~~~~~~~~~~~~~~~~~~~ [ 3910s] 926 | s = 1.0 + t * z; [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 927 | return t + a * (s + t * v); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 928 | } [ 3910s] | ~ [ 3910s] 929 | [ 3910s] | [ 3910s] 930 | #undef one [ 3910s] | ~~~~~~~~~~ [ 3910s] 931 | #undef pio4 [ 3910s] | ~~~~~~~~~~~ [ 3910s] 932 | #undef pio4lo [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 933 | #undef T [ 3910s] | ~~~~~~~~ [ 3910s] 934 | } [ 3910s] | ~ [ 3910s] 935 | [ 3910s] | [ 3910s] 936 | } // namespace [ 3910s] | ~~~~~~~~~~~~~~ [ 3910s] 937 | [ 3910s] | [ 3910s] 938 | /* acos(x) [ 3910s] | ~~~~~~~~~~ [ 3910s] 939 | * Method : [ 3910s] | ~~~~~~~~~~ [ 3910s] 940 | * acos(x) = pi/2 - asin(x) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 941 | * acos(-x) = pi/2 + asin(x) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 942 | * For |x|<=0.5 [ 3910s] | ~~~~~~~~~~~~~~ [ 3910s] 943 | * acos(x) = pi/2 - (x + x*x^2*R(x^2)) (see asin.c) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 944 | * For x>0.5 [ 3910s] | ~~~~~~~~~~~ [ 3910s] 945 | * acos(x) = pi/2 - (pi/2 - 2asin(sqrt((1-x)/2))) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 946 | * = 2asin(sqrt((1-x)/2)) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 947 | * = 2s + 2s*z*R(z) ...z=(1-x)/2, s=sqrt(z) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 948 | * = 2f + (2c + 2s*z*R(z)) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 949 | * where f=hi part of s, and c = (z-f*f)/(s+f) is the correction term [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 950 | * for f so that f+c ~ sqrt(z). [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 951 | * For x<-0.5 [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 952 | * acos(x) = pi - 2asin(sqrt((1-|x|)/2)) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 953 | * = pi - 0.5*(s+s*z*R(z)), where z=(1-|x|)/2,s=sqrt(z) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 954 | * [ 3910s] | ~ [ 3910s] 955 | * Special cases: [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 956 | * if x is NaN, return x itself; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 957 | * if |x|>1, return NaN with invalid signal. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 958 | * [ 3910s] | ~ [ 3910s] 959 | * Function needed: sqrt [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 960 | */ [ 3910s] | ~~ [ 3910s] 961 | double acos(double x) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 962 | { [ 3910s] | ~ [ 3910s] 963 | constexpr double [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 964 | one [ 3910s] | ~~~ [ 3910s] 965 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 966 | pi = 3.14159265358979311600e+00, /* 0x400921FB, 0x54442D18 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 967 | pio2_hi = 1.57079632679489655800e+00, /* 0x3FF921FB, 0x54442D18 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 968 | pio2_lo = 6.12323399573676603587e-17, /* 0x3C91A626, 0x33145C07 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 969 | pS0 = 1.66666666666666657415e-01, /* 0x3FC55555, 0x55555555 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 970 | pS1 = -3.25565818622400915405e-01, /* 0xBFD4D612, 0x03EB6F7D */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 971 | pS2 = 2.01212532134862925881e-01, /* 0x3FC9C155, 0x0E884455 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 972 | pS3 = -4.00555345006794114027e-02, /* 0xBFA48228, 0xB5688F3B */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 973 | pS4 = 7.91534994289814532176e-04, /* 0x3F49EFE0, 0x7501B288 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 974 | pS5 = 3.47933107596021167570e-05, /* 0x3F023DE1, 0x0DFDF709 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 975 | qS1 = -2.40339491173441421878e+00, /* 0xC0033A27, 0x1C8A2D4B */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 976 | qS2 = 2.02094576023350569471e+00, /* 0x40002AE5, 0x9C598AC8 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 977 | qS3 = -6.88283971605453293030e-01, /* 0xBFE6066C, 0x1B8D0159 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 978 | qS4 = 7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 979 | [ 3910s] | [ 3910s] 980 | double z, p, q, r, w, s, c, df; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 981 | int32_t hx, ix; [ 3910s] | ~~~~~~~~~~~~~~~ [ 3910s] 982 | GET_HIGH_WORD(hx, x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 983 | ix = hx & 0x7FFFFFFF; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 984 | if (ix >= 0x3FF00000) { /* |x| >= 1 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 985 | uint32_t lx; [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 986 | GET_LOW_WORD(lx, x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~ [ 3910s] 987 | if (((ix - 0x3FF00000) | lx) == 0) { /* |x|==1 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 988 | if (hx > 0) [ 3910s] | ~~~~~~~~~~~ [ 3910s] 989 | return 0.0; /* acos(1) = 0 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 990 | else [ 3910s] | ~~~~ [ 3910s] 991 | return pi + 2.0 * pio2_lo; /* acos(-1)= pi */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 992 | } [ 3910s] | ~ [ 3910s] 993 | return (x - x) / (x - x); /* acos(|x|>1) is NaN */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 994 | } [ 3910s] | ~ [ 3910s] 995 | if (ix < 0x3FE00000) { /* |x| < 0.5 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 996 | if (ix <= 0x3C600000) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 997 | return pio2_hi + pio2_lo; /*if|x|<2**-57*/ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 998 | z = x * x; [ 3910s] | ~~~~~~~~~~ [ 3910s] 999 | p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5))))); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1000 | q = one + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4))); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1001 | r = p / q; [ 3910s] | ~~~~~~~~~~ [ 3910s] 1002 | return pio2_hi - (x - (pio2_lo - x * r)); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1003 | } else if (hx < 0) { /* x < -0.5 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1004 | z = (one + x) * 0.5; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1005 | p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5))))); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1006 | q = one + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4))); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1007 | s = sqrt(z); [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 1008 | r = p / q; [ 3910s] | ~~~~~~~~~~ [ 3910s] 1009 | w = r * s - pio2_lo; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1010 | return pi - 2.0 * (s + w); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1011 | } else { /* x > 0.5 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1012 | z = (one - x) * 0.5; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1013 | s = sqrt(z); [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 1014 | df = s; [ 3910s] | ~~~~~~~ [ 3910s] 1015 | SET_LOW_WORD(df, 0); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1016 | c = (z - df * df) / (s + df); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1017 | p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5))))); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1018 | q = one + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4))); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1019 | r = p / q; [ 3910s] | ~~~~~~~~~~ [ 3910s] 1020 | w = r * s + c; [ 3910s] | ~~~~~~~~~~~~~~ [ 3910s] 1021 | return 2.0 * (df + w); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1022 | } [ 3910s] | ~ [ 3910s] 1023 | } [ 3910s] | ~ [ 3910s] 1024 | [ 3910s] | [ 3910s] 1025 | /* acosh(x) [ 3910s] | ~~~~~~~~~~~ [ 3910s] 1026 | * Method : [ 3910s] | ~~~~~~~~~~ [ 3910s] 1027 | * Based on [ 3910s] | ~~~~~~~~~~~~~~~ [ 3910s] 1028 | * acosh(x) = log [ x + sqrt(x*x-1) ] [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1029 | * we have [ 3910s] | ~~~~~~~~~~~~~~ [ 3910s] 1030 | * acosh(x) := log(x)+ln2, if x is large; else [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1031 | * acosh(x) := log(2x-1/(sqrt(x*x-1)+x)) if x>2; else [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1032 | * acosh(x) := log1p(t+sqrt(2.0*t+t*t)); where t=x-1. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1033 | * [ 3910s] | ~ [ 3910s] 1034 | * Special cases: [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 1035 | * acosh(x) is NaN with signal if x<1. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1036 | * acosh(NaN) is NaN without signal. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1037 | */ [ 3910s] | ~~ [ 3910s] 1038 | double acosh(double x) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1039 | { [ 3910s] | ~ [ 3910s] 1040 | constexpr double [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 1041 | one [ 3910s] | ~~~ [ 3910s] 1042 | = 1.0, [ 3910s] | ~~~~~~ [ 3910s] 1043 | ln2 = 6.93147180559945286227e-01; /* 0x3FE62E42, 0xFEFA39EF */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1044 | double t; [ 3910s] | ~~~~~~~~~ [ 3910s] 1045 | int32_t hx; [ 3910s] | ~~~~~~~~~~~ [ 3910s] 1046 | uint32_t lx; [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 1047 | EXTRACT_WORDS(hx, lx, x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1048 | if (hx < 0x3FF00000) { /* x < 1 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1049 | return (x - x) / (x - x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1050 | } else if (hx >= 0x41B00000) { /* x > 2**28 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1051 | if (hx >= 0x7FF00000) { /* x is inf of NaN */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1052 | return x + x; [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 1053 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 1054 | return log(x) + ln2; /* acosh(huge)=log(2x) */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1055 | } [ 3910s] | ~ [ 3910s] 1056 | } else if (((hx - 0x3FF00000) | lx) == 0) { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1057 | return 0.0; /* acosh(1) = 0 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1058 | } else if (hx > 0x40000000) { /* 2**28 > x > 2 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1059 | t = x * x; [ 3910s] | ~~~~~~~~~~ [ 3910s] 1060 | return log(2.0 * x - one / (x + sqrt(t - one))); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1061 | } else { /* 10.98 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1081 | * asin(x) = pi/2 - 2*(s+s*z*R(z)) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1082 | * = pio2_hi - (2*(s+s*z*R(z)) - pio2_lo) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1083 | * For x<=0.98, let pio4_hi = pio2_hi/2, then [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1084 | * f = hi part of s; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1085 | * c = sqrt(z) - f = (z-f*f)/(s+f) ...f+c=sqrt(z) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1086 | * and [ 3910s] | ~~~~~~~~~~ [ 3910s] 1087 | * asin(x) = pi/2 - 2*(s+s*z*R(z)) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1088 | * = pio4_hi+(pio4-2s)-(2s*z*R(z)-pio2_lo) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1089 | * = pio4_hi+(pio4-2f)-(2s*z*R(z)-(pio2_lo+2c)) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1090 | * [ 3910s] | ~ [ 3910s] 1091 | * Special cases: [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 1092 | * if x is NaN, return x itself; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1093 | * if |x|>1, return NaN with invalid signal. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1094 | */ [ 3910s] | ~~ [ 3910s] 1095 | double asin(double x) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1096 | { [ 3910s] | ~ [ 3910s] 1097 | constexpr double [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 1098 | one [ 3910s] | ~~~ [ 3910s] 1099 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1100 | huge = 1.000e+300, [ 3910s] | ~~~~~~~~~~~~~~~~~~ [ 3910s] 1101 | pio2_hi = 1.57079632679489655800e+00, /* 0x3FF921FB, 0x54442D18 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1102 | pio2_lo = 6.12323399573676603587e-17, /* 0x3C91A626, 0x33145C07 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1103 | pio4_hi = 7.85398163397448278999e-01, /* 0x3FE921FB, 0x54442D18 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1104 | /* coefficient for R(x^2) */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1105 | pS0 = 1.66666666666666657415e-01, /* 0x3FC55555, 0x55555555 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1106 | pS1 = -3.25565818622400915405e-01, /* 0xBFD4D612, 0x03EB6F7D */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1107 | pS2 = 2.01212532134862925881e-01, /* 0x3FC9C155, 0x0E884455 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1108 | pS3 = -4.00555345006794114027e-02, /* 0xBFA48228, 0xB5688F3B */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1109 | pS4 = 7.91534994289814532176e-04, /* 0x3F49EFE0, 0x7501B288 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1110 | pS5 = 3.47933107596021167570e-05, /* 0x3F023DE1, 0x0DFDF709 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1111 | qS1 = -2.40339491173441421878e+00, /* 0xC0033A27, 0x1C8A2D4B */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1112 | qS2 = 2.02094576023350569471e+00, /* 0x40002AE5, 0x9C598AC8 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1113 | qS3 = -6.88283971605453293030e-01, /* 0xBFE6066C, 0x1B8D0159 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1114 | qS4 = 7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1115 | [ 3910s] | [ 3910s] 1116 | double t, w, p, q, c, r, s; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1117 | int32_t hx, ix; [ 3910s] | ~~~~~~~~~~~~~~~ [ 3910s] 1118 | [ 3910s] | [ 3910s] 1119 | t = 0; [ 3910s] | ~~~~~~ [ 3910s] 1120 | GET_HIGH_WORD(hx, x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1121 | ix = hx & 0x7FFFFFFF; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1122 | if (ix >= 0x3FF00000) { /* |x|>= 1 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1123 | uint32_t lx; [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 1124 | GET_LOW_WORD(lx, x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1125 | if (((ix - 0x3FF00000) | lx) == 0) /* asin(1)=+-pi/2 with inexact */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1126 | return x * pio2_hi + x * pio2_lo; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1127 | return (x - x) / (x - x); /* asin(|x|>1) is NaN */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1128 | } else if (ix < 0x3FE00000) { /* |x|<0.5 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1129 | if (ix < 0x3E400000 && huge + x > one) { /* if |x| < 2**-27 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1130 | return x; /* return x with inexact if x!=0*/ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1131 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 1132 | t = x * x; [ 3910s] | ~~~~~~~~~~ [ 3910s] 1133 | } [ 3910s] | ~ [ 3910s] 1134 | p = t * (pS0 + t * (pS1 + t * (pS2 + t * (pS3 + t * (pS4 + t * pS5))))); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1135 | q = one + t * (qS1 + t * (qS2 + t * (qS3 + t * qS4))); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1136 | w = p / q; [ 3910s] | ~~~~~~~~~~ [ 3910s] 1137 | return x + x * w; [ 3910s] | ~~~~~~~~~~~~~~~~~ [ 3910s] 1138 | } [ 3910s] | ~ [ 3910s] 1139 | /* 1> |x|>= 0.5 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~ [ 3910s] 1140 | w = one - fabs(x); [ 3910s] | ~~~~~~~~~~~~~~~~~~ [ 3910s] 1141 | t = w * 0.5; [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 1142 | p = t * (pS0 + t * (pS1 + t * (pS2 + t * (pS3 + t * (pS4 + t * pS5))))); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1143 | q = one + t * (qS1 + t * (qS2 + t * (qS3 + t * qS4))); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1144 | s = sqrt(t); [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 1145 | if (ix >= 0x3FEF3333) { /* if |x| > 0.975 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1146 | w = p / q; [ 3910s] | ~~~~~~~~~~ [ 3910s] 1147 | t = pio2_hi - (2.0 * (s + s * w) - pio2_lo); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1148 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 1149 | w = s; [ 3910s] | ~~~~~~ [ 3910s] 1150 | SET_LOW_WORD(w, 0); [ 3910s] | ~~~~~~~~~~~~~~~~~~~ [ 3910s] 1151 | c = (t - w * w) / (s + w); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1152 | r = p / q; [ 3910s] | ~~~~~~~~~~ [ 3910s] 1153 | p = 2.0 * s * r - (pio2_lo - 2.0 * c); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1154 | q = pio4_hi - 2.0 * w; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1155 | t = pio4_hi - (p - q); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1156 | } [ 3910s] | ~ [ 3910s] 1157 | if (hx > 0) [ 3910s] | ~~~~~~~~~~~ [ 3910s] 1158 | return t; [ 3910s] | ~~~~~~~~~ [ 3910s] 1159 | else [ 3910s] | ~~~~ [ 3910s] 1160 | return -t; [ 3910s] | ~~~~~~~~~~ [ 3910s] 1161 | } [ 3910s] | ~ [ 3910s] 1162 | /* asinh(x) [ 3910s] | ~~~~~~~~~~~ [ 3910s] 1163 | * Method : [ 3910s] | ~~~~~~~~~~ [ 3910s] 1164 | * Based on [ 3910s] | ~~~~~~~~~~~~~~~ [ 3910s] 1165 | * asinh(x) = sign(x) * log [ |x| + sqrt(x*x+1) ] [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1166 | * we have [ 3910s] | ~~~~~~~~~~~~~~ [ 3910s] 1167 | * asinh(x) := x if 1+x*x=1, [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1168 | * := sign(x)*(log(x)+ln2)) for large |x|, else [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1169 | * := sign(x)*log(2|x|+1/(|x|+sqrt(x*x+1))) if|x|>2, else [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1170 | * := sign(x)*log1p(|x| + x^2/(1 + sqrt(1+x^2))) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1171 | */ [ 3910s] | ~~ [ 3910s] 1172 | double asinh(double x) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1173 | { [ 3910s] | ~ [ 3910s] 1174 | constexpr double [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 1175 | one [ 3910s] | ~~~ [ 3910s] 1176 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1177 | ln2 = 6.93147180559945286227e-01, /* 0x3FE62E42, 0xFEFA39EF */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1178 | huge = 1.00000000000000000000e+300; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1179 | [ 3910s] | [ 3910s] 1180 | double t, w; [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 1181 | int32_t hx, ix; [ 3910s] | ~~~~~~~~~~~~~~~ [ 3910s] 1182 | GET_HIGH_WORD(hx, x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1183 | ix = hx & 0x7FFFFFFF; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1184 | if (ix >= 0x7FF00000) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1185 | return x + x; /* x is inf or NaN */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1186 | if (ix < 0x3E300000 && huge + x > one) { /* |x|<2**-28 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1187 | return x; /* return x inexact except 0 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1188 | } [ 3910s] | ~ [ 3910s] 1189 | if (ix > 0x41B00000) { /* |x| > 2**28 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1190 | w = log(fabs(x)) + ln2; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1191 | } else if (ix > 0x40000000) { /* 2**28 > |x| > 2.0 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1192 | t = fabs(x); [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 1193 | w = log(2.0 * t + one / (sqrt(x * x + one) + t)); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1194 | } else { /* 2.0 > |x| > 2**-28 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1195 | t = x * x; [ 3910s] | ~~~~~~~~~~ [ 3910s] 1196 | w = log1p(fabs(x) + t / (one + sqrt(one + t))); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1197 | } [ 3910s] | ~ [ 3910s] 1198 | if (hx > 0) { [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 1199 | return w; [ 3910s] | ~~~~~~~~~ [ 3910s] 1200 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 1201 | return -w; [ 3910s] | ~~~~~~~~~~ [ 3910s] 1202 | } [ 3910s] | ~ [ 3910s] 1203 | } [ 3910s] | ~ [ 3910s] 1204 | [ 3910s] | [ 3910s] 1205 | /* atan(x) [ 3910s] | ~~~~~~~~~~ [ 3910s] 1206 | * Method [ 3910s] | ~~~~~~~~ [ 3910s] 1207 | * 1. Reduce x to positive by atan(x) = -atan(-x). [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1208 | * 2. According to the integer k=4t+0.25 chopped, t=x, the argument [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1209 | * is further reduced to one of the following intervals and the [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1210 | * arctangent of t is evaluated by the corresponding formula: [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1211 | * [ 3910s] | ~ [ 3910s] 1212 | * [0,7/16] atan(x) = t-t^3*(a1+t^2*(a2+...(a10+t^2*a11)...) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1213 | * [7/16,11/16] atan(x) = atan(1/2) + atan( (t-0.5)/(1+t/2) ) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1214 | * [11/16.19/16] atan(x) = atan( 1 ) + atan( (t-1)/(1+t) ) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1215 | * [19/16,39/16] atan(x) = atan(3/2) + atan( (t-1.5)/(1+1.5t) ) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1216 | * [39/16,INF] atan(x) = atan(INF) + atan( -1/t ) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1217 | * [ 3910s] | ~ [ 3910s] 1218 | * Constants: [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 1219 | * The hexadecimal values are the intended ones for the following [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1220 | * constants. The decimal values may be used, provided that the [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1221 | * compiler will convert from decimal to binary accurately enough [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1222 | * to produce the hexadecimal values shown. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1223 | */ [ 3910s] | ~~ [ 3910s] 1224 | double atan(double x) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1225 | { [ 3910s] | ~ [ 3910s] 1226 | constexpr double atanhi[] = { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1227 | 4.63647609000806093515e-01, /* atan(0.5)hi 0x3FDDAC67, 0x0561BB4F */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1228 | 7.85398163397448278999e-01, /* atan(1.0)hi 0x3FE921FB, 0x54442D18 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1229 | 9.82793723247329054082e-01, /* atan(1.5)hi 0x3FEF730B, 0xD281F69B */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1230 | 1.57079632679489655800e+00, /* atan(inf)hi 0x3FF921FB, 0x54442D18 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1231 | }; [ 3910s] | ~~ [ 3910s] 1232 | [ 3910s] | [ 3910s] 1233 | constexpr double atanlo[] = { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1234 | 2.26987774529616870924e-17, /* atan(0.5)lo 0x3C7A2B7F, 0x222F65E2 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1235 | 3.06161699786838301793e-17, /* atan(1.0)lo 0x3C81A626, 0x33145C07 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1236 | 1.39033110312309984516e-17, /* atan(1.5)lo 0x3C700788, 0x7AF0CBBD */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1237 | 6.12323399573676603587e-17, /* atan(inf)lo 0x3C91A626, 0x33145C07 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1238 | }; [ 3910s] | ~~ [ 3910s] 1239 | [ 3910s] | [ 3910s] 1240 | constexpr double aT[] = { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1241 | 3.33333333333329318027e-01, /* 0x3FD55555, 0x5555550D */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1242 | -1.99999999998764832476e-01, /* 0xBFC99999, 0x9998EBC4 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1243 | 1.42857142725034663711e-01, /* 0x3FC24924, 0x920083FF */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1244 | -1.11111104054623557880e-01, /* 0xBFBC71C6, 0xFE231671 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1245 | 9.09088713343650656196e-02, /* 0x3FB745CD, 0xC54C206E */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1246 | -7.69187620504482999495e-02, /* 0xBFB3B0F2, 0xAF749A6D */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1247 | 6.66107313738753120669e-02, /* 0x3FB10D66, 0xA0D03D51 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1248 | -5.83357013379057348645e-02, /* 0xBFADDE2D, 0x52DEFD9A */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1249 | 4.97687799461593236017e-02, /* 0x3FA97B4B, 0x24760DEB */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1250 | -3.65315727442169155270e-02, /* 0xBFA2B444, 0x2C6A6C2F */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1251 | 1.62858201153657823623e-02, /* 0x3F90AD3A, 0xE322DA11 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1252 | }; [ 3910s] | ~~ [ 3910s] 1253 | [ 3910s] | [ 3910s] 1254 | constexpr double one = 1.0, huge = 1.0e300; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1255 | [ 3910s] | [ 3910s] 1256 | double w, s1, s2, z; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1257 | int32_t ix, hx, id; [ 3910s] | ~~~~~~~~~~~~~~~~~~~ [ 3910s] 1258 | [ 3910s] | [ 3910s] 1259 | GET_HIGH_WORD(hx, x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1260 | ix = hx & 0x7FFFFFFF; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1261 | if (ix >= 0x44100000) { /* if |x| >= 2^66 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1262 | uint32_t low; [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 1263 | GET_LOW_WORD(low, x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1264 | if (ix > 0x7FF00000 || (ix == 0x7FF00000 && (low != 0))) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1265 | return x + x; /* NaN */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1266 | if (hx > 0) [ 3910s] | ~~~~~~~~~~~ [ 3910s] 1267 | return atanhi[3] + *(volatile double *)&atanlo[3]; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1268 | else [ 3910s] | ~~~~ [ 3910s] 1269 | return -atanhi[3] - *(volatile double *)&atanlo[3]; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1270 | } [ 3910s] | ~ [ 3910s] 1271 | if (ix < 0x3FDC0000) { /* |x| < 0.4375 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1272 | if (ix < 0x3E400000 && huge + x > one) { /* |x| < 2^-27 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1273 | return x; /* raise inexact */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1274 | } [ 3910s] | ~ [ 3910s] 1275 | id = -1; [ 3910s] | ~~~~~~~~ [ 3910s] 1276 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 1277 | x = fabs(x); [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 1278 | if (ix < 0x3FF30000) { /* |x| < 1.1875 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1279 | if (ix < 0x3FE60000) { /* 7/16 <=|x|<11/16 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1280 | id = 0; [ 3910s] | ~~~~~~~ [ 3910s] 1281 | x = (2.0 * x - one) / (2.0 + x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1282 | } else { /* 11/16<=|x|< 19/16 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1283 | id = 1; [ 3910s] | ~~~~~~~ [ 3910s] 1284 | x = (x - one) / (x + one); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1285 | } [ 3910s] | ~ [ 3910s] 1286 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 1287 | if (ix < 0x40038000) { /* |x| < 2.4375 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1288 | id = 2; [ 3910s] | ~~~~~~~ [ 3910s] 1289 | x = (x - 1.5) / (one + 1.5 * x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1290 | } else { /* 2.4375 <= |x| < 2^66 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1291 | id = 3; [ 3910s] | ~~~~~~~ [ 3910s] 1292 | x = -1.0 / x; [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 1293 | } [ 3910s] | ~ [ 3910s] 1294 | } [ 3910s] | ~ [ 3910s] 1295 | } [ 3910s] | ~ [ 3910s] 1296 | /* end of argument reduction */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1297 | z = x * x; [ 3910s] | ~~~~~~~~~~ [ 3910s] 1298 | w = z * z; [ 3910s] | ~~~~~~~~~~ [ 3910s] 1299 | /* break sum from i=0 to 10 aT[i]z**(i+1) into odd and even poly */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1300 | s1 = z * (aT[0] + w * (aT[2] + w * (aT[4] + w * (aT[6] + w * (aT[8] + w * aT[10]))))); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1301 | s2 = w * (aT[1] + w * (aT[3] + w * (aT[5] + w * (aT[7] + w * aT[9])))); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1302 | if (id < 0) { [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 1303 | return x - x * (s1 + s2); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1304 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 1305 | z = atanhi[id] - ((x * (s1 + s2) - atanlo[id]) - x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1306 | return (hx < 0) ? -z : z; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1307 | } [ 3910s] | ~ [ 3910s] 1308 | } [ 3910s] | ~ [ 3910s] 1309 | [ 3910s] | [ 3910s] 1310 | /* atan2(y,x) [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 1311 | * Method : [ 3910s] | ~~~~~~~~~~ [ 3910s] 1312 | * 1. Reduce y to positive by atan2(y,x)=-atan2(-y,x). [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1313 | * 2. Reduce x to positive by (if x and y are unexceptional): [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1314 | * ARG (x+iy) = arctan(y/x) ... if x > 0, [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1315 | * ARG (x+iy) = pi - arctan[y/(-x)] ... if x < 0, [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1316 | * [ 3910s] | ~ [ 3910s] 1317 | * Special cases: [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 1318 | * [ 3910s] | ~ [ 3910s] 1319 | * ATAN2((anything), NaN ) is NaN; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1320 | * ATAN2(NAN , (anything) ) is NaN; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1321 | * ATAN2(+-0, +(anything but NaN)) is +-0 ; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1322 | * ATAN2(+-0, -(anything but NaN)) is +-pi ; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1323 | * ATAN2(+-(anything but 0 and NaN), 0) is +-pi/2; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1324 | * ATAN2(+-(anything but INF and NaN), +INF) is +-0 ; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1325 | * ATAN2(+-(anything but INF and NaN), -INF) is +-pi; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1326 | * ATAN2(+-INF,+INF ) is +-pi/4 ; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1327 | * ATAN2(+-INF,-INF ) is +-3pi/4; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1328 | * ATAN2(+-INF, (anything but,0,NaN, and INF)) is +-pi/2; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1329 | * [ 3910s] | ~ [ 3910s] 1330 | * Constants: [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 1331 | * The hexadecimal values are the intended ones for the following [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1332 | * constants. The decimal values may be used, provided that the [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1333 | * compiler will convert from decimal to binary accurately enough [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1334 | * to produce the hexadecimal values shown. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1335 | */ [ 3910s] | ~~ [ 3910s] 1336 | double atan2(double y, double x) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1337 | { [ 3910s] | ~ [ 3910s] 1338 | constexpr volatile double tiny = 1.0e-300; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1339 | constexpr double [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 1340 | zero [ 3910s] | ~~~~ [ 3910s] 1341 | = 0.0, [ 3910s] | ~~~~~~ [ 3910s] 1342 | pi_o_4 = 7.8539816339744827900E-01, /* 0x3FE921FB, 0x54442D18 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1343 | pi_o_2 = 1.5707963267948965580E+00, /* 0x3FF921FB, 0x54442D18 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1344 | pi = 3.1415926535897931160E+00; /* 0x400921FB, 0x54442D18 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1345 | constexpr volatile double pi_lo = 1.2246467991473531772E-16; /* 0x3CA1A626, 0x33145C07 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1346 | [ 3910s] | [ 3910s] 1347 | double z; [ 3910s] | ~~~~~~~~~ [ 3910s] 1348 | int32_t k, m, hx, hy, ix, iy; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1349 | uint32_t lx, ly; [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 1350 | [ 3910s] | [ 3910s] 1351 | EXTRACT_WORDS(hx, lx, x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1352 | ix = hx & 0x7FFFFFFF; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1353 | EXTRACT_WORDS(hy, ly, y); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1354 | iy = hy & 0x7FFFFFFF; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1355 | if (((ix | ((lx | -static_cast(lx)) >> 31)) > 0x7FF00000) || ((iy | ((ly | -static_cast(ly)) >> 31)) > 0x7FF00000)) { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1356 | return x + y; /* x or y is NaN */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1357 | } [ 3910s] | ~ [ 3910s] 1358 | if (((hx - 0x3FF00000) | lx) == 0) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1359 | return atan(y); /* x=1.0 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1360 | m = ((hy >> 31) & 1) | ((hx >> 30) & 2); /* 2*sign(x)+sign(y) */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1361 | [ 3910s] | [ 3910s] 1362 | /* when y = 0 */ [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 1363 | if ((iy | ly) == 0) { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1364 | switch (m) { [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 1365 | case 0: [ 3910s] | ~~~~~~~ [ 3910s] 1366 | case 1: [ 3910s] | ~~~~~~~ [ 3910s] 1367 | return y; /* atan(+-0,+anything)=+-0 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1368 | case 2: [ 3910s] | ~~~~~~~ [ 3910s] 1369 | return pi + tiny; /* atan(+0,-anything) = pi */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1370 | case 3: [ 3910s] | ~~~~~~~ [ 3910s] 1371 | return -pi - tiny; /* atan(-0,-anything) =-pi */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1372 | } [ 3910s] | ~ [ 3910s] 1373 | } [ 3910s] | ~ [ 3910s] 1374 | /* when x = 0 */ [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 1375 | if ((ix | lx) == 0) [ 3910s] | ~~~~~~~~~~~~~~~~~~~ [ 3910s] 1376 | return (hy < 0) ? -pi_o_2 - tiny : pi_o_2 + tiny; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1377 | [ 3910s] | [ 3910s] 1378 | /* when x is INF */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~ [ 3910s] 1379 | if (ix == 0x7FF00000) { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1380 | if (iy == 0x7FF00000) { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1381 | switch (m) { [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 1382 | case 0: [ 3910s] | ~~~~~~~ [ 3910s] 1383 | return pi_o_4 + tiny; /* atan(+INF,+INF) */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1384 | case 1: [ 3910s] | ~~~~~~~ [ 3910s] 1385 | return -pi_o_4 - tiny; /* atan(-INF,+INF) */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1386 | case 2: [ 3910s] | ~~~~~~~ [ 3910s] 1387 | return 3.0 * pi_o_4 + tiny; /*atan(+INF,-INF)*/ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1388 | case 3: [ 3910s] | ~~~~~~~ [ 3910s] 1389 | return -3.0 * pi_o_4 - tiny; /*atan(-INF,-INF)*/ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1390 | } [ 3910s] | ~ [ 3910s] 1391 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 1392 | switch (m) { [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 1393 | case 0: [ 3910s] | ~~~~~~~ [ 3910s] 1394 | return zero; /* atan(+...,+INF) */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1395 | case 1: [ 3910s] | ~~~~~~~ [ 3910s] 1396 | return -zero; /* atan(-...,+INF) */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1397 | case 2: [ 3910s] | ~~~~~~~ [ 3910s] 1398 | return pi + tiny; /* atan(+...,-INF) */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1399 | case 3: [ 3910s] | ~~~~~~~ [ 3910s] 1400 | return -pi - tiny; /* atan(-...,-INF) */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1401 | } [ 3910s] | ~ [ 3910s] 1402 | } [ 3910s] | ~ [ 3910s] 1403 | } [ 3910s] | ~ [ 3910s] 1404 | /* when y is INF */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~ [ 3910s] 1405 | if (iy == 0x7FF00000) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1406 | return (hy < 0) ? -pi_o_2 - tiny : pi_o_2 + tiny; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1407 | [ 3910s] | [ 3910s] 1408 | /* compute y/x */ [ 3910s] | ~~~~~~~~~~~~~~~~~ [ 3910s] 1409 | k = (iy - ix) >> 20; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1410 | if (k > 60) { /* |y/x| > 2**60 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1411 | z = pi_o_2 + 0.5 * pi_lo; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1412 | m &= 1; [ 3910s] | ~~~~~~~ [ 3910s] 1413 | } else if (hx < 0 && k < -60) { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1414 | z = 0.0; /* 0 > |y|/x > -2**-60 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1415 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 1416 | z = atan(fabs(y / x)); /* safe to do y/x */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1417 | } [ 3910s] | ~ [ 3910s] 1418 | switch (m) { [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 1419 | case 0: [ 3910s] | ~~~~~~~ [ 3910s] 1420 | return z; /* atan(+,+) */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1421 | case 1: [ 3910s] | ~~~~~~~ [ 3910s] 1422 | return -z; /* atan(-,+) */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1423 | case 2: [ 3910s] | ~~~~~~~ [ 3910s] 1424 | return pi - (z - pi_lo); /* atan(+,-) */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1425 | default: /* case 3 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1426 | return (z - pi_lo) - pi; /* atan(-,-) */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1427 | } [ 3910s] | ~ [ 3910s] 1428 | } [ 3910s] | ~ [ 3910s] 1429 | [ 3910s] | [ 3910s] 1430 | /* cos(x) [ 3910s] | ~~~~~~~~~ [ 3910s] 1431 | * Return cosine function of x. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1432 | * [ 3910s] | ~ [ 3910s] 1433 | * kernel function: [ 3910s] | ~~~~~~~~~~~~~~~~~~ [ 3910s] 1434 | * __kernel_sin ... sine function on [-pi/4,pi/4] [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1435 | * __kernel_cos ... cosine function on [-pi/4,pi/4] [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1436 | * __ieee754_rem_pio2 ... argument reduction routine [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1437 | * [ 3910s] | ~ [ 3910s] 1438 | * Method. [ 3910s] | ~~~~~~~~~ [ 3910s] 1439 | * Let S,C and T denote the sin, cos and tan respectively on [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1440 | * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1441 | * in [-pi/4 , +pi/4], and let n = k mod 4. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1442 | * We have [ 3910s] | ~~~~~~~~~~~~~~ [ 3910s] 1443 | * [ 3910s] | ~ [ 3910s] 1444 | * n sin(x) cos(x) tan(x) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1445 | * ---------------------------------------------------------- [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1446 | * 0 S C T [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1447 | * 1 C -S -1/T [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1448 | * 2 -S -C T [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1449 | * 3 -C S -1/T [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1450 | * ---------------------------------------------------------- [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1451 | * [ 3910s] | ~ [ 3910s] 1452 | * Special cases: [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 1453 | * Let trig be any of sin, cos, or tan. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1454 | * trig(+-INF) is NaN, with signals; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1455 | * trig(NaN) is that NaN; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1456 | * [ 3910s] | ~ [ 3910s] 1457 | * Accuracy: [ 3910s] | ~~~~~~~~~~~ [ 3910s] 1458 | * TRIG(x) returns trig(x) nearly rounded [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1459 | */ [ 3910s] | ~~ [ 3910s] 1460 | double cos(double x) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1461 | { [ 3910s] | ~ [ 3910s] 1462 | double y[2], z = 0.0; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1463 | int32_t n, ix; [ 3910s] | ~~~~~~~~~~~~~~ [ 3910s] 1464 | [ 3910s] | [ 3910s] 1465 | /* High word of x. */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1466 | GET_HIGH_WORD(ix, x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1467 | [ 3910s] | [ 3910s] 1468 | /* |x| ~< pi/4 */ [ 3910s] | ~~~~~~~~~~~~~~~~~ [ 3910s] 1469 | ix &= 0x7FFFFFFF; [ 3910s] | ~~~~~~~~~~~~~~~~~ [ 3910s] 1470 | if (ix <= 0x3FE921FB) { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1471 | return __kernel_cos(x, z); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1472 | } else if (ix >= 0x7FF00000) { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1473 | /* cos(Inf or NaN) is NaN */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1474 | return x - x; [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 1475 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 1476 | /* argument reduction needed */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1477 | n = __ieee754_rem_pio2(x, y); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1478 | switch (n & 3) { [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 1479 | case 0: [ 3910s] | ~~~~~~~ [ 3910s] 1480 | return __kernel_cos(y[0], y[1]); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1481 | case 1: [ 3910s] | ~~~~~~~ [ 3910s] 1482 | return -__kernel_sin(y[0], y[1], 1); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1483 | case 2: [ 3910s] | ~~~~~~~ [ 3910s] 1484 | return -__kernel_cos(y[0], y[1]); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1485 | default: [ 3910s] | ~~~~~~~~ [ 3910s] 1486 | return __kernel_sin(y[0], y[1], 1); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1487 | } [ 3910s] | ~ [ 3910s] 1488 | } [ 3910s] | ~ [ 3910s] 1489 | } [ 3910s] | ~ [ 3910s] 1490 | [ 3910s] | [ 3910s] 1491 | /* exp(x) [ 3910s] | ~~~~~~~~~ [ 3910s] 1492 | * Returns the exponential of x. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1493 | * [ 3910s] | ~ [ 3910s] 1494 | * Method [ 3910s] | ~~~~~~~~ [ 3910s] 1495 | * 1. Argument reduction: [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1496 | * Reduce x to an r so that |r| <= 0.5*ln2 ~ 0.34658. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1497 | * Given x, find r and integer k such that [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1498 | * [ 3910s] | ~ [ 3910s] 1499 | * x = k*ln2 + r, |r| <= 0.5*ln2. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1500 | * [ 3910s] | ~ [ 3910s] 1501 | * Here r will be represented as r = hi-lo for better [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1502 | * accuracy. [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 1503 | * [ 3910s] | ~ [ 3910s] 1504 | * 2. Approximation of exp(r) by a special rational function on [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1505 | * the interval [0,0.34658]: [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1506 | * Write [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 1507 | * R(r**2) = r*(exp(r)+1)/(exp(r)-1) = 2 + r*r/6 - r**4/360 + ... [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1508 | * We use a special Remes algorithm on [0,0.34658] to generate [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1509 | * a polynomial of degree 5 to approximate R. The maximum error [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1510 | * of this polynomial approximation is bounded by 2**-59. In [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1511 | * other words, [ 3910s] | ~~~~~~~~~~~~~~~~~~~ [ 3910s] 1512 | * R(z) ~ 2.0 + P1*z + P2*z**2 + P3*z**3 + P4*z**4 + P5*z**5 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1513 | * (where z=r*r, and the values of P1 to P5 are listed below) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1514 | * and [ 3910s] | ~~~~~~~~~~ [ 3910s] 1515 | * | 5 | -59 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1516 | * | 2.0+P1*z+...+P5*z - R(z) | <= 2 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1517 | * | | [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1518 | * The computation of exp(r) thus becomes [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1519 | * 2*r [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1520 | * exp(r) = 1 + ------- [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1521 | * R - r [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1522 | * r*R1(r) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1523 | * = 1 + r + ----------- (for better accuracy) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1524 | * 2 - R1(r) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1525 | * where [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 1526 | * 2 4 10 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1527 | * R1(r) = r - (P1*r + P2*r + ... + P5*r ). [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1528 | * [ 3910s] | ~ [ 3910s] 1529 | * 3. Scale back to obtain exp(x): [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1530 | * From step 1, we have [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1531 | * exp(x) = 2^k * exp(r) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1532 | * [ 3910s] | ~ [ 3910s] 1533 | * Special cases: [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 1534 | * exp(INF) is INF, exp(NaN) is NaN; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1535 | * exp(-INF) is 0, and [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1536 | * for finite argument, only exp(0)=1 is exact. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1537 | * [ 3910s] | ~ [ 3910s] 1538 | * Accuracy: [ 3910s] | ~~~~~~~~~~~ [ 3910s] 1539 | * according to an error analysis, the error is always less than [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1540 | * 1 ulp (unit in the last place). [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1541 | * [ 3910s] | ~ [ 3910s] 1542 | * Misc. info. [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 1543 | * For IEEE double [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1544 | * if x > 7.09782712893383973096e+02 then exp(x) overflow [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1545 | * if x < -7.45133219101941108420e+02 then exp(x) underflow [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1546 | * [ 3910s] | ~ [ 3910s] 1547 | * Constants: [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 1548 | * The hexadecimal values are the intended ones for the following [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1549 | * constants. The decimal values may be used, provided that the [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1550 | * compiler will convert from decimal to binary accurately enough [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1551 | * to produce the hexadecimal values shown. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1552 | */ [ 3910s] | ~~ [ 3910s] 1553 | double exp(double x) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1554 | { [ 3910s] | ~ [ 3910s] 1555 | constexpr double [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 1556 | one [ 3910s] | ~~~ [ 3910s] 1557 | = 1.0, [ 3910s] | ~~~~~~ [ 3910s] 1558 | halF[2] = { 0.5, -0.5 }, [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1559 | o_threshold = 7.09782712893383973096e+02, /* 0x40862E42, 0xFEFA39EF */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1560 | u_threshold = -7.45133219101941108420e+02, /* 0xC0874910, 0xD52D3051 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1561 | ln2HI[2] = { 6.93147180369123816490e-01, /* 0x3FE62E42, 0xFEE00000 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1562 | -6.93147180369123816490e-01 }, /* 0xBFE62E42, 0xFEE00000 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1563 | ln2LO[2] = { 1.90821492927058770002e-10, /* 0x3DEA39EF, 0x35793C76 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1564 | -1.90821492927058770002e-10 }, /* 0xBDEA39EF, 0x35793C76 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1565 | invln2 = 1.44269504088896338700e+00, /* 0x3FF71547, 0x652B82FE */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1566 | P1 = 1.66666666666666019037e-01, /* 0x3FC55555, 0x5555553E */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1567 | P2 = -2.77777777770155933842e-03, /* 0xBF66C16C, 0x16BEBD93 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1568 | P3 = 6.61375632143793436117e-05, /* 0x3F11566A, 0xAF25DE2C */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1569 | P4 = -1.65339022054652515390e-06, /* 0xBEBBBD41, 0xC5D26BF1 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1570 | P5 = 4.13813679705723846039e-08, /* 0x3E663769, 0x72BEA4D0 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1571 | E = 2.718281828459045; /* 0x4005BF0A, 0x8B145769 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1572 | [ 3910s] | [ 3910s] 1573 | constexpr volatile double [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1574 | huge [ 3910s] | ~~~~ [ 3910s] 1575 | = 1.0e+300, [ 3910s] | ~~~~~~~~~~~ [ 3910s] 1576 | twom1000 = 9.33263618503218878990e-302, /* 2**-1000=0x01700000,0*/ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1577 | two1023 = 8.988465674311579539e307; /* 0x1p1023 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1578 | [ 3910s] | [ 3910s] 1579 | double y, hi = 0.0, lo = 0.0, c, t, twopk; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1580 | int32_t k = 0, xsb; [ 3910s] | ~~~~~~~~~~~~~~~~~~~ [ 3910s] 1581 | uint32_t hx; [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 1582 | [ 3910s] | [ 3910s] 1583 | GET_HIGH_WORD(hx, x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1584 | xsb = (hx >> 31) & 1; /* sign bit of x */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1585 | hx &= 0x7FFFFFFF; /* high word of |x| */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1586 | [ 3910s] | [ 3910s] 1587 | /* filter out non-finite argument */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1588 | if (hx >= 0x40862E42) { /* if |x|>=709.78... */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1589 | if (hx >= 0x7FF00000) { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1590 | uint32_t lx; [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 1591 | GET_LOW_WORD(lx, x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1592 | if (((hx & 0xFFFFF) | lx) != 0) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1593 | return x + x; /* NaN */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1594 | else [ 3910s] | ~~~~ [ 3910s] 1595 | return (xsb == 0) ? x : 0.0; /* exp(+-inf)={inf,0} */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1596 | } [ 3910s] | ~ [ 3910s] 1597 | if (x > o_threshold) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1598 | return huge * huge; /* overflow */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1599 | if (x < u_threshold) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1600 | return twom1000 * twom1000; /* underflow */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1601 | } [ 3910s] | ~ [ 3910s] 1602 | [ 3910s] | [ 3910s] 1603 | /* argument reduction */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1604 | if (hx > 0x3FD62E42) { /* if |x| > 0.5 ln2 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1605 | if (hx < 0x3FF0A2B2) { /* and |x| < 1.5 ln2 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1606 | /* TODO(rtoy): We special case exp(1) here to return the correct [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1607 | * value of E, as the computation below would get the last bit [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1608 | * wrong. We should probably fix the algorithm instead. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1609 | */ [ 3910s] | ~~ [ 3910s] 1610 | if (x == 1.0) [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 1611 | return E; [ 3910s] | ~~~~~~~~~ [ 3910s] 1612 | hi = x - ln2HI[xsb]; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1613 | lo = ln2LO[xsb]; [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 1614 | k = 1 - xsb - xsb; [ 3910s] | ~~~~~~~~~~~~~~~~~~ [ 3910s] 1615 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 1616 | k = static_cast(invln2 * x + halF[xsb]); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1617 | t = k; [ 3910s] | ~~~~~~ [ 3910s] 1618 | hi = x - t * ln2HI[0]; /* t*ln2HI is exact here */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1619 | lo = t * ln2LO[0]; [ 3910s] | ~~~~~~~~~~~~~~~~~~ [ 3910s] 1620 | } [ 3910s] | ~ [ 3910s] 1621 | STRICT_ASSIGN(double, x, hi - lo); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1622 | } else if (hx < 0x3E300000) { /* when |x|<2**-28 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1623 | if (huge + x > one) [ 3910s] | ~~~~~~~~~~~~~~~~~~~ [ 3910s] 1624 | return one + x; /* trigger inexact */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1625 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 1626 | k = 0; [ 3910s] | ~~~~~~ [ 3910s] 1627 | } [ 3910s] | ~ [ 3910s] 1628 | [ 3910s] | [ 3910s] 1629 | /* x is now in primary range */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1630 | t = x * x; [ 3910s] | ~~~~~~~~~~ [ 3910s] 1631 | if (k >= -1021) { [ 3910s] | ~~~~~~~~~~~~~~~~~ [ 3910s] 1632 | INSERT_WORDS(twopk, 0x3FF00000 + (k << 20), 0); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1633 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 1634 | INSERT_WORDS(twopk, 0x3FF00000 + ((k + 1000) << 20), 0); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1635 | } [ 3910s] | ~ [ 3910s] 1636 | c = x - t * (P1 + t * (P2 + t * (P3 + t * (P4 + t * P5)))); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1637 | if (k == 0) { [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 1638 | return one - ((x * c) / (c - 2.0) - x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1639 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 1640 | y = one - ((lo - (x * c) / (2.0 - c)) - hi); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1641 | } [ 3910s] | ~ [ 3910s] 1642 | if (k >= -1021) { [ 3910s] | ~~~~~~~~~~~~~~~~~ [ 3910s] 1643 | if (k == 1024) [ 3910s] | ~~~~~~~~~~~~~~ [ 3910s] 1644 | return y * 2.0 * two1023; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1645 | return y * twopk; [ 3910s] | ~~~~~~~~~~~~~~~~~ [ 3910s] 1646 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 1647 | return y * twopk * twom1000; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1648 | } [ 3910s] | ~ [ 3910s] 1649 | } [ 3910s] | ~ [ 3910s] 1650 | [ 3910s] | [ 3910s] 1651 | /* [ 3910s] | ~~ [ 3910s] 1652 | * Method : [ 3910s] | ~~~~~~~~~~ [ 3910s] 1653 | * 1.Reduced x to positive by atanh(-x) = -atanh(x) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1654 | * 2.For x>=0.5 [ 3910s] | ~~~~~~~~~~~~~~~~~ [ 3910s] 1655 | * 1 2x x [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1656 | * atanh(x) = --- * log(1 + -------) = 0.5 * log1p(2 * --------) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1657 | * 2 1 - x 1 - x [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1658 | * [ 3910s] | ~ [ 3910s] 1659 | * For x<0.5 [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 1660 | * atanh(x) = 0.5*log1p(2x+2x*x/(1-x)) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1661 | * [ 3910s] | ~ [ 3910s] 1662 | * Special cases: [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 1663 | * atanh(x) is NaN if |x| > 1 with signal; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1664 | * atanh(NaN) is that NaN with no signal; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1665 | * atanh(+-1) is +-INF with signal. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1666 | * [ 3910s] | ~ [ 3910s] 1667 | */ [ 3910s] | ~~ [ 3910s] 1668 | double atanh(double x) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1669 | { [ 3910s] | ~ [ 3910s] 1670 | constexpr double one = 1.0, huge = 1e300; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1671 | constexpr double zero = 0.0; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1672 | [ 3910s] | [ 3910s] 1673 | double t; [ 3910s] | ~~~~~~~~~ [ 3910s] 1674 | int32_t hx, ix; [ 3910s] | ~~~~~~~~~~~~~~~ [ 3910s] 1675 | uint32_t lx; [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 1676 | EXTRACT_WORDS(hx, lx, x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1677 | ix = hx & 0x7FFFFFFF; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1678 | if ((ix | ((lx | -static_cast(lx)) >> 31)) > 0x3FF00000) /* |x|>1 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1679 | return (x - x) / (x - x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1680 | if (ix == 0x3FF00000) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1681 | return x / zero; [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 1682 | if (ix < 0x3E300000 && (huge + x) > zero) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1683 | return x; /* x<2**-28 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1684 | SET_HIGH_WORD(x, ix); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1685 | if (ix < 0x3FE00000) { /* x < 0.5 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1686 | t = x + x; [ 3910s] | ~~~~~~~~~~ [ 3910s] 1687 | t = 0.5 * log1p(t + t * x / (one - x)); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1688 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 1689 | t = 0.5 * log1p((x + x) / (one - x)); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1690 | } [ 3910s] | ~ [ 3910s] 1691 | if (hx >= 0) [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 1692 | return t; [ 3910s] | ~~~~~~~~~ [ 3910s] 1693 | else [ 3910s] | ~~~~ [ 3910s] 1694 | return -t; [ 3910s] | ~~~~~~~~~~ [ 3910s] 1695 | } [ 3910s] | ~ [ 3910s] 1696 | [ 3910s] | [ 3910s] 1697 | /* log(x) [ 3910s] | ~~~~~~~~~ [ 3910s] 1698 | * Return the logrithm of x [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1699 | * [ 3910s] | ~ [ 3910s] 1700 | * Method : [ 3910s] | ~~~~~~~~~~ [ 3910s] 1701 | * 1. Argument Reduction: find k and f such that [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1702 | * x = 2^k * (1+f), [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1703 | * where sqrt(2)/2 < 1+f < sqrt(2) . [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1704 | * [ 3910s] | ~ [ 3910s] 1705 | * 2. Approximation of log(1+f). [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1706 | * Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1707 | * = 2s + 2/3 s**3 + 2/5 s**5 + ....., [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1708 | * = 2s + s*R [ 3910s] | ~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1709 | * We use a special Reme algorithm on [0,0.1716] to generate [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1710 | * a polynomial of degree 14 to approximate R The maximum error [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1711 | * of this polynomial approximation is bounded by 2**-58.45. In [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1712 | * other words, [ 3910s] | ~~~~~~~~~~~~~~~ [ 3910s] 1713 | * 2 4 6 8 10 12 14 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1714 | * R(z) ~ Lg1*s +Lg2*s +Lg3*s +Lg4*s +Lg5*s +Lg6*s +Lg7*s [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1715 | * (the values of Lg1 to Lg7 are listed in the program) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1716 | * and [ 3910s] | ~~~~~~ [ 3910s] 1717 | * | 2 14 | -58.45 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1718 | * | Lg1*s +...+Lg7*s - R(z) | <= 2 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1719 | * | | [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1720 | * Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1721 | * In order to guarantee error in log below 1ulp, we compute log [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1722 | * by [ 3910s] | ~~~~~ [ 3910s] 1723 | * log(1+f) = f - s*(f - R) (if f is not too large) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1724 | * log(1+f) = f - (hfsq - s*(hfsq+R)). (better accuracy) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1725 | * [ 3910s] | ~ [ 3910s] 1726 | * 3. Finally, log(x) = k*ln2 + log(1+f). [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1727 | * = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo))) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1728 | * Here ln2 is split into two floating point number: [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1729 | * ln2_hi + ln2_lo, [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1730 | * where n*ln2_hi is always exact for |n| < 2000. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1731 | * [ 3910s] | ~ [ 3910s] 1732 | * Special cases: [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 1733 | * log(x) is NaN with signal if x < 0 (including -INF) ; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1734 | * log(+INF) is +INF; log(0) is -INF with signal; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1735 | * log(NaN) is that NaN with no signal. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1736 | * [ 3910s] | ~ [ 3910s] 1737 | * Accuracy: [ 3910s] | ~~~~~~~~~~~ [ 3910s] 1738 | * according to an error analysis, the error is always less than [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1739 | * 1 ulp (unit in the last place). [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1740 | * [ 3910s] | ~ [ 3910s] 1741 | * Constants: [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 1742 | * The hexadecimal values are the intended ones for the following [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1743 | * constants. The decimal values may be used, provided that the [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1744 | * compiler will convert from decimal to binary accurately enough [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1745 | * to produce the hexadecimal values shown. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1746 | */ [ 3910s] | ~~ [ 3910s] 1747 | double log(double x) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1748 | { [ 3910s] | ~ [ 3910s] 1749 | constexpr double /* -- */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1750 | ln2_hi [ 3910s] | ~~~~~~ [ 3910s] 1751 | = 6.93147180369123816490e-01, /* 3fe62e42 fee00000 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1752 | ln2_lo = 1.90821492927058770002e-10, /* 3dea39ef 35793c76 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1753 | two54 = 1.80143985094819840000e+16, /* 43500000 00000000 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1754 | Lg1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1755 | Lg2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1756 | Lg3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1757 | Lg4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1758 | Lg5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1759 | Lg6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1760 | Lg7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1761 | [ 3910s] | [ 3910s] 1762 | constexpr double zero = 0.0; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1763 | constexpr volatile double vzero = 0.0; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1764 | [ 3910s] | [ 3910s] 1765 | double hfsq, f, s, z, R, w, t1, t2, dk; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1766 | int32_t k, hx, i, j; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1767 | uint32_t lx; [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 1768 | [ 3910s] | [ 3910s] 1769 | EXTRACT_WORDS(hx, lx, x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1770 | [ 3910s] | [ 3910s] 1771 | k = 0; [ 3910s] | ~~~~~~ [ 3910s] 1772 | if (hx < 0x00100000) { /* x < 2**-1022 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1773 | if (((hx & 0x7FFFFFFF) | lx) == 0) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1774 | return -two54 / vzero; /* log(+-0)=-inf */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1775 | if (hx < 0) [ 3910s] | ~~~~~~~~~~~ [ 3910s] 1776 | return (x - x) / zero; /* log(-#) = NaN */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1777 | k -= 54; [ 3910s] | ~~~~~~~~ [ 3910s] 1778 | x *= two54; /* subnormal number, scale up x */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1779 | GET_HIGH_WORD(hx, x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1780 | } [ 3910s] | ~ [ 3910s] 1781 | if (hx >= 0x7FF00000) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1782 | return x + x; [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 1783 | k += (hx >> 20) - 1023; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1784 | hx &= 0x000FFFFF; [ 3910s] | ~~~~~~~~~~~~~~~~~ [ 3910s] 1785 | i = (hx + 0x95F64) & 0x100000; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1786 | SET_HIGH_WORD(x, hx | (i ^ 0x3FF00000)); /* normalize x or x/2 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1787 | k += (i >> 20); [ 3910s] | ~~~~~~~~~~~~~~~ [ 3910s] 1788 | f = x - 1.0; [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 1789 | if ((0x000FFFFF & (2 + hx)) < 3) { /* -2**-20 <= f < 2**-20 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1790 | if (f == zero) { [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 1791 | if (k == 0) { [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 1792 | return zero; [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 1793 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 1794 | dk = static_cast(k); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1795 | return dk * ln2_hi + dk * ln2_lo; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1796 | } [ 3910s] | ~ [ 3910s] 1797 | } [ 3910s] | ~ [ 3910s] 1798 | R = f * f * (0.5 - 0.33333333333333333 * f); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1799 | if (k == 0) { [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 1800 | return f - R; [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 1801 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 1802 | dk = static_cast(k); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1803 | return dk * ln2_hi - ((R - dk * ln2_lo) - f); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1804 | } [ 3910s] | ~ [ 3910s] 1805 | } [ 3910s] | ~ [ 3910s] 1806 | s = f / (2.0 + f); [ 3910s] | ~~~~~~~~~~~~~~~~~~ [ 3910s] 1807 | dk = static_cast(k); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1808 | z = s * s; [ 3910s] | ~~~~~~~~~~ [ 3910s] 1809 | i = hx - 0x6147A; [ 3910s] | ~~~~~~~~~~~~~~~~~ [ 3910s] 1810 | w = z * z; [ 3910s] | ~~~~~~~~~~ [ 3910s] 1811 | j = 0x6B851 - hx; [ 3910s] | ~~~~~~~~~~~~~~~~~ [ 3910s] 1812 | t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1813 | t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1814 | i |= j; [ 3910s] | ~~~~~~~ [ 3910s] 1815 | R = t2 + t1; [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 1816 | if (i > 0) { [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 1817 | hfsq = 0.5 * f * f; [ 3910s] | ~~~~~~~~~~~~~~~~~~~ [ 3910s] 1818 | if (k == 0) [ 3910s] | ~~~~~~~~~~~ [ 3910s] 1819 | return f - (hfsq - s * (hfsq + R)); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1820 | else [ 3910s] | ~~~~ [ 3910s] 1821 | return dk * ln2_hi - ((hfsq - (s * (hfsq + R) + dk * ln2_lo)) - f); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1822 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 1823 | if (k == 0) [ 3910s] | ~~~~~~~~~~~ [ 3910s] 1824 | return f - s * (f - R); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1825 | else [ 3910s] | ~~~~ [ 3910s] 1826 | return dk * ln2_hi - ((s * (f - R) - dk * ln2_lo) - f); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1827 | } [ 3910s] | ~ [ 3910s] 1828 | } [ 3910s] | ~ [ 3910s] 1829 | [ 3910s] | [ 3910s] 1830 | /* double log1p(double x) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1831 | * [ 3910s] | ~ [ 3910s] 1832 | * Method : [ 3910s] | ~~~~~~~~~~ [ 3910s] 1833 | * 1. Argument Reduction: find k and f such that [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1834 | * 1+x = 2^k * (1+f), [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1835 | * where sqrt(2)/2 < 1+f < sqrt(2) . [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1836 | * [ 3910s] | ~ [ 3910s] 1837 | * Note. If k=0, then f=x is exact. However, if k!=0, then f [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1838 | * may not be representable exactly. In that case, a correction [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1839 | * term is need. Let u=1+x rounded. Let c = (1+x)-u, then [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1840 | * log(1+x) - log(u) ~ c/u. Thus, we proceed to compute log(u), [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1841 | * and add back the correction term c/u. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1842 | * (Note: when x > 2**53, one can simply return log(x)) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1843 | * [ 3910s] | ~ [ 3910s] 1844 | * 2. Approximation of log1p(f). [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1845 | * Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1846 | * = 2s + 2/3 s**3 + 2/5 s**5 + ....., [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1847 | * = 2s + s*R [ 3910s] | ~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1848 | * We use a special Reme algorithm on [0,0.1716] to generate [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1849 | * a polynomial of degree 14 to approximate R The maximum error [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1850 | * of this polynomial approximation is bounded by 2**-58.45. In [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1851 | * other words, [ 3910s] | ~~~~~~~~~~~~~~~ [ 3910s] 1852 | * 2 4 6 8 10 12 14 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1853 | * R(z) ~ Lp1*s +Lp2*s +Lp3*s +Lp4*s +Lp5*s +Lp6*s +Lp7*s [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1854 | * (the values of Lp1 to Lp7 are listed in the program) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1855 | * and [ 3910s] | ~~~~~~ [ 3910s] 1856 | * | 2 14 | -58.45 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1857 | * | Lp1*s +...+Lp7*s - R(z) | <= 2 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1858 | * | | [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1859 | * Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1860 | * In order to guarantee error in log below 1ulp, we compute log [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1861 | * by [ 3910s] | ~~~~~ [ 3910s] 1862 | * log1p(f) = f - (hfsq - s*(hfsq+R)). [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1863 | * [ 3910s] | ~ [ 3910s] 1864 | * 3. Finally, log1p(x) = k*ln2 + log1p(f). [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1865 | * = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo))) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1866 | * Here ln2 is split into two floating point number: [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1867 | * ln2_hi + ln2_lo, [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1868 | * where n*ln2_hi is always exact for |n| < 2000. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1869 | * [ 3910s] | ~ [ 3910s] 1870 | * Special cases: [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 1871 | * log1p(x) is NaN with signal if x < -1 (including -INF) ; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1872 | * log1p(+INF) is +INF; log1p(-1) is -INF with signal; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1873 | * log1p(NaN) is that NaN with no signal. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1874 | * [ 3910s] | ~ [ 3910s] 1875 | * Accuracy: [ 3910s] | ~~~~~~~~~~~ [ 3910s] 1876 | * according to an error analysis, the error is always less than [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1877 | * 1 ulp (unit in the last place). [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1878 | * [ 3910s] | ~ [ 3910s] 1879 | * Constants: [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 1880 | * The hexadecimal values are the intended ones for the following [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1881 | * constants. The decimal values may be used, provided that the [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1882 | * compiler will convert from decimal to binary accurately enough [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1883 | * to produce the hexadecimal values shown. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1884 | * [ 3910s] | ~ [ 3910s] 1885 | * Note: Assuming log() return accurate answer, the following [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1886 | * algorithm can be used to compute log1p(x) to within a few ULP: [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1887 | * [ 3910s] | ~ [ 3910s] 1888 | * u = 1+x; [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 1889 | * if(u==1.0) return x ; else [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1890 | * return log(u)*(x/(u-1.0)); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1891 | * [ 3910s] | ~ [ 3910s] 1892 | * See HP-15C Advanced Functions Handbook, p.193. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1893 | */ [ 3910s] | ~~ [ 3910s] 1894 | double log1p(double x) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1895 | { [ 3910s] | ~ [ 3910s] 1896 | constexpr double /* -- */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1897 | ln2_hi [ 3910s] | ~~~~~~ [ 3910s] 1898 | = 6.93147180369123816490e-01, /* 3fe62e42 fee00000 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1899 | ln2_lo = 1.90821492927058770002e-10, /* 3dea39ef 35793c76 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1900 | two54 = 1.80143985094819840000e+16, /* 43500000 00000000 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1901 | Lp1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1902 | Lp2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1903 | Lp3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1904 | Lp4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1905 | Lp5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1906 | Lp6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1907 | Lp7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1908 | [ 3910s] | [ 3910s] 1909 | constexpr double zero = 0.0; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1910 | constexpr volatile double vzero = 0.0; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1911 | [ 3910s] | [ 3910s] 1912 | double hfsq, f, c, s, z, R, u; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1913 | int32_t k, hx, hu, ax; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1914 | [ 3910s] | [ 3910s] 1915 | GET_HIGH_WORD(hx, x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1916 | ax = hx & 0x7FFFFFFF; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1917 | [ 3910s] | [ 3910s] 1918 | c = 0; [ 3910s] | ~~~~~~ [ 3910s] 1919 | k = 1; [ 3910s] | ~~~~~~ [ 3910s] 1920 | if (hx < 0x3FDA827A) { /* 1+x < sqrt(2)+ */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1921 | if (ax >= 0x3FF00000) { /* x <= -1.0 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1922 | if (x == -1.0) [ 3910s] | ~~~~~~~~~~~~~~ [ 3910s] 1923 | return -two54 / vzero; /* log1p(-1)=+inf */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1924 | else [ 3910s] | ~~~~ [ 3910s] 1925 | return (x - x) / (x - x); /* log1p(x<-1)=NaN */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1926 | } [ 3910s] | ~ [ 3910s] 1927 | if (ax < 0x3E200000) { /* |x| < 2**-29 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1928 | if (two54 + x > zero /* raise inexact */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1929 | && ax < 0x3C900000) /* |x| < 2**-54 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1930 | return x; [ 3910s] | ~~~~~~~~~ [ 3910s] 1931 | else [ 3910s] | ~~~~ [ 3910s] 1932 | return x - x * x * 0.5; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1933 | } [ 3910s] | ~ [ 3910s] 1934 | if (hx > 0 || hx <= static_cast(0xBFD2BEC4)) { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1935 | k = 0; [ 3910s] | ~~~~~~ [ 3910s] 1936 | f = x; [ 3910s] | ~~~~~~ [ 3910s] 1937 | hu = 1; [ 3910s] | ~~~~~~~ [ 3910s] 1938 | } /* sqrt(2)/2- <= 1+x < sqrt(2)+ */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1939 | } [ 3910s] | ~ [ 3910s] 1940 | if (hx >= 0x7FF00000) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1941 | return x + x; [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 1942 | if (k != 0) { [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 1943 | if (hx < 0x43400000) { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1944 | STRICT_ASSIGN(double, u, 1.0 + x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1945 | GET_HIGH_WORD(hu, u); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1946 | k = (hu >> 20) - 1023; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1947 | c = (k > 0) ? 1.0 - (u - x) : x - (u - 1.0); /* correction term */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1948 | c /= u; [ 3910s] | ~~~~~~~ [ 3910s] 1949 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 1950 | u = x; [ 3910s] | ~~~~~~ [ 3910s] 1951 | GET_HIGH_WORD(hu, u); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1952 | k = (hu >> 20) - 1023; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1953 | c = 0; [ 3910s] | ~~~~~~ [ 3910s] 1954 | } [ 3910s] | ~ [ 3910s] 1955 | hu &= 0x000FFFFF; [ 3910s] | ~~~~~~~~~~~~~~~~~ [ 3910s] 1956 | /* [ 3910s] | ~~ [ 3910s] 1957 | * The approximation to sqrt(2) used in thresholds is not [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1958 | * critical. However, the ones used above must give less [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1959 | * strict bounds than the one here so that the k==0 case is [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1960 | * never reached from here, since here we have committed to [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1961 | * using the correction term but don't use it if k==0. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1962 | */ [ 3910s] | ~~ [ 3910s] 1963 | if (hu < 0x6A09E) { /* u ~< sqrt(2) */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1964 | SET_HIGH_WORD(u, hu | 0x3FF00000); /* normalize u */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1965 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 1966 | k += 1; [ 3910s] | ~~~~~~~ [ 3910s] 1967 | SET_HIGH_WORD(u, hu | 0x3FE00000); /* normalize u/2 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1968 | hu = (0x00100000 - hu) >> 2; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1969 | } [ 3910s] | ~ [ 3910s] 1970 | f = u - 1.0; [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 1971 | } [ 3910s] | ~ [ 3910s] 1972 | hfsq = 0.5 * f * f; [ 3910s] | ~~~~~~~~~~~~~~~~~~~ [ 3910s] 1973 | if (hu == 0) { /* |f| < 2**-20 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1974 | if (f == zero) { [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 1975 | if (k == 0) { [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 1976 | return zero; [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 1977 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 1978 | c += k * ln2_lo; [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 1979 | return k * ln2_hi + c; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1980 | } [ 3910s] | ~ [ 3910s] 1981 | } [ 3910s] | ~ [ 3910s] 1982 | R = hfsq * (1.0 - 0.66666666666666666 * f); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1983 | if (k == 0) [ 3910s] | ~~~~~~~~~~~ [ 3910s] 1984 | return f - R; [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 1985 | else [ 3910s] | ~~~~ [ 3910s] 1986 | return k * ln2_hi - ((R - (k * ln2_lo + c)) - f); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1987 | } [ 3910s] | ~ [ 3910s] 1988 | s = f / (2.0 + f); [ 3910s] | ~~~~~~~~~~~~~~~~~~ [ 3910s] 1989 | z = s * s; [ 3910s] | ~~~~~~~~~~ [ 3910s] 1990 | R = z * (Lp1 + z * (Lp2 + z * (Lp3 + z * (Lp4 + z * (Lp5 + z * (Lp6 + z * Lp7)))))); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1991 | if (k == 0) [ 3910s] | ~~~~~~~~~~~ [ 3910s] 1992 | return f - (hfsq - s * (hfsq + R)); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1993 | else [ 3910s] | ~~~~ [ 3910s] 1994 | return k * ln2_hi - ((hfsq - (s * (hfsq + R) + (k * ln2_lo + c))) - f); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 1995 | } [ 3910s] | ~ [ 3910s] 1996 | [ 3910s] | [ 3910s] 1997 | /* [ 3910s] | ~~ [ 3910s] 1998 | * k_log1p(f): [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 1999 | * Return log(1+f) - f for 1+f in ~[sqrt(2)/2, sqrt(2)]. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2000 | * [ 3910s] | ~ [ 3910s] 2001 | * The following describes the overall strategy for computing [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2002 | * logarithms in base e. The argument reduction and adding the final [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2003 | * term of the polynomial are done by the caller for increased accuracy [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2004 | * when different bases are used. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2005 | * [ 3910s] | ~ [ 3910s] 2006 | * Method : [ 3910s] | ~~~~~~~~~~ [ 3910s] 2007 | * 1. Argument Reduction: find k and f such that [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2008 | * x = 2^k * (1+f), [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2009 | * where sqrt(2)/2 < 1+f < sqrt(2) . [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2010 | * [ 3910s] | ~ [ 3910s] 2011 | * 2. Approximation of log(1+f). [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2012 | * Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2013 | * = 2s + 2/3 s**3 + 2/5 s**5 + ....., [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2014 | * = 2s + s*R [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2015 | * We use a special Reme algorithm on [0,0.1716] to generate [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2016 | * a polynomial of degree 14 to approximate R The maximum error [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2017 | * of this polynomial approximation is bounded by 2**-58.45. In [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2018 | * other words, [ 3910s] | ~~~~~~~~~~~~~~~~~~~ [ 3910s] 2019 | * 2 4 6 8 10 12 14 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2020 | * R(z) ~ Lg1*s +Lg2*s +Lg3*s +Lg4*s +Lg5*s +Lg6*s +Lg7*s [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2021 | * (the values of Lg1 to Lg7 are listed in the program) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2022 | * and [ 3910s] | ~~~~~~~~~~ [ 3910s] 2023 | * | 2 14 | -58.45 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2024 | * | Lg1*s +...+Lg7*s - R(z) | <= 2 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2025 | * | | [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2026 | * Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2027 | * In order to guarantee error in log below 1ulp, we compute log [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2028 | * by [ 3910s] | ~~~~~~~~~ [ 3910s] 2029 | * log(1+f) = f - s*(f - R) (if f is not too large) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2030 | * log(1+f) = f - (hfsq - s*(hfsq+R)). (better accuracy) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2031 | * [ 3910s] | ~ [ 3910s] 2032 | * 3. Finally, log(x) = k*ln2 + log(1+f). [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2033 | * = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo))) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2034 | * Here ln2 is split into two floating point number: [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2035 | * ln2_hi + ln2_lo, [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2036 | * where n*ln2_hi is always exact for |n| < 2000. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2037 | * [ 3910s] | ~ [ 3910s] 2038 | * Special cases: [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 2039 | * log(x) is NaN with signal if x < 0 (including -INF) ; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2040 | * log(+INF) is +INF; log(0) is -INF with signal; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2041 | * log(NaN) is that NaN with no signal. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2042 | * [ 3910s] | ~ [ 3910s] 2043 | * Accuracy: [ 3910s] | ~~~~~~~~~~~ [ 3910s] 2044 | * according to an error analysis, the error is always less than [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2045 | * 1 ulp (unit in the last place). [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2046 | * [ 3910s] | ~ [ 3910s] 2047 | * Constants: [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 2048 | * The hexadecimal values are the intended ones for the following [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2049 | * constants. The decimal values may be used, provided that the [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2050 | * compiler will convert from decimal to binary accurately enough [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2051 | * to produce the hexadecimal values shown. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2052 | */ [ 3910s] | ~~ [ 3910s] 2053 | [ 3910s] | [ 3910s] 2054 | constexpr double Lg1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2055 | Lg2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2056 | Lg3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2057 | Lg4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2058 | Lg5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2059 | Lg6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2060 | Lg7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2061 | [ 3910s] | [ 3910s] 2062 | /* [ 3910s] | ~~ [ 3910s] 2063 | * We always inline k_log1p(), since doing so produces a [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2064 | * substantial performance improvement (~40% on amd64). [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2065 | */ [ 3910s] | ~~ [ 3910s] 2066 | static inline double k_log1p(double f) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2067 | { [ 3910s] | ~ [ 3910s] 2068 | double hfsq, s, z, R, w, t1, t2; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2069 | [ 3910s] | [ 3910s] 2070 | s = f / (2.0 + f); [ 3910s] | ~~~~~~~~~~~~~~~~~~ [ 3910s] 2071 | z = s * s; [ 3910s] | ~~~~~~~~~~ [ 3910s] 2072 | w = z * z; [ 3910s] | ~~~~~~~~~~ [ 3910s] 2073 | t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2074 | t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2075 | R = t2 + t1; [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 2076 | hfsq = 0.5 * f * f; [ 3910s] | ~~~~~~~~~~~~~~~~~~~ [ 3910s] 2077 | return s * (hfsq + R); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2078 | } [ 3910s] | ~ [ 3910s] 2079 | [ 3910s] | [ 3910s] 2080 | /* [ 3910s] | ~~ [ 3910s] 2081 | * Return the base 2 logarithm of x. See e_log.c and k_log.h for most [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2082 | * comments. [ 3910s] | ~~~~~~~~~~~ [ 3910s] 2083 | * [ 3910s] | ~ [ 3910s] 2084 | * This reduces x to {k, 1+f} exactly as in e_log.c, then calls the kernel, [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2085 | * then does the combining and scaling steps [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2086 | * log2(x) = (f - 0.5*f*f + k_log1p(f)) / ln2 + k [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2087 | * in not-quite-routine extra precision. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2088 | */ [ 3910s] | ~~ [ 3910s] 2089 | double log2(double x) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2090 | { [ 3910s] | ~ [ 3910s] 2091 | constexpr double [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 2092 | two54 [ 3910s] | ~~~~~ [ 3910s] 2093 | = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2094 | ivln2hi = 1.44269504072144627571e+00, /* 0x3FF71547, 0x65200000 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2095 | ivln2lo = 1.67517131648865118353e-10; /* 0x3DE705FC, 0x2EEFA200 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2096 | [ 3910s] | [ 3910s] 2097 | constexpr double zero = 0.0; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2098 | constexpr volatile double vzero = 0.0; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2099 | [ 3910s] | [ 3910s] 2100 | double f, hfsq, hi, lo, r, val_hi, val_lo, w, y; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2101 | int32_t i, k, hx; [ 3910s] | ~~~~~~~~~~~~~~~~~ [ 3910s] 2102 | uint32_t lx; [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 2103 | [ 3910s] | [ 3910s] 2104 | EXTRACT_WORDS(hx, lx, x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2105 | [ 3910s] | [ 3910s] 2106 | k = 0; [ 3910s] | ~~~~~~ [ 3910s] 2107 | if (hx < 0x00100000) { /* x < 2**-1022 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2108 | if (((hx & 0x7FFFFFFF) | lx) == 0) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2109 | return -two54 / vzero; /* log(+-0)=-inf */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2110 | if (hx < 0) [ 3910s] | ~~~~~~~~~~~ [ 3910s] 2111 | return (x - x) / zero; /* log(-#) = NaN */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2112 | k -= 54; [ 3910s] | ~~~~~~~~ [ 3910s] 2113 | x *= two54; /* subnormal number, scale up x */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2114 | GET_HIGH_WORD(hx, x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2115 | } [ 3910s] | ~ [ 3910s] 2116 | if (hx >= 0x7FF00000) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2117 | return x + x; [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 2118 | if (hx == 0x3FF00000 && lx == 0) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2119 | return zero; /* log(1) = +0 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2120 | k += (hx >> 20) - 1023; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2121 | hx &= 0x000FFFFF; [ 3910s] | ~~~~~~~~~~~~~~~~~ [ 3910s] 2122 | i = (hx + 0x95F64) & 0x100000; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2123 | SET_HIGH_WORD(x, hx | (i ^ 0x3FF00000)); /* normalize x or x/2 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2124 | k += (i >> 20); [ 3910s] | ~~~~~~~~~~~~~~~ [ 3910s] 2125 | y = static_cast(k); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2126 | f = x - 1.0; [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 2127 | hfsq = 0.5 * f * f; [ 3910s] | ~~~~~~~~~~~~~~~~~~~ [ 3910s] 2128 | r = k_log1p(f); [ 3910s] | ~~~~~~~~~~~~~~~ [ 3910s] 2129 | [ 3910s] | [ 3910s] 2130 | /* [ 3910s] | ~~ [ 3910s] 2131 | * f-hfsq must (for args near 1) be evaluated in extra precision [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2132 | * to avoid a large cancellation when x is near sqrt(2) or 1/sqrt(2). [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2133 | * This is fairly efficient since f-hfsq only depends on f, so can [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2134 | * be evaluated in parallel with R. Not combining hfsq with R also [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2135 | * keeps R small (though not as small as a true `lo' term would be), [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2136 | * so that extra precision is not needed for terms involving R. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2137 | * [ 3910s] | ~ [ 3910s] 2138 | * Compiler bugs involving extra precision used to break Dekker's [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2139 | * theorem for spitting f-hfsq as hi+lo, unless double_t was used [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2140 | * or the multi-precision calculations were avoided when double_t [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2141 | * has extra precision. These problems are now automatically [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2142 | * avoided as a side effect of the optimization of combining the [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2143 | * Dekker splitting step with the clear-low-bits step. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2144 | * [ 3910s] | ~ [ 3910s] 2145 | * y must (for args near sqrt(2) and 1/sqrt(2)) be added in extra [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2146 | * precision to avoid a very large cancellation when x is very near [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2147 | * these values. Unlike the above cancellations, this problem is [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2148 | * specific to base 2. It is strange that adding +-1 is so much [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2149 | * harder than adding +-ln2 or +-log10_2. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2150 | * [ 3910s] | ~ [ 3910s] 2151 | * This uses Dekker's theorem to normalize y+val_hi, so the [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2152 | * compiler bugs are back in some configurations, sigh. And I [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2153 | * don't want to used double_t to avoid them, since that gives a [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2154 | * pessimization and the support for avoiding the pessimization [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2155 | * is not yet available. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2156 | * [ 3910s] | ~ [ 3910s] 2157 | * The multi-precision calculations for the multiplications are [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2158 | * routine. [ 3910s] | ~~~~~~~~~~ [ 3910s] 2159 | */ [ 3910s] | ~~ [ 3910s] 2160 | hi = f - hfsq; [ 3910s] | ~~~~~~~~~~~~~~ [ 3910s] 2161 | SET_LOW_WORD(hi, 0); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2162 | lo = (f - hi) - hfsq + r; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2163 | val_hi = hi * ivln2hi; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2164 | val_lo = (lo + hi) * ivln2lo + lo * ivln2hi; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2165 | [ 3910s] | [ 3910s] 2166 | /* spadd(val_hi, val_lo, y), except for not using double_t: */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2167 | w = y + val_hi; [ 3910s] | ~~~~~~~~~~~~~~~ [ 3910s] 2168 | val_lo += (y - w) + val_hi; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2169 | val_hi = w; [ 3910s] | ~~~~~~~~~~~ [ 3910s] 2170 | [ 3910s] | [ 3910s] 2171 | return val_lo + val_hi; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2172 | } [ 3910s] | ~ [ 3910s] 2173 | [ 3910s] | [ 3910s] 2174 | /* [ 3910s] | ~~ [ 3910s] 2175 | * Return the base 10 logarithm of x [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2176 | * [ 3910s] | ~ [ 3910s] 2177 | * Method : [ 3910s] | ~~~~~~~~~~ [ 3910s] 2178 | * Let log10_2hi = leading 40 bits of log10(2) and [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2179 | * log10_2lo = log10(2) - log10_2hi, [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2180 | * ivln10 = 1/log(10) rounded. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2181 | * Then [ 3910s] | ~~~~~~~~~~~ [ 3910s] 2182 | * n = ilogb(x), [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2183 | * if(n<0) n = n+1; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2184 | * x = scalbn(x,-n); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2185 | * log10(x) := n*log10_2hi + (n*log10_2lo + ivln10*log(x)) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2186 | * [ 3910s] | ~ [ 3910s] 2187 | * Note 1: [ 3910s] | ~~~~~~~~~~ [ 3910s] 2188 | * To guarantee log10(10**n)=n, where 10**n is normal, the rounding [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2189 | * mode must set to Round-to-Nearest. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2190 | * Note 2: [ 3910s] | ~~~~~~~~~~ [ 3910s] 2191 | * [1/log(10)] rounded to 53 bits has error .198 ulps; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2192 | * log10 is monotonic at all binary break points. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2193 | * [ 3910s] | ~ [ 3910s] 2194 | * Special cases: [ 3910s] | ~~~~~~~~~~~~~~~~~ [ 3910s] 2195 | * log10(x) is NaN if x < 0; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2196 | * log10(+INF) is +INF; log10(0) is -INF; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2197 | * log10(NaN) is that NaN; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2198 | * log10(10**N) = N for N=0,1,...,22. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2199 | */ [ 3910s] | ~~ [ 3910s] 2200 | double log10(double x) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2201 | { [ 3910s] | ~ [ 3910s] 2202 | constexpr double [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 2203 | two54 [ 3910s] | ~~~~~ [ 3910s] 2204 | = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2205 | ivln10 = 4.34294481903251816668e-01, [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2206 | log10_2hi = 3.01029995663611771306e-01, /* 0x3FD34413, 0x509F6000 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2207 | log10_2lo = 3.69423907715893078616e-13; /* 0x3D59FEF3, 0x11F12B36 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2208 | [ 3910s] | [ 3910s] 2209 | constexpr double zero = 0.0; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2210 | constexpr volatile double vzero = 0.0; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2211 | [ 3910s] | [ 3910s] 2212 | double y; [ 3910s] | ~~~~~~~~~ [ 3910s] 2213 | int32_t i, k, hx; [ 3910s] | ~~~~~~~~~~~~~~~~~ [ 3910s] 2214 | uint32_t lx; [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 2215 | [ 3910s] | [ 3910s] 2216 | EXTRACT_WORDS(hx, lx, x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2217 | [ 3910s] | [ 3910s] 2218 | k = 0; [ 3910s] | ~~~~~~ [ 3910s] 2219 | if (hx < 0x00100000) { /* x < 2**-1022 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2220 | if (((hx & 0x7FFFFFFF) | lx) == 0) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2221 | return -two54 / vzero; /* log(+-0)=-inf */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2222 | if (hx < 0) [ 3910s] | ~~~~~~~~~~~ [ 3910s] 2223 | return (x - x) / zero; /* log(-#) = NaN */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2224 | k -= 54; [ 3910s] | ~~~~~~~~ [ 3910s] 2225 | x *= two54; /* subnormal number, scale up x */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2226 | GET_HIGH_WORD(hx, x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2227 | GET_LOW_WORD(lx, x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2228 | } [ 3910s] | ~ [ 3910s] 2229 | if (hx >= 0x7FF00000) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2230 | return x + x; [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 2231 | if (hx == 0x3FF00000 && lx == 0) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2232 | return zero; /* log(1) = +0 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2233 | k += (hx >> 20) - 1023; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2234 | [ 3910s] | [ 3910s] 2235 | i = (k & 0x80000000) >> 31; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2236 | hx = (hx & 0x000FFFFF) | ((0x3FF - i) << 20); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2237 | y = k + i; [ 3910s] | ~~~~~~~~~~ [ 3910s] 2238 | SET_HIGH_WORD(x, hx); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2239 | SET_LOW_WORD(x, lx); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2240 | [ 3910s] | [ 3910s] 2241 | double z = y * log10_2lo + ivln10 * log(x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2242 | return z + y * log10_2hi; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2243 | } [ 3910s] | ~ [ 3910s] 2244 | [ 3910s] | [ 3910s] 2245 | /* expm1(x) [ 3910s] | ~~~~~~~~~~~ [ 3910s] 2246 | * Returns exp(x)-1, the exponential of x minus 1. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2247 | * [ 3910s] | ~ [ 3910s] 2248 | * Method [ 3910s] | ~~~~~~~~ [ 3910s] 2249 | * 1. Argument reduction: [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2250 | * Given x, find r and integer k such that [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2251 | * [ 3910s] | ~ [ 3910s] 2252 | * x = k*ln2 + r, |r| <= 0.5*ln2 ~ 0.34658 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2253 | * [ 3910s] | ~ [ 3910s] 2254 | * Here a correction term c will be computed to compensate [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2255 | * the error in r when rounded to a floating-point number. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2256 | * [ 3910s] | ~ [ 3910s] 2257 | * 2. Approximating expm1(r) by a special rational function on [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2258 | * the interval [0,0.34658]: [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2259 | * Since [ 3910s] | ~~~~~~~~ [ 3910s] 2260 | * r*(exp(r)+1)/(exp(r)-1) = 2+ r^2/6 - r^4/360 + ... [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2261 | * we define R1(r*r) by [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2262 | * r*(exp(r)+1)/(exp(r)-1) = 2+ r^2/6 * R1(r*r) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2263 | * That is, [ 3910s] | ~~~~~~~~~~~ [ 3910s] 2264 | * R1(r**2) = 6/r *((exp(r)+1)/(exp(r)-1) - 2/r) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2265 | * = 6/r * ( 1 + 2.0*(1/(exp(r)-1) - 1/r)) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2266 | * = 1 - r^2/60 + r^4/2520 - r^6/100800 + ... [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2267 | * We use a special Reme algorithm on [0,0.347] to generate [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2268 | * a polynomial of degree 5 in r*r to approximate R1. The [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2269 | * maximum error of this polynomial approximation is bounded [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2270 | * by 2**-61. In other words, [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2271 | * R1(z) ~ 1.0 + Q1*z + Q2*z**2 + Q3*z**3 + Q4*z**4 + Q5*z**5 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2272 | * where Q1 = -1.6666666666666567384E-2, [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2273 | * Q2 = 3.9682539681370365873E-4, [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2274 | * Q3 = -9.9206344733435987357E-6, [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2275 | * Q4 = 2.5051361420808517002E-7, [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2276 | * Q5 = -6.2843505682382617102E-9; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2277 | * z = r*r, [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 2278 | * with error bounded by [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2279 | * | 5 | -61 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2280 | * | 1.0+Q1*z+...+Q5*z - R1(z) | <= 2 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2281 | * | | [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2282 | * [ 3910s] | ~ [ 3910s] 2283 | * expm1(r) = exp(r)-1 is then computed by the following [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2284 | * specific way which minimize the accumulation rounding error: [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2285 | * 2 3 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2286 | * r r [ 3 - (R1 + R1*r/2) ] [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2287 | * expm1(r) = r + --- + --- * [--------------------] [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2288 | * 2 2 [ 6 - r*(3 - R1*r/2) ] [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2289 | * [ 3910s] | ~ [ 3910s] 2290 | * To compensate the error in the argument reduction, we use [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2291 | * expm1(r+c) = expm1(r) + c + expm1(r)*c [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2292 | * ~ expm1(r) + c + r*c [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2293 | * Thus c+r*c will be added in as the correction terms for [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2294 | * expm1(r+c). Now rearrange the term to avoid optimization [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2295 | * screw up: [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 2296 | * ( 2 2 ) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2297 | * ({ ( r [ R1 - (3 - R1*r/2) ] ) } r ) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2298 | * expm1(r+c)~r - ({r*(--- * [--------------------]-c)-c} - --- ) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2299 | * ({ ( 2 [ 6 - r*(3 - R1*r/2) ] ) } 2 ) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2300 | * ( ) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2301 | * [ 3910s] | ~ [ 3910s] 2302 | * = r - E [ 3910s] | ~~~~~~~~~~~~~~~ [ 3910s] 2303 | * 3. Scale back to obtain expm1(x): [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2304 | * From step 1, we have [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2305 | * expm1(x) = either 2^k*[expm1(r)+1] - 1 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2306 | * = or 2^k*[expm1(r) + (1-2^-k)] [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2307 | * 4. Implementation notes: [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2308 | * (A). To save one multiplication, we scale the coefficient Qi [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2309 | * to Qi*2^i, and replace z by (x^2)/2. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2310 | * (B). To achieve maximum accuracy, we compute expm1(x) by [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2311 | * (i) if x < -56*ln2, return -1.0, (raise inexact if x!=inf) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2312 | * (ii) if k=0, return r-E [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2313 | * (iii) if k=-1, return 0.5*(r-E)-0.5 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2314 | * (iv) if k=1 if r < -0.25, return 2*((r+0.5)- E) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2315 | * else return 1.0+2.0*(r-E); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2316 | * (v) if (k<-2||k>56) return 2^k(1-(E-r)) - 1 (or exp(x)-1) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2317 | * (vi) if k <= 20, return 2^k((1-2^-k)-(E-r)), else [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2318 | * (vii) return 2^k(1-((E+2^-k)-r)) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2319 | * [ 3910s] | ~ [ 3910s] 2320 | * Special cases: [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 2321 | * expm1(INF) is INF, expm1(NaN) is NaN; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2322 | * expm1(-INF) is -1, and [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2323 | * for finite argument, only expm1(0)=0 is exact. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2324 | * [ 3910s] | ~ [ 3910s] 2325 | * Accuracy: [ 3910s] | ~~~~~~~~~~~ [ 3910s] 2326 | * according to an error analysis, the error is always less than [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2327 | * 1 ulp (unit in the last place). [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2328 | * [ 3910s] | ~ [ 3910s] 2329 | * Misc. info. [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 2330 | * For IEEE double [ 3910s] | ~~~~~~~~~~~~~~~~~~ [ 3910s] 2331 | * if x > 7.09782712893383973096e+02 then expm1(x) overflow [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2332 | * [ 3910s] | ~ [ 3910s] 2333 | * Constants: [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 2334 | * The hexadecimal values are the intended ones for the following [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2335 | * constants. The decimal values may be used, provided that the [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2336 | * compiler will convert from decimal to binary accurately enough [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2337 | * to produce the hexadecimal values shown. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2338 | */ [ 3910s] | ~~ [ 3910s] 2339 | double expm1(double x) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2340 | { [ 3910s] | ~ [ 3910s] 2341 | constexpr double [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 2342 | one [ 3910s] | ~~~ [ 3910s] 2343 | = 1.0, [ 3910s] | ~~~~~~ [ 3910s] 2344 | tiny = 1.0e-300, [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 2345 | o_threshold = 7.09782712893383973096e+02, /* 0x40862E42, 0xFEFA39EF */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2346 | ln2_hi = 6.93147180369123816490e-01, /* 0x3FE62E42, 0xFEE00000 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2347 | ln2_lo = 1.90821492927058770002e-10, /* 0x3DEA39EF, 0x35793C76 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2348 | invln2 = 1.44269504088896338700e+00, /* 0x3FF71547, 0x652B82FE */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2349 | /* Scaled Q's: Qn_here = 2**n * Qn_above, for R(2*z) where z = hxs = [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2350 | x*x/2: */ [ 3910s] | ~~~~~~~~~ [ 3910s] 2351 | Q1 = -3.33333333333331316428e-02, /* BFA11111 111110F4 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2352 | Q2 = 1.58730158725481460165e-03, /* 3F5A01A0 19FE5585 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2353 | Q3 = -7.93650757867487942473e-05, /* BF14CE19 9EAADBB7 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2354 | Q4 = 4.00821782732936239552e-06, /* 3ED0CFCA 86E65239 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2355 | Q5 = -2.01099218183624371326e-07; /* BE8AFDB7 6E09C32D */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2356 | [ 3910s] | [ 3910s] 2357 | constexpr volatile double huge = 1.0e+300; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2358 | [ 3910s] | [ 3910s] 2359 | double y, hi, lo, c, t, e, hxs, hfx, r1, twopk; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2360 | int32_t k, xsb; [ 3910s] | ~~~~~~~~~~~~~~~ [ 3910s] 2361 | uint32_t hx; [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 2362 | [ 3910s] | [ 3910s] 2363 | GET_HIGH_WORD(hx, x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2364 | xsb = hx & 0x80000000; /* sign bit of x */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2365 | hx &= 0x7FFFFFFF; /* high word of |x| */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2366 | [ 3910s] | [ 3910s] 2367 | /* filter out huge and non-finite argument */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2368 | if (hx >= 0x4043687A) { /* if |x|>=56*ln2 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2369 | if (hx >= 0x40862E42) { /* if |x|>=709.78... */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2370 | if (hx >= 0x7FF00000) { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2371 | uint32_t low; [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 2372 | GET_LOW_WORD(low, x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2373 | if (((hx & 0xFFFFF) | low) != 0) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2374 | return x + x; /* NaN */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2375 | else [ 3910s] | ~~~~ [ 3910s] 2376 | return (xsb == 0) ? x : -1.0; /* exp(+-inf)={inf,-1} */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2377 | } [ 3910s] | ~ [ 3910s] 2378 | if (x > o_threshold) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2379 | return huge * huge; /* overflow */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2380 | } [ 3910s] | ~ [ 3910s] 2381 | if (xsb != 0 && x + tiny < 0.0) { /* x < -56*ln2, return -1.0 with inexact */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2382 | /* raise inexact */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~ [ 3910s] 2383 | return tiny - one; /* return -1 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2384 | } [ 3910s] | ~ [ 3910s] 2385 | } [ 3910s] | ~ [ 3910s] 2386 | [ 3910s] | [ 3910s] 2387 | /* argument reduction */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2388 | if (hx > 0x3FD62E42) { /* if |x| > 0.5 ln2 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2389 | if (hx < 0x3FF0A2B2) { /* and |x| < 1.5 ln2 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2390 | if (xsb == 0) { [ 3910s] | ~~~~~~~~~~~~~~~ [ 3910s] 2391 | hi = x - ln2_hi; [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 2392 | lo = ln2_lo; [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 2393 | k = 1; [ 3910s] | ~~~~~~ [ 3910s] 2394 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 2395 | hi = x + ln2_hi; [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 2396 | lo = -ln2_lo; [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 2397 | k = -1; [ 3910s] | ~~~~~~~ [ 3910s] 2398 | } [ 3910s] | ~ [ 3910s] 2399 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 2400 | k = invln2 * x + ((xsb == 0) ? 0.5 : -0.5); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2401 | t = k; [ 3910s] | ~~~~~~ [ 3910s] 2402 | hi = x - t * ln2_hi; /* t*ln2_hi is exact here */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2403 | lo = t * ln2_lo; [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 2404 | } [ 3910s] | ~ [ 3910s] 2405 | STRICT_ASSIGN(double, x, hi - lo); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2406 | c = (hi - x) - lo; [ 3910s] | ~~~~~~~~~~~~~~~~~~ [ 3910s] 2407 | } else if (hx < 0x3C900000) { /* when |x|<2**-54, return x */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2408 | t = huge + x; /* return x with inexact flags when x!=0 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2409 | return x - (t - (huge + x)); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2410 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 2411 | k = 0; [ 3910s] | ~~~~~~ [ 3910s] 2412 | } [ 3910s] | ~ [ 3910s] 2413 | [ 3910s] | [ 3910s] 2414 | /* x is now in primary range */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2415 | hfx = 0.5 * x; [ 3910s] | ~~~~~~~~~~~~~~ [ 3910s] 2416 | hxs = x * hfx; [ 3910s] | ~~~~~~~~~~~~~~ [ 3910s] 2417 | r1 = one + hxs * (Q1 + hxs * (Q2 + hxs * (Q3 + hxs * (Q4 + hxs * Q5)))); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2418 | t = 3.0 - r1 * hfx; [ 3910s] | ~~~~~~~~~~~~~~~~~~~ [ 3910s] 2419 | e = hxs * ((r1 - t) / (6.0 - x * t)); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2420 | if (k == 0) { [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 2421 | return x - (x * e - hxs); /* c is 0 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2422 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 2423 | INSERT_WORDS(twopk, 0x3FF00000 + (k << 20), 0); /* 2^k */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2424 | e = (x * (e - c) - c); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2425 | e -= hxs; [ 3910s] | ~~~~~~~~~ [ 3910s] 2426 | if (k == -1) [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 2427 | return 0.5 * (x - e) - 0.5; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2428 | if (k == 1) { [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 2429 | if (x < -0.25) [ 3910s] | ~~~~~~~~~~~~~~ [ 3910s] 2430 | return -2.0 * (e - (x + 0.5)); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2431 | else [ 3910s] | ~~~~ [ 3910s] 2432 | return one + 2.0 * (x - e); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2433 | } [ 3910s] | ~ [ 3910s] 2434 | if (k <= -2 || k > 56) { /* suffice to return exp(x)-1 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2435 | y = one - (e - x); [ 3910s] | ~~~~~~~~~~~~~~~~~~ [ 3910s] 2436 | // TODO(mvstanton): is this replacement for the hex float [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2437 | // sufficient? [ 3910s] | ~~~~~~~~~~~~~~ [ 3910s] 2438 | // if (k == 1024) y = y*2.0*0x1p1023; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2439 | if (k == 1024) [ 3910s] | ~~~~~~~~~~~~~~ [ 3910s] 2440 | y = y * 2.0 * 8.98846567431158e+307; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2441 | else [ 3910s] | ~~~~ [ 3910s] 2442 | y = y * twopk; [ 3910s] | ~~~~~~~~~~~~~~ [ 3910s] 2443 | return y - one; [ 3910s] | ~~~~~~~~~~~~~~~ [ 3910s] 2444 | } [ 3910s] | ~ [ 3910s] 2445 | t = one; [ 3910s] | ~~~~~~~~ [ 3910s] 2446 | if (k < 20) { [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 2447 | SET_HIGH_WORD(t, 0x3FF00000 - (0x200000 >> k)); /* t=1-2^-k */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2448 | y = t - (e - x); [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 2449 | y = y * twopk; [ 3910s] | ~~~~~~~~~~~~~~ [ 3910s] 2450 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 2451 | SET_HIGH_WORD(t, ((0x3FF - k) << 20)); /* 2^-k */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2452 | y = x - (e + t); [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 2453 | y += one; [ 3910s] | ~~~~~~~~~ [ 3910s] 2454 | y = y * twopk; [ 3910s] | ~~~~~~~~~~~~~~ [ 3910s] 2455 | } [ 3910s] | ~ [ 3910s] 2456 | } [ 3910s] | ~ [ 3910s] 2457 | return y; [ 3910s] | ~~~~~~~~~ [ 3910s] 2458 | } [ 3910s] | ~ [ 3910s] 2459 | [ 3910s] | [ 3910s] 2460 | double cbrt(double x) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2461 | { [ 3910s] | ~ [ 3910s] 2462 | constexpr uint32_t [ 3910s] | ~~~~~~~~~~~~~~~~~~ [ 3910s] 2463 | B1 [ 3910s] | ~~ [ 3910s] 2464 | = 715094163, /* B1 = (1023-1023/3-0.03306235651)*2**20 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2465 | B2 = 696219795; /* B2 = (1023-1023/3-54/3-0.03306235651)*2**20 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2466 | [ 3910s] | [ 3910s] 2467 | /* |1/cbrt(x) - p(x)| < 2**-23.5 (~[-7.93e-8, 7.929e-8]). */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2468 | constexpr double P0 = 1.87595182427177009643, /* 0x3FFE03E6, 0x0F61E692 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2469 | P1 = -1.88497979543377169875, /* 0xBFFE28E0, 0x92F02420 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2470 | P2 = 1.621429720105354466140, /* 0x3FF9F160, 0x4A49D6C2 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2471 | P3 = -0.758397934778766047437, /* 0xBFE844CB, 0xBEE751D9 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2472 | P4 = 0.145996192886612446982; /* 0x3FC2B000, 0xD4E4EDD7 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2473 | [ 3910s] | [ 3910s] 2474 | int32_t hx; [ 3910s] | ~~~~~~~~~~~ [ 3910s] 2475 | union { [ 3910s] | ~~~~~~~ [ 3910s] 2476 | double value; [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 2477 | uint64_t bits; [ 3910s] | ~~~~~~~~~~~~~~ [ 3910s] 2478 | } u; [ 3910s] | ~~~~ [ 3910s] 2479 | double r, s, t = 0.0, w; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2480 | uint32_t sign; [ 3910s] | ~~~~~~~~~~~~~~ [ 3910s] 2481 | uint32_t high, low; [ 3910s] | ~~~~~~~~~~~~~~~~~~~ [ 3910s] 2482 | [ 3910s] | [ 3910s] 2483 | EXTRACT_WORDS(hx, low, x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2484 | sign = hx & 0x80000000; /* sign= sign(x) */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2485 | hx ^= sign; [ 3910s] | ~~~~~~~~~~~ [ 3910s] 2486 | if (hx >= 0x7FF00000) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2487 | return (x + x); /* cbrt(NaN,INF) is itself */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2488 | [ 3910s] | [ 3910s] 2489 | /* [ 3910s] | ~~ [ 3910s] 2490 | * Rough cbrt to 5 bits: [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2491 | * cbrt(2**e*(1+m) ~= 2**(e/3)*(1+(e%3+m)/3) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2492 | * where e is integral and >= 0, m is real and in [0, 1), and "/" and [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2493 | * "%" are integer division and modulus with rounding towards minus [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2494 | * infinity. The RHS is always >= the LHS and has a maximum relative [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2495 | * error of about 1 in 16. Adding a bias of -0.03306235651 to the [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2496 | * (e%3+m)/3 term reduces the error to about 1 in 32. With the IEEE [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2497 | * floating point representation, for finite positive normal values, [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2498 | * ordinary integer division of the value in bits magically gives [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2499 | * almost exactly the RHS of the above provided we first subtract the [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2500 | * exponent bias (1023 for doubles) and later add it back. We do the [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2501 | * subtraction virtually to keep e >= 0 so that ordinary integer [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2502 | * division rounds towards minus infinity; this is also efficient. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2503 | */ [ 3910s] | ~~ [ 3910s] 2504 | if (hx < 0x00100000) { /* zero or subnormal? */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2505 | if ((hx | low) == 0) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2506 | return (x); /* cbrt(0) is itself */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2507 | SET_HIGH_WORD(t, 0x43500000); /* set t= 2**54 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2508 | t *= x; [ 3910s] | ~~~~~~~ [ 3910s] 2509 | GET_HIGH_WORD(high, t); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2510 | INSERT_WORDS(t, sign | ((high & 0x7FFFFFFF) / 3 + B2), 0); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2511 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 2512 | INSERT_WORDS(t, sign | (hx / 3 + B1), 0); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2513 | } [ 3910s] | ~ [ 3910s] 2514 | [ 3910s] | [ 3910s] 2515 | /* [ 3910s] | ~~ [ 3910s] 2516 | * New cbrt to 23 bits: [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2517 | * cbrt(x) = t*cbrt(x/t**3) ~= t*P(t**3/x) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2518 | * where P(r) is a polynomial of degree 4 that approximates 1/cbrt(r) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2519 | * to within 2**-23.5 when |r - 1| < 1/10. The rough approximation [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2520 | * has produced t such than |t/cbrt(x) - 1| ~< 1/32, and cubing this [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2521 | * gives us bounds for r = t**3/x. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2522 | * [ 3910s] | ~ [ 3910s] 2523 | * Try to optimize for parallel evaluation as in k_tanf.c. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2524 | */ [ 3910s] | ~~ [ 3910s] 2525 | r = (t * t) * (t / x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2526 | t = t * ((P0 + r * (P1 + r * P2)) + ((r * r) * r) * (P3 + r * P4)); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2527 | [ 3910s] | [ 3910s] 2528 | /* [ 3910s] | ~~ [ 3910s] 2529 | * Round t away from zero to 23 bits (sloppily except for ensuring that [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2530 | * the result is larger in magnitude than cbrt(x) but not much more than [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2531 | * 2 23-bit ulps larger). With rounding towards zero, the error bound [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2532 | * would be ~5/6 instead of ~4/6. With a maximum error of 2 23-bit ulps [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2533 | * in the rounded t, the infinite-precision error in the Newton [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2534 | * approximation barely affects third digit in the final error [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2535 | * 0.667; the error in the rounded t can be up to about 3 23-bit ulps [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2536 | * before the final error is larger than 0.667 ulps. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2537 | */ [ 3910s] | ~~ [ 3910s] 2538 | u.value = t; [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 2539 | u.bits = (u.bits + 0x80000000) & 0xFFFFFFFFC0000000ULL; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2540 | t = u.value; [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 2541 | [ 3910s] | [ 3910s] 2542 | /* one step Newton iteration to 53 bits with error < 0.667 ulps */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2543 | s = t * t; /* t*t is exact */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2544 | r = x / s; /* error <= 0.5 ulps; |r| < |t| */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2545 | w = t + t; /* t+t is exact */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2546 | r = (r - t) / (w + r); /* r-t is exact; w+r ~= 3*t */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2547 | t = t + t * r; /* error <= 0.5 + 0.5/3 + epsilon */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2548 | [ 3910s] | [ 3910s] 2549 | return (t); [ 3910s] | ~~~~~~~~~~~ [ 3910s] 2550 | } [ 3910s] | ~ [ 3910s] 2551 | [ 3910s] | [ 3910s] 2552 | /* sin(x) [ 3910s] | ~~~~~~~~~ [ 3910s] 2553 | * Return sine function of x. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2554 | * [ 3910s] | ~ [ 3910s] 2555 | * kernel function: [ 3910s] | ~~~~~~~~~~~~~~~~~~ [ 3910s] 2556 | * __kernel_sin ... sine function on [-pi/4,pi/4] [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2557 | * __kernel_cos ... cose function on [-pi/4,pi/4] [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2558 | * __ieee754_rem_pio2 ... argument reduction routine [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2559 | * [ 3910s] | ~ [ 3910s] 2560 | * Method. [ 3910s] | ~~~~~~~~~ [ 3910s] 2561 | * Let S,C and T denote the sin, cos and tan respectively on [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2562 | * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2563 | * in [-pi/4 , +pi/4], and let n = k mod 4. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2564 | * We have [ 3910s] | ~~~~~~~~~~~~~~ [ 3910s] 2565 | * [ 3910s] | ~ [ 3910s] 2566 | * n sin(x) cos(x) tan(x) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2567 | * ---------------------------------------------------------- [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2568 | * 0 S C T [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2569 | * 1 C -S -1/T [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2570 | * 2 -S -C T [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2571 | * 3 -C S -1/T [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2572 | * ---------------------------------------------------------- [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2573 | * [ 3910s] | ~ [ 3910s] 2574 | * Special cases: [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 2575 | * Let trig be any of sin, cos, or tan. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2576 | * trig(+-INF) is NaN, with signals; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2577 | * trig(NaN) is that NaN; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2578 | * [ 3910s] | ~ [ 3910s] 2579 | * Accuracy: [ 3910s] | ~~~~~~~~~~~ [ 3910s] 2580 | * TRIG(x) returns trig(x) nearly rounded [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2581 | */ [ 3910s] | ~~ [ 3910s] 2582 | double sin(double x) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2583 | { [ 3910s] | ~ [ 3910s] 2584 | double y[2], z = 0.0; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2585 | int32_t n, ix; [ 3910s] | ~~~~~~~~~~~~~~ [ 3910s] 2586 | [ 3910s] | [ 3910s] 2587 | /* High word of x. */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2588 | GET_HIGH_WORD(ix, x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2589 | [ 3910s] | [ 3910s] 2590 | /* |x| ~< pi/4 */ [ 3910s] | ~~~~~~~~~~~~~~~~~ [ 3910s] 2591 | ix &= 0x7FFFFFFF; [ 3910s] | ~~~~~~~~~~~~~~~~~ [ 3910s] 2592 | if (ix <= 0x3FE921FB) { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2593 | return __kernel_sin(x, z, 0); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2594 | } else if (ix >= 0x7FF00000) { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2595 | /* sin(Inf or NaN) is NaN */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2596 | return x - x; [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 2597 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 2598 | /* argument reduction needed */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2599 | n = __ieee754_rem_pio2(x, y); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2600 | switch (n & 3) { [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 2601 | case 0: [ 3910s] | ~~~~~~~ [ 3910s] 2602 | return __kernel_sin(y[0], y[1], 1); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2603 | case 1: [ 3910s] | ~~~~~~~ [ 3910s] 2604 | return __kernel_cos(y[0], y[1]); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2605 | case 2: [ 3910s] | ~~~~~~~ [ 3910s] 2606 | return -__kernel_sin(y[0], y[1], 1); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2607 | default: [ 3910s] | ~~~~~~~~ [ 3910s] 2608 | return -__kernel_cos(y[0], y[1]); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2609 | } [ 3910s] | ~ [ 3910s] 2610 | } [ 3910s] | ~ [ 3910s] 2611 | } [ 3910s] | ~ [ 3910s] 2612 | [ 3910s] | [ 3910s] 2613 | /* tan(x) [ 3910s] | ~~~~~~~~~ [ 3910s] 2614 | * Return tangent function of x. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2615 | * [ 3910s] | ~ [ 3910s] 2616 | * kernel function: [ 3910s] | ~~~~~~~~~~~~~~~~~~ [ 3910s] 2617 | * __kernel_tan ... tangent function on [-pi/4,pi/4] [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2618 | * __ieee754_rem_pio2 ... argument reduction routine [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2619 | * [ 3910s] | ~ [ 3910s] 2620 | * Method. [ 3910s] | ~~~~~~~~~ [ 3910s] 2621 | * Let S,C and T denote the sin, cos and tan respectively on [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2622 | * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2623 | * in [-pi/4 , +pi/4], and let n = k mod 4. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2624 | * We have [ 3910s] | ~~~~~~~~~~~~~~ [ 3910s] 2625 | * [ 3910s] | ~ [ 3910s] 2626 | * n sin(x) cos(x) tan(x) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2627 | * ---------------------------------------------------------- [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2628 | * 0 S C T [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2629 | * 1 C -S -1/T [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2630 | * 2 -S -C T [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2631 | * 3 -C S -1/T [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2632 | * ---------------------------------------------------------- [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2633 | * [ 3910s] | ~ [ 3910s] 2634 | * Special cases: [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 2635 | * Let trig be any of sin, cos, or tan. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2636 | * trig(+-INF) is NaN, with signals; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2637 | * trig(NaN) is that NaN; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2638 | * [ 3910s] | ~ [ 3910s] 2639 | * Accuracy: [ 3910s] | ~~~~~~~~~~~ [ 3910s] 2640 | * TRIG(x) returns trig(x) nearly rounded [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2641 | */ [ 3910s] | ~~ [ 3910s] 2642 | double tan(double x) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2643 | { [ 3910s] | ~ [ 3910s] 2644 | double y[2], z = 0.0; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2645 | int32_t n, ix; [ 3910s] | ~~~~~~~~~~~~~~ [ 3910s] 2646 | [ 3910s] | [ 3910s] 2647 | /* High word of x. */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2648 | GET_HIGH_WORD(ix, x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2649 | [ 3910s] | [ 3910s] 2650 | /* |x| ~< pi/4 */ [ 3910s] | ~~~~~~~~~~~~~~~~~ [ 3910s] 2651 | ix &= 0x7FFFFFFF; [ 3910s] | ~~~~~~~~~~~~~~~~~ [ 3910s] 2652 | if (ix <= 0x3FE921FB) { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2653 | return __kernel_tan(x, z, 1); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2654 | } else if (ix >= 0x7FF00000) { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2655 | /* tan(Inf or NaN) is NaN */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2656 | return x - x; /* NaN */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2657 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 2658 | /* argument reduction needed */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2659 | n = __ieee754_rem_pio2(x, y); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2660 | /* 1 -> n even, -1 -> n odd */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2661 | return __kernel_tan(y[0], y[1], 1 - ((n & 1) << 1)); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2662 | } [ 3910s] | ~ [ 3910s] 2663 | } [ 3910s] | ~ [ 3910s] 2664 | [ 3910s] | [ 3910s] 2665 | /* [ 3910s] | ~~ [ 3910s] 2666 | * ES6 draft 09-27-13, section 20.2.2.12. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2667 | * Math.cosh [ 3910s] | ~~~~~~~~~~~ [ 3910s] 2668 | * Method : [ 3910s] | ~~~~~~~~~~ [ 3910s] 2669 | * mathematically cosh(x) if defined to be (exp(x)+exp(-x))/2 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2670 | * 1. Replace x by |x| (cosh(x) = cosh(-x)). [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2671 | * 2. [ 3910s] | ~~~~~~~~~ [ 3910s] 2672 | * [ exp(x) - 1 ]^2 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2673 | * 0 <= x <= ln2/2 : cosh(x) := 1 + ------------------- [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2674 | * 2*exp(x) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2675 | * [ 3910s] | ~ [ 3910s] 2676 | * exp(x) + 1/exp(x) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2677 | * ln2/2 <= x <= 22 : cosh(x) := ------------------- [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2678 | * 2 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2679 | * 22 <= x <= lnovft : cosh(x) := exp(x)/2 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2680 | * lnovft <= x <= ln2ovft: cosh(x) := exp(x/2)/2 * exp(x/2) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2681 | * ln2ovft < x : cosh(x) := huge*huge (overflow) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2682 | * [ 3910s] | ~ [ 3910s] 2683 | * Special cases: [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 2684 | * cosh(x) is |x| if x is +INF, -INF, or NaN. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2685 | * only cosh(0)=1 is exact for finite x. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2686 | */ [ 3910s] | ~~ [ 3910s] 2687 | double cosh(double x) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2688 | { [ 3910s] | ~ [ 3910s] 2689 | constexpr double KCOSH_OVERFLOW = 710.4758600739439; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2690 | constexpr double one = 1.0, half = 0.5; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2691 | constexpr volatile double huge = 1.0e+300; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2692 | [ 3910s] | [ 3910s] 2693 | int32_t ix; [ 3910s] | ~~~~~~~~~~~ [ 3910s] 2694 | [ 3910s] | [ 3910s] 2695 | /* High word of |x|. */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2696 | GET_HIGH_WORD(ix, x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2697 | ix &= 0x7FFFFFFF; [ 3910s] | ~~~~~~~~~~~~~~~~~ [ 3910s] 2698 | [ 3910s] | [ 3910s] 2699 | // |x| in [0,0.5*log2], return 1+expm1(|x|)^2/(2*exp(|x|)) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2700 | if (ix < 0x3FD62E43) { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2701 | double t = expm1(fabs(x)); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2702 | double w = one + t; [ 3910s] | ~~~~~~~~~~~~~~~~~~~ [ 3910s] 2703 | // For |x| < 2^-55, cosh(x) = 1 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2704 | if (ix < 0x3C800000) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2705 | return w; [ 3910s] | ~~~~~~~~~ [ 3910s] 2706 | return one + (t * t) / (w + w); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2707 | } [ 3910s] | ~ [ 3910s] 2708 | [ 3910s] | [ 3910s] 2709 | // |x| in [0.5*log2, 22], return (exp(|x|)+1/exp(|x|)/2 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2710 | if (ix < 0x40360000) { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2711 | double t = exp(fabs(x)); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2712 | return half * t + half / t; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2713 | } [ 3910s] | ~ [ 3910s] 2714 | [ 3910s] | [ 3910s] 2715 | // |x| in [22, log(maxdouble)], return half*exp(|x|) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2716 | if (ix < 0x40862E42) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2717 | return half * exp(fabs(x)); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2718 | [ 3910s] | [ 3910s] 2719 | // |x| in [log(maxdouble), overflowthreshold] [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2720 | if (fabs(x) <= KCOSH_OVERFLOW) { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2721 | double w = exp(half * fabs(x)); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2722 | double t = half * w; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2723 | return t * w; [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 2724 | } [ 3910s] | ~ [ 3910s] 2725 | [ 3910s] | [ 3910s] 2726 | /* x is INF or NaN */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2727 | if (ix >= 0x7FF00000) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2728 | return x * x; [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 2729 | [ 3910s] | [ 3910s] 2730 | // |x| > overflowthreshold. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2731 | return huge * huge; [ 3910s] | ~~~~~~~~~~~~~~~~~~~ [ 3910s] 2732 | } [ 3910s] | ~ [ 3910s] 2733 | [ 3910s] | [ 3910s] 2734 | /* [ 3910s] | ~~ [ 3910s] 2735 | * ES6 draft 09-27-13, section 20.2.2.30. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2736 | * Math.sinh [ 3910s] | ~~~~~~~~~~~ [ 3910s] 2737 | * Method : [ 3910s] | ~~~~~~~~~~ [ 3910s] 2738 | * mathematically sinh(x) if defined to be (exp(x)-exp(-x))/2 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2739 | * 1. Replace x by |x| (sinh(-x) = -sinh(x)). [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2740 | * 2. [ 3910s] | ~~~~~~~~~ [ 3910s] 2741 | * E + E/(E+1) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2742 | * 0 <= x <= 22 : sinh(x) := --------------, E=expm1(x) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2743 | * 2 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2744 | * [ 3910s] | ~ [ 3910s] 2745 | * 22 <= x <= lnovft : sinh(x) := exp(x)/2 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2746 | * lnovft <= x <= ln2ovft: sinh(x) := exp(x/2)/2 * exp(x/2) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2747 | * ln2ovft < x : sinh(x) := x*shuge (overflow) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2748 | * [ 3910s] | ~ [ 3910s] 2749 | * Special cases: [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 2750 | * sinh(x) is |x| if x is +Infinity, -Infinity, or NaN. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2751 | * only sinh(0)=0 is exact for finite x. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2752 | */ [ 3910s] | ~~ [ 3910s] 2753 | double sinh(double x) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2754 | { [ 3910s] | ~ [ 3910s] 2755 | constexpr double KSINH_OVERFLOW = 710.4758600739439, [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2756 | TWO_M28 = 3.725290298461914e-9, // 2^-28, empty lower half [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2757 | LOG_MAXD = 709.7822265625; // 0x40862E42 00000000, empty lower half [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2758 | constexpr double shuge = 1.0e307; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2759 | [ 3910s] | [ 3910s] 2760 | double h = (x < 0) ? -0.5 : 0.5; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2761 | // |x| in [0, 22]. return sign(x)*0.5*(E+E/(E+1)) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2762 | double ax = fabs(x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2763 | if (ax < 22) { [ 3910s] | ~~~~~~~~~~~~~~ [ 3910s] 2764 | // For |x| < 2^-28, sinh(x) = x [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2765 | if (ax < TWO_M28) [ 3910s] | ~~~~~~~~~~~~~~~~~ [ 3910s] 2766 | return x; [ 3910s] | ~~~~~~~~~ [ 3910s] 2767 | double t = expm1(ax); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2768 | if (ax < 1) { [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 2769 | return h * (2 * t - t * t / (t + 1)); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2770 | } [ 3910s] | ~ [ 3910s] 2771 | return h * (t + t / (t + 1)); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2772 | } [ 3910s] | ~ [ 3910s] 2773 | // |x| in [22, log(maxdouble)], return 0.5 * exp(|x|) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2774 | if (ax < LOG_MAXD) [ 3910s] | ~~~~~~~~~~~~~~~~~~ [ 3910s] 2775 | return h * exp(ax); [ 3910s] | ~~~~~~~~~~~~~~~~~~~ [ 3910s] 2776 | // |x| in [log(maxdouble), overflowthreshold] [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2777 | // overflowthreshold = 710.4758600739426 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2778 | if (ax <= KSINH_OVERFLOW) { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2779 | double w = exp(0.5 * ax); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2780 | double t = h * w; [ 3910s] | ~~~~~~~~~~~~~~~~~ [ 3910s] 2781 | return t * w; [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 2782 | } [ 3910s] | ~ [ 3910s] 2783 | // |x| > overflowthreshold or is NaN. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2784 | // Return Infinity of the appropriate sign or NaN. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2785 | return x * shuge; [ 3910s] | ~~~~~~~~~~~~~~~~~ [ 3910s] 2786 | } [ 3910s] | ~ [ 3910s] 2787 | [ 3910s] | [ 3910s] 2788 | /* Tanh(x) [ 3910s] | ~~~~~~~~~~ [ 3910s] 2789 | * Return the Hyperbolic Tangent of x [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2790 | * [ 3910s] | ~ [ 3910s] 2791 | * Method : [ 3910s] | ~~~~~~~~~~ [ 3910s] 2792 | * x -x [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2793 | * e - e [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2794 | * 0. tanh(x) is defined to be ----------- [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2795 | * x -x [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2796 | * e + e [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2797 | * 1. reduce x to non-negative by tanh(-x) = -tanh(x). [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2798 | * 2. 0 <= x < 2**-28 : tanh(x) := x with inexact if x != 0 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2799 | * -t [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2800 | * 2**-28 <= x < 1 : tanh(x) := -----; t = expm1(-2x) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2801 | * t + 2 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2802 | * 2 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2803 | * 1 <= x < 22 : tanh(x) := 1 - -----; t = expm1(2x) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2804 | * t + 2 [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2805 | * 22 <= x <= INF : tanh(x) := 1. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2806 | * [ 3910s] | ~ [ 3910s] 2807 | * Special cases: [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 2808 | * tanh(NaN) is NaN; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2809 | * only tanh(0)=0 is exact for finite argument. [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2810 | */ [ 3910s] | ~~ [ 3910s] 2811 | double tanh(double x) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2812 | { [ 3910s] | ~ [ 3910s] 2813 | constexpr volatile double tiny = 1.0e-300; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2814 | constexpr double one = 1.0, two = 2.0, huge = 1.0e300; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2815 | double t, z; [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 2816 | int32_t jx, ix; [ 3910s] | ~~~~~~~~~~~~~~~ [ 3910s] 2817 | [ 3910s] | [ 3910s] 2818 | GET_HIGH_WORD(jx, x); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2819 | ix = jx & 0x7FFFFFFF; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2820 | [ 3910s] | [ 3910s] 2821 | /* x is INF or NaN */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2822 | if (ix >= 0x7FF00000) { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2823 | if (jx >= 0) [ 3910s] | ~~~~~~~~~~~~ [ 3910s] 2824 | return one / x + one; /* tanh(+-inf)=+-1 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2825 | else [ 3910s] | ~~~~ [ 3910s] 2826 | return one / x - one; /* tanh(NaN) = NaN */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2827 | } [ 3910s] | ~ [ 3910s] 2828 | [ 3910s] | [ 3910s] 2829 | /* |x| < 22 */ [ 3910s] | ~~~~~~~~~~~~~~ [ 3910s] 2830 | if (ix < 0x40360000) { /* |x|<22 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2831 | if (ix < 0x3E300000 && huge + x > one) { /* |x|<2**-28 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2832 | return x; /* tanh(tiny) = tiny with inexact */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2833 | } [ 3910s] | ~ [ 3910s] 2834 | if (ix >= 0x3FF00000) { /* |x|>=1 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2835 | t = expm1(two * fabs(x)); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2836 | z = one - two / (t + two); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2837 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 2838 | t = expm1(-two * fabs(x)); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2839 | z = -t / (t + two); [ 3910s] | ~~~~~~~~~~~~~~~~~~~ [ 3910s] 2840 | } [ 3910s] | ~ [ 3910s] 2841 | /* |x| >= 22, return +-1 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2842 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 2843 | z = one - tiny; /* raise inexact flag */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2844 | } [ 3910s] | ~ [ 3910s] 2845 | return (jx >= 0) ? z : -z; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2846 | } [ 3910s] | ~ [ 3910s] 2847 | [ 3910s] | [ 3910s] 2848 | double ceil(double x) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2849 | { [ 3910s] | ~ [ 3910s] 2850 | constexpr double huge = 1.0e300; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2851 | int i0, i1, j0; [ 3910s] | ~~~~~~~~~~~~~~~ [ 3910s] 2852 | unsigned i, j; [ 3910s] | ~~~~~~~~~~~~~~ [ 3910s] 2853 | i0 = __HI(x); [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 2854 | i1 = __LO(x); [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 2855 | j0 = ((i0 >> 20) & 0x7ff) - 0x3ff; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2856 | if (j0 < 20) { [ 3910s] | ~~~~~~~~~~~~~~ [ 3910s] 2857 | if (j0 < 0) { /* raise inexact if x != 0 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2858 | if (huge + x > 0.0) { /* return 0*sign(x) if |x|<1 */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2859 | if (i0 < 0) { [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 2860 | i0 = 0x80000000; [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 2861 | i1 = 0; [ 3910s] | ~~~~~~~ [ 3910s] 2862 | } else if ((i0 | i1) != 0) { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2863 | i0 = 0x3ff00000; [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 2864 | i1 = 0; [ 3910s] | ~~~~~~~ [ 3910s] 2865 | } [ 3910s] | ~ [ 3910s] 2866 | } [ 3910s] | ~ [ 3910s] 2867 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 2868 | i = (0x000fffff) >> j0; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2869 | if (((i0 & i) | i1) == 0) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2870 | return x; /* x is integral */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2871 | if (huge + x > 0.0) { /* raise inexact flag */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2872 | if (i0 > 0) [ 3910s] | ~~~~~~~~~~~ [ 3910s] 2873 | i0 += (0x00100000) >> j0; [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2874 | i0 &= (~i); [ 3910s] | ~~~~~~~~~~~ [ 3910s] 2875 | i1 = 0; [ 3910s] | ~~~~~~~ [ 3910s] 2876 | } [ 3910s] | ~ [ 3910s] 2877 | } [ 3910s] | ~ [ 3910s] 2878 | } else if (j0 > 51) { [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2879 | if (j0 == 0x400) [ 3910s] | ~~~~~~~~~~~~~~~~ [ 3910s] 2880 | return x + x; /* inf or NaN */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2881 | else [ 3910s] | ~~~~ [ 3910s] 2882 | return x; /* x is integral */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2883 | } else { [ 3910s] | ~~~~~~~~ [ 3910s] 2884 | i = ((unsigned)(0xffffffff)) >> (j0 - 20); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2885 | if ((i1 & i) == 0) [ 3910s] | ~~~~~~~~~~~~~~~~~~ [ 3910s] 2886 | return x; /* x is integral */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2887 | if (huge + x > 0.0) { /* raise inexact flag */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2888 | if (i0 > 0) { [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 2889 | if (j0 == 20) [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 2890 | i0 += 1; [ 3910s] | ~~~~~~~~ [ 3910s] 2891 | else { [ 3910s] | ~~~~~~ [ 3910s] 2892 | j = i1 + (1 << (52 - j0)); [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2893 | if (j < (unsigned)i1) [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2894 | i0 += 1; /* got a carry */ [ 3910s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 3910s] 2895 | i1 = j; [ 3910s] | ~~~~~~~ [ 3910s] 2896 | } [ 3910s] | ~ [ 3910s] 2897 | } [ 3910s] | ~ [ 3910s] 2898 | i1 &= (~i); [ 3910s] | ~~~~~~~~~~~ [ 3910s] 2899 | } [ 3910s] | ~ [ 3910s] 2900 | } [ 3910s] | ~ [ 3910s] 2901 | __HI(x) = i0; [ 3910s] | ~~~~~~~~~~~~~ [ 3910s] 2902 | __LO(x) = i1; [ 3910s] | ~~~~~~ [ 3910s] third_party/escargot/src/runtime/IEEE754.cpp:2902:5: note: in expansion of macro '__LO' [ 3910s] 2902 | __LO(x) = i1; [ 3910s] | ^~~~ [ 3910s] [1011/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinObject.cpp.o [ 3910s] [1012/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinWeakMap.cpp.o [ 3910s] [1013/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinDate.cpp.o [ 3910s] [1014/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Job.cpp.o [ 3910s] [1015/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinRegExp.cpp.o [ 3910s] [1016/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/JobQueue.cpp.o [ 3910s] [1017/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinIntl.cpp.o [ 3910s] [1018/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/IteratorObject.cpp.o [ 3911s] [1019/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/NumberObject.cpp.o [ 3911s] [1020/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/MapObject.cpp.o [ 3911s] [1021/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ModuleNamespaceObject.cpp.o [ 3911s] [1022/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/IntlCollator.cpp.o [ 3911s] [1023/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWEWebContainer.cpp.o [ 3911s] [1024/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/IntlLocale.cpp.o [ 3911s] [1025/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/PointerValue.cpp.o [ 3911s] [1026/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/IntlRelativeTimeFormat.cpp.o [ 3912s] [1027/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ObjectStructure.cpp.o [ 3912s] [1028/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/IntlPluralRules.cpp.o [ 3912s] [1029/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/RopeString.cpp.o [ 3912s] [1030/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinString.cpp.o [ 3912s] [1031/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ProxyObject.cpp.o [ 3912s] [1032/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/NativeFunctionObject.cpp.o [ 3912s] [1033/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/StringBuilder.cpp.o [ 3912s] [1034/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptAsyncGeneratorFunctionObject.cpp.o [ 3912s] [1035/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptClassMethodFunctionObject.cpp.o [ 3912s] [1036/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptAsyncFunctionObject.cpp.o [ 3913s] [1037/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/SetObject.cpp.o [ 3913s] [1038/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptArrowFunctionObject.cpp.o [ 3913s] [1039/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/IntlNumberFormat.cpp.o [ 3913s] [1040/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ToStringRecursionPreventer.cpp.o [ 3913s] [1041/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/StringView.cpp.o [ 3913s] [1042/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/diy-fp.cc.o [ 3913s] [1043/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/cached-powers.cc.o [ 3913s] [1044/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/PromiseObject.cpp.o [ 3913s] [1045/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptGeneratorFunctionObject.cpp.o [ 3913s] [1046/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/bignum-dtoa.cc.o [ 3913s] [1047/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/bignum.cc.o [ 3913s] [1048/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/SandBox.cpp.o [ 3913s] [1049/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/api/EscargotPublic.cpp.o [ 3913s] [1050/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/SymbolObject.cpp.o [ 3913s] [1051/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/util/BasicString.cpp.o [ 3913s] [1052/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptClassConstructorFunctionObject.cpp.o [ 3913s] [1053/1122] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/checksums.c.o [ 3913s] [1054/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/fast-dtoa.cc.o [ 3913s] [1055/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/strtod.cc.o [ 3913s] [1056/1122] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/darwin_stop_world.c.o [ 3913s] [1057/1122] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/dyn_load.c.o [ 3913s] [1058/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/StringObject.cpp.o [ 3913s] [1059/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/fixed-dtoa.cc.o [ 3913s] [1060/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Object.cpp.o [ 3913s] [1061/1122] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/backgraph.c.o [ 3913s] [1062/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/double-conversion.cc.o [ 3914s] [1063/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/OSAllocatorWin.cpp.o [ 3914s] [1064/1122] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/new_hblk.c.o [ 3914s] [1065/1122] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/alloc.c.o [ 3914s] [1066/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Symbol.cpp.o [ 3914s] [1067/1122] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/gc_dlopen.c.o [ 3914s] [1068/1122] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/gcj_mlc.c.o [ 3914s] [1069/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/PageBlock.cpp.o [ 3914s] [1070/1122] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/obj_map.c.o [ 3914s] [1071/1122] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/fnlz_mlc.c.o [ 3914s] [1072/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/util/Vector.cpp.o [ 3914s] [1073/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/OSAllocatorPosix.cpp.o [ 3914s] [1074/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/WeakSetObject.cpp.o [ 3914s] [1075/1122] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/mach_dep.c.o [ 3914s] [1076/1122] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/win32_threads.c.o [ 3914s] [1077/1122] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/blacklst.c.o [ 3914s] [1078/1122] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/dbg_mlc.c.o [ 3914s] [1079/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/util/Util.cpp.o [ 3914s] [1080/1122] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/pthread_start.c.o [ 3914s] [1081/1122] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/pthread_support.c.o [ 3914s] [1082/1122] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/headers.c.o [ 3914s] [1083/1122] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/pthread_stop_world.c.o [ 3914s] [1084/1122] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/finalize.c.o [ 3914s] [1085/1122] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/allchblk.c.o [ 3914s] [1086/1122] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/thread_local_alloc.c.o [ 3914s] [1087/1122] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/mallocx.c.o [ 3914s] [1088/1122] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/specific.c.o [ 3914s] [1089/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/YarrCanonicalizeUnicode.cpp.o [ 3914s] [1090/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Value.cpp.o [ 3914s] [1091/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/String.cpp.o [ 3914s] [1092/1122] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/malloc.c.o [ 3914s] [1093/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/YarrErrorCode.cpp.o [ 3914s] [1094/1122] Building CXX object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/LeakChecker.cpp.o [ 3914s] [1095/1122] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/mark_rts.c.o [ 3914s] [1096/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/YarrCanonicalizeUCS2.cpp.o [ 3914s] [1097/1122] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/ptr_chck.c.o [ 3914s] [1098/1122] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/os_dep.c.o [ 3914s] [1099/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/WeakMapObject.cpp.o [ 3914s] [1100/1122] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/reclaim.c.o [ 3914s] [1101/1122] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/typd_mlc.c.o [ 3914s] [1102/1122] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/mark.c.o [ 3914s] [1103/1122] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/misc.c.o [ 3914s] [1104/1122] Building CXX object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/Allocator.cpp.o [ 3914s] [1105/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptFunctionObject.cpp.o [ 3914s] [1106/1122] Building CXX object third_party/escargot/third_party/runtime_icu_binder/CMakeFiles/runtime-icu-binder-static.dir/RuntimeICUBinder.cpp.o [ 3914s] [1107/1122] Linking CXX static library out_tizen/unified_wearable/release/lib/libgc-lib.a [ 3914s] [1108/1122] Linking CXX static library out_tizen/unified_wearable/release/lib/libruntime-icu-binder-static.a [ 3914s] [1109/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/RegExpObject.cpp.o [ 3914s] [1110/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/IntlDateTimeFormat.cpp.o [ 3915s] [1111/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/StaticStrings.cpp.o [ 3915s] [1112/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectBuiltinTypedArray.cpp.o [ 3915s] [1113/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/YarrSyntaxChecker.cpp.o [ 3915s] [1114/1122] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Style.cpp.o [ 3915s] [1115/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Intl.cpp.o [ 3916s] [1116/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/VMInstance.cpp.o [ 3916s] [1117/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/lz4/lz4.cpp.o [ 3916s] [1118/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/YarrInterpreter.cpp.o [ 3918s] [1119/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/YarrPattern.cpp.o [ 3938s] [1120/1122] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/YarrUnicodeProperties.cpp.o [ 3941s] [1121/1122] Linking CXX static library out_tizen/unified_wearable/release/lib/libescargot.a [ 4207s] [1122/1122] Linking CXX shared library out_tizen/unified_wearable/release/lib/liblightweight-web-engine-dali-plugin.wearable.so [ 4207s] + rm -f CMakeCache.txt [ 4207s] + cmake CMakeLists.txt -DMODE=release -DHOST=tizen -DARCH=arm -DCUSTOM=unified_wearable -DBACKEND=efl_cairo -DLTO=1 -DTARGETNAME=lightweight-web-engine.wearable -G Ninja [ 4207s] -- The C compiler identification is GNU 9.2.0 [ 4207s] -- The CXX compiler identification is GNU 9.2.0 [ 4207s] -- Check for working C compiler: /bin/cc [ 4207s] -- Check for working C compiler: /bin/cc -- works [ 4207s] -- Detecting C compiler ABI info [ 4208s] -- Detecting C compiler ABI info - done [ 4208s] -- Detecting C compile features [ 4208s] -- Detecting C compile features - done [ 4208s] -- Check for working CXX compiler: /bin/c++ [ 4208s] -- Check for working CXX compiler: /bin/c++ -- works [ 4208s] -- Detecting CXX compiler ABI info [ 4208s] -- Detecting CXX compiler ABI info - done [ 4208s] -- Detecting CXX compile features [ 4209s] -- Detecting CXX compile features - done [ 4209s] -- Found PkgConfig: /bin/pkg-config (found version "0.28") [ 4209s] -- Checking for modules 'libpng;freetype2;fontconfig;harfbuzz;elementary;ecore;ecore-imf' [ 4210s] -- Found libpng, version 1.6.37 [ 4210s] -- Found freetype2, version 23.1.17 [ 4210s] -- Found fontconfig, version 2.13.1 [ 4210s] -- Found harfbuzz, version 2.6.4 [ 4210s] -- Found elementary, version 1.24.99 [ 4210s] -- Found ecore, version 1.24.99 [ 4211s] -- Found ecore-imf, version 1.24.99 [ 4214s] -- Checking for module 'ecore-imf-evas' [ 4214s] -- Found ecore-imf-evas, version 1.24.99 [ 4215s] -- Checking for module 'libtbm' [ 4216s] -- Found libtbm, version 3.0.0 [ 4216s] -- Checking for module 'cairo' [ 4216s] -- Found cairo, version 1.14.2 [ 4217s] -- Checking for modules 'dlog;capi-media-player;capi-media-sound-manager;capi-system-info;capi-system-device' [ 4217s] -- Found dlog, version 1.0 [ 4218s] -- Found capi-media-player, version [ 4218s] -- Found capi-media-sound-manager, version 0.0.1 [ 4218s] -- Found capi-system-info, version 0.2.0 [ 4218s] -- Found capi-system-device, version [ 4219s] -- Checking for module 'bundle' [ 4219s] -- Found bundle, version 0.4.5 [ 4220s] -- Looking for cap_set_flag in cap [ 4220s] -- Looking for cap_set_flag in cap - not found [ 4220s] -- Checking for module 'dlog' [ 4220s] -- Found dlog, version 1.0 [ 4221s] -- Starfish [ 4221s] -- 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--param=ssp-buffer-size=4-march=armv7-a-mtune=cortex-a8-mlittle-endian-mfpu=neon-mfloat-abi=softfp-mthumb-Wp,-D__SOFTFP__-Wl,-O1-Wl,--hash-style=gnu-Wa,-mimplicit-it=thumb-g-DSTARFISH_TIZEN_MAJOR_VERSION=6-DSTARFISH_TIZEN_VERSION_6_0-Os [ 4221s] -- LIBRARIES: clipperescargotmp4parsewebmskia_matrixpthreadcurlsslcryptojpeggifturbojpegrtdlcapi-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 [ 4221s] -- 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 [ 4221s] -- LDFLAGS: -Wl,--gc-sections-Wl,-rpath=/usr/local/lib-flto [ 4221s] -- 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/freetype2/usr/include/libpng16/usr/include/fribidi/usr/include/harfbuzz/usr/include/ector-1/usr/include/efreet-1/usr/include/eio-1/usr/include/efreet-1/usr/include/ecore-ipc-1/usr/include/ecore-imf-1/usr/include/ecore-input-1/usr/include/eeze-1/usr/include/libmount/usr/include/blkid/usr/include/ecore-file-1/usr/include/ecore-con-1/usr/include/eldbus-1/usr/include/dbus-1.0/usr/lib/dbus-1.0/include/usr/include/eet-1/usr/include/emile-1/usr/include/ecore-1/usr/include/glib-2.0/usr/lib/glib-2.0/include/usr/include/efl-1/usr/include/efl-1/interfaces/usr/include/eo-1/usr/include/eina-1/usr/include/eina-1/eina/usr/include/dlog/usr/include/cairo/usr/include/pixman-1/usr/include/ecore-evas-1/usr/include/ecore-input-evas-1/usr/include/ecore-input-1/usr/include/eeze-1/usr/include/libmount/usr/include/blkid/usr/include/ecore-file-1/usr/include/ecore-con-1/usr/include/eldbus-1/usr/include/dbus-1.0/usr/lib/dbus-1.0/include/usr/include/evas-1/usr/include/evas-1/canvas/usr/include/evas-1/gesture/usr/include/uuid/usr/include/freetype2/usr/include/fribidi/usr/include/harfbuzz/usr/include/ecore-1/usr/include/glib-2.0/usr/lib/glib-2.0/include/usr/include/ector-1/usr/include/eet-1/usr/include/emile-1/usr/include/efl-1/usr/include/efl-1/interfaces/usr/include/eo-1/usr/include/eina-1/usr/include/eina-1/eina/usr/include/dlog/usr/include/libpng16/usr/include/ecore-imf-evas-1/usr/include/ecore-imf-1/usr/include/ecore-input-1/usr/include/eeze-1/usr/include/libmount/usr/include/blkid/usr/include/ecore-file-1/usr/include/ecore-con-1/usr/include/eldbus-1/usr/include/dbus-1.0/usr/lib/dbus-1.0/include/usr/include/evas-1/usr/include/evas-1/canvas/usr/include/evas-1/gesture/usr/include/uuid/usr/include/freetype2/usr/include/libpng16/usr/include/fribidi/usr/include/harfbuzz/usr/include/ecore-1/usr/include/glib-2.0/usr/lib/glib-2.0/include/usr/include/ector-1/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/arm/release/include [ 4221s] -- Configuring done [ 4221s] -- Generating done [ 4221s] -- Build files have been written to: /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0 [ 4221s] + ninja starfish.shared_library [ 4222s] [1/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioScheduledSourceNodeBinding.cpp.o [ 4222s] [2/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BufferSourceOrDOMStringBinding.cpp.o [ 4222s] [3/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferOptionsBinding.cpp.o [ 4222s] [4/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BaseAudioContextBinding.cpp.o [ 4222s] [5/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferSourceOptionsBinding.cpp.o [ 4222s] [6/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioContextBinding.cpp.o [ 4222s] [7/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioContextOptionsBinding.cpp.o [ 4222s] [8/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasRenderingContext2DOrWebGLRenderingContextOrImageBitmapRenderingContextBinding.cpp.o [ 4222s] [9/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioDestinationNodeBinding.cpp.o [ 4222s] [10/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioNodeBinding.cpp.o [ 4222s] [11/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferSourceNodeBinding.cpp.o [ 4222s] [12/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferBinding.cpp.o [ 4222s] [13/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasImageSourceOrBlobOrImageDataBinding.cpp.o [ 4222s] [14/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasRenderingContext2DBinding.cpp.o [ 4224s] [15/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSNumericTypeBinding.cpp.o [ 4225s] [16/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/StaticStrings.cpp.o [ 4225s] [17/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ArrayBufferViewOrArrayBufferBinding.cpp.o [ 4225s] [18/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSNamespaceRuleBinding.cpp.o [ 4225s] [19/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSBinding.cpp.o [ 4225s] [20/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BlobBinding.cpp.o [ 4225s] [21/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AnimationEventInitBinding.cpp.o [ 4225s] [22/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSUnitValueBinding.cpp.o [ 4225s] [23/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BlobOrBufferSourceOrUSVStringOrReadableStreamBinding.cpp.o [ 4225s] [24/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BufferSourceOrBlobOrDOMStringBinding.cpp.o [ 4226s] [25/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BlobCustomBinding.cpp.o [ 4226s] [26/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSFontFaceRuleBinding.cpp.o [ 4226s] [27/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AnimationBinding.cpp.o [ 4226s] [28/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSNumericValueBinding.cpp.o [ 4226s] [29/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSCounterStyleRuleBinding.cpp.o [ 4226s] [30/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSKeywordValueBinding.cpp.o [ 4226s] [31/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BatteryManagerBinding.cpp.o [ 4226s] [32/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleRuleBinding.cpp.o [ 4226s] [33/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AnimationEventBinding.cpp.o [ 4226s] [34/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSSupportsRuleBinding.cpp.o [ 4226s] [35/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleValueBinding.cpp.o [ 4226s] [36/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasPatternBinding.cpp.o [ 4226s] [37/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSMediaRuleBinding.cpp.o [ 4226s] [38/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSRuleBinding.cpp.o [ 4226s] [39/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/Starfish.cpp.o [ 4226s] [40/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSConditionRuleBinding.cpp.o [ 4226s] [41/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSKeyframeRuleBinding.cpp.o [ 4227s] [42/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleDeclarationBinding.cpp.o [ 4227s] [43/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSImportRuleBinding.cpp.o [ 4227s] [44/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSGroupingRuleBinding.cpp.o [ 4227s] [45/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasGradientBinding.cpp.o [ 4227s] [46/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMExceptionBinding.cpp.o [ 4228s] [47/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CharacterDataBinding.cpp.o [ 4228s] [48/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleSheetBinding.cpp.o [ 4228s] [49/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AttrBinding.cpp.o [ 4228s] [50/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CloseEventInitBinding.cpp.o [ 4228s] [51/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSKeyframesRuleBinding.cpp.o [ 4228s] [52/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CDATASectionBinding.cpp.o [ 4228s] [53/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CustomEventInitBinding.cpp.o [ 4228s] [54/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CloseEventBinding.cpp.o [ 4228s] [55/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSRuleListBinding.cpp.o [ 4229s] [56/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMPointInitBinding.cpp.o [ 4229s] [57/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrixInitBinding.cpp.o [ 4229s] [58/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CoordinatesBinding.cpp.o [ 4229s] [59/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrix2DInitBinding.cpp.o [ 4229s] [60/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CompositionEventBinding.cpp.o [ 4229s] [61/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CustomEventBinding.cpp.o [ 4229s] [62/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrFunctionBinding.cpp.o [ 4229s] [63/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMRectReadOnlyBinding.cpp.o [ 4229s] [64/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CompositionEventInitBinding.cpp.o [ 4229s] [65/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMRectBinding.cpp.o [ 4229s] [66/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMPointReadOnlyBinding.cpp.o [ 4229s] [67/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrMediaStreamTrackBinding.cpp.o [ 4229s] [68/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CharacterDataCustomBinding.cpp.o [ 4229s] [69/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrRTCOAuthCredentialBinding.cpp.o [ 4229s] [70/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLAudioElementBinding.cpp.o [ 4230s] [71/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrCanvasGradientOrCanvasPatternBinding.cpp.o [ 4230s] [72/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMPointBinding.cpp.o [ 4230s] [73/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMQuadBinding.cpp.o [ 4230s] [74/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringMapBinding.cpp.o [ 4230s] [75/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrSequenceOfDOMStringBinding.cpp.o [ 4230s] [76/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrSequenceOfdoubleBinding.cpp.o [ 4230s] [77/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrixReadOnlyBinding.cpp.o [ 4230s] [78/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringListBinding.cpp.o [ 4230s] [79/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMRectListBinding.cpp.o [ 4230s] [80/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceTransportBinding.cpp.o [ 4230s] [81/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLCanvasElementBinding.cpp.o [ 4231s] [82/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CommentBinding.cpp.o [ 4231s] [83/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMTokenListBinding.cpp.o [ 4231s] [84/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrixBinding.cpp.o [ 4231s] [85/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventInitBinding.cpp.o [ 4231s] [86/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EffectTimingBinding.cpp.o [ 4231s] [87/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLImageElementOrSVGImageElementOrHTMLVideoElementOrHTMLCanvasElementOrImageBitmapBinding.cpp.o [ 4232s] [88/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMImplementationBinding.cpp.o [ 4232s] [89/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ErrorEventInitBinding.cpp.o [ 4232s] [90/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventModifierInitBinding.cpp.o [ 4232s] [91/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ErrorEventBinding.cpp.o [ 4232s] [92/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventOrDOMStringBinding.cpp.o [ 4232s] [93/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpTransceiverBinding.cpp.o [ 4232s] [94/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventBinding.cpp.o [ 4232s] [95/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMParserBinding.cpp.o [ 4232s] [96/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpTransceiverInitBinding.cpp.o [ 4232s] [97/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventTargetBinding.cpp.o [ 4232s] [98/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventSourceBinding.cpp.o [ 4232s] [99/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventSourceInitBinding.cpp.o [ 4233s] [100/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLImageElementOrSVGImageElementBinding.cpp.o [ 4233s] [101/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FocusEventInitBinding.cpp.o [ 4233s] [102/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GeopositionBinding.cpp.o [ 4233s] [103/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GeolocationBinding.cpp.o [ 4233s] [104/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FocusEventBinding.cpp.o [ 4234s] [105/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentTypeBinding.cpp.o [ 4234s] [106/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentHoldable.cpp.o [ 4234s] [107/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentCustomBinding.cpp.o [ 4234s] [108/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLMediaElementBinding.cpp.o [ 4234s] [109/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentFragmentBinding.cpp.o [ 4234s] [110/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GetRootNodeOptionsBinding.cpp.o [ 4235s] [111/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ElementBinding.cpp.o [ 4235s] [112/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentBinding.cpp.o [ 4235s] [113/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FormDataBinding.cpp.o [ 4235s] [114/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GeolocationCustomBinding.cpp.o [ 4235s] [115/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLBRElementBinding.cpp.o [ 4235s] [116/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLAreaElementBinding.cpp.o [ 4235s] [117/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLBaseElementBinding.cpp.o [ 4236s] [118/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLAnchorElementBinding.cpp.o [ 4236s] [119/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLElementOrlongBinding.cpp.o [ 4236s] [120/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLButtonElementBinding.cpp.o [ 4236s] [121/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLBodyElementBinding.cpp.o [ 4236s] [122/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDialogElementBinding.cpp.o [ 4236s] [123/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLCollectionBinding.cpp.o [ 4236s] [124/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDivElementBinding.cpp.o [ 4236s] [125/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLSourceElementBinding.cpp.o [ 4237s] [126/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLElementBinding.cpp.o [ 4237s] [127/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFieldSetElementBinding.cpp.o [ 4237s] [128/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDocumentBinding.cpp.o [ 4237s] [129/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFormControlsCollectionBinding.cpp.o [ 4237s] [130/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHRElementBinding.cpp.o [ 4237s] [131/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDListElementBinding.cpp.o [ 4238s] [132/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHeadingElementBinding.cpp.o [ 4238s] [133/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFontElementBinding.cpp.o [ 4238s] [134/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLegendElementBinding.cpp.o [ 4238s] [135/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFormElementBinding.cpp.o [ 4238s] [136/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLInputElementCustomBinding.cpp.o [ 4238s] [137/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHeadElementBinding.cpp.o [ 4239s] [138/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLInputElementBinding.cpp.o [ 4239s] [139/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLIElementBinding.cpp.o [ 4239s] [140/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHtmlElementBinding.cpp.o [ 4239s] [141/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTrackElementBinding.cpp.o [ 4239s] [142/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLVideoElementBinding.cpp.o [ 4239s] [143/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLIFrameElementBinding.cpp.o [ 4239s] [144/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLabelElementBinding.cpp.o [ 4239s] [145/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLImageElementBinding.cpp.o [ 4239s] [146/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageBitmapRenderingContextBinding.cpp.o [ 4239s] [147/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageDataBinding.cpp.o [ 4240s] [148/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOListElementBinding.cpp.o [ 4240s] [149/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLMetaElementBinding.cpp.o [ 4240s] [150/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptGroupElementBinding.cpp.o [ 4240s] [151/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLMapElementBinding.cpp.o [ 4240s] [152/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptionElementBinding.cpp.o [ 4240s] [153/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLModElementBinding.cpp.o [ 4240s] [154/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLinkElementBinding.cpp.o [ 4240s] [155/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLObjectElementBinding.cpp.o [ 4241s] [156/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaDevicesBinding.cpp.o [ 4241s] [157/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptionElementOrHTMLOptGroupElementBinding.cpp.o [ 4241s] [158/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLParagraphElementBinding.cpp.o [ 4241s] [159/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaSourceBinding.cpp.o [ 4241s] [160/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaElementAudioSourceNodeBinding.cpp.o [ 4241s] [161/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaElementAudioSourceOptionsBinding.cpp.o [ 4241s] [162/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTHElementBinding.cpp.o [ 4241s] [163/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptionsCollectionBinding.cpp.o [ 4241s] [164/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaStreamBinding.cpp.o [ 4242s] [165/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HeadersBinding.cpp.o [ 4242s] [166/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTFootElementBinding.cpp.o [ 4242s] [167/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOutputElementBinding.cpp.o [ 4242s] [168/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaStreamConstraintsBinding.cpp.o [ 4242s] [169/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaStreamTrackBinding.cpp.o [ 4242s] [170/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaTrackConstraintSetBinding.cpp.o [ 4242s] [171/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaTrackConstraintsBinding.cpp.o [ 4242s] [172/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageDataCustomBinding.cpp.o [ 4242s] [173/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageBitmapBinding.cpp.o [ 4242s] [174/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLParamElementBinding.cpp.o [ 4242s] [175/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLPreElementBinding.cpp.o [ 4242s] [176/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLScriptElementOrSVGScriptElementBinding.cpp.o [ 4243s] [177/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLSpanElementBinding.cpp.o [ 4243s] [178/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLScriptElementBinding.cpp.o [ 4243s] [179/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLQuoteElementBinding.cpp.o [ 4243s] [180/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageBitmapOptionsBinding.cpp.o [ 4243s] [181/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTHeadElementBinding.cpp.o [ 4243s] [182/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushSubscriptionBinding.cpp.o [ 4243s] [183/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HistoryBinding.cpp.o [ 4243s] [184/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLSelectElementBinding.cpp.o [ 4243s] [185/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NotificationOptionsBinding.cpp.o [ 4243s] [186/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTitleElementBinding.cpp.o [ 4243s] [187/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/Path2DBinding.cpp.o [ 4243s] [188/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NotificationBinding.cpp.o [ 4243s] [189/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/Path2DOrDOMStringBinding.cpp.o [ 4243s] [190/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLStyleElementBinding.cpp.o [ 4243s] [191/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTextAreaElementBinding.cpp.o [ 4243s] [192/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushManagerBinding.cpp.o [ 4243s] [193/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyframeEffectOptionsBinding.cpp.o [ 4243s] [194/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableCellElementBinding.cpp.o [ 4243s] [195/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushSubscriptionOptionsBinding.cpp.o [ 4243s] [196/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyframeAnimationOptionsBinding.cpp.o [ 4243s] [197/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushSubscriptionOptionsInitBinding.cpp.o [ 4243s] [198/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCAnswerOptionsBinding.cpp.o [ 4243s] [199/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCCertificateBinding.cpp.o [ 4243s] [200/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCConfigurationBinding.cpp.o [ 4244s] [201/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelBinding.cpp.o [ 4244s] [202/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelEventBinding.cpp.o [ 4244s] [203/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelEventInitBinding.cpp.o [ 4244s] [204/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelInitBinding.cpp.o [ 4244s] [205/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLUListElementBinding.cpp.o [ 4244s] [206/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDtlsTransportBinding.cpp.o [ 4244s] [207/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCErrorBinding.cpp.o [ 4244s] [208/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCErrorInitBinding.cpp.o [ 4244s] [209/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceCandidateBinding.cpp.o [ 4244s] [210/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceCandidatePairBinding.cpp.o [ 4244s] [211/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableCaptionElementBinding.cpp.o [ 4244s] [212/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceServerBinding.cpp.o [ 4244s] [213/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceCandidateInitBinding.cpp.o [ 4244s] [214/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCOfferAnswerOptionsBinding.cpp.o [ 4244s] [215/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceErrorEventInitBinding.cpp.o [ 4244s] [216/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCOfferOptionsBinding.cpp.o [ 4244s] [217/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyboardEventInitBinding.cpp.o [ 4244s] [218/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionBinding.cpp.o [ 4244s] [219/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceErrorEventBinding.cpp.o [ 4244s] [220/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceEventBinding.cpp.o [ 4244s] [221/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceEventInitBinding.cpp.o [ 4244s] [222/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpParametersBinding.cpp.o [ 4244s] [223/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/InputEventBinding.cpp.o [ 4244s] [224/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpReceiverBinding.cpp.o [ 4244s] [225/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpSendParametersBinding.cpp.o [ 4244s] [226/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpSenderBinding.cpp.o [ 4244s] [227/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCSctpTransportBinding.cpp.o [ 4244s] [228/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCSessionDescriptionBinding.cpp.o [ 4244s] [229/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCTrackEventBinding.cpp.o [ 4244s] [230/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCSessionDescriptionInitBinding.cpp.o [ 4244s] [231/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCTrackEventInitBinding.cpp.o [ 4244s] [232/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableRowElementBinding.cpp.o [ 4244s] [233/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableColElementBinding.cpp.o [ 4244s] [234/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaQueryListEventBinding.cpp.o [ 4244s] [235/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/InputEventInitBinding.cpp.o [ 4244s] [236/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaQueryListEventInitBinding.cpp.o [ 4245s] [237/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyboardEventBinding.cpp.o [ 4245s] [238/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableElementBinding.cpp.o [ 4245s] [239/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableSectionElementBinding.cpp.o [ 4245s] [240/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaListBinding.cpp.o [ 4245s] [241/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/LocationBinding.cpp.o [ 4245s] [242/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessageEventInitBinding.cpp.o [ 4245s] [243/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLUnknownElementBinding.cpp.o [ 4245s] [244/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MouseEventInitBinding.cpp.o [ 4245s] [245/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaQueryListBinding.cpp.o [ 4246s] [246/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessageChannelBinding.cpp.o [ 4246s] [247/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MouseEventBinding.cpp.o [ 4246s] [248/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ProgressEventInitBinding.cpp.o [ 4246s] [249/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntityParser.cpp.o [ 4247s] [250/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PositionErrorBinding.cpp.o [ 4247s] [251/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NavigatorBinding.cpp.o [ 4247s] [252/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessagePortBinding.cpp.o [ 4247s] [253/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessageEventBinding.cpp.o [ 4247s] [254/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ProgressEventBinding.cpp.o [ 4247s] [255/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCOAuthCredentialBinding.cpp.o [ 4248s] [256/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeOrDOMStringBinding.cpp.o [ 4248s] [257/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RegistrationOptionsBinding.cpp.o [ 4248s] [258/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NamedNodeMapBinding.cpp.o [ 4248s] [259/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingWorkerInstance.cpp.o [ 4248s] [260/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RequestOrUSVStringBinding.cpp.o [ 4248s] [261/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ResponseInitBinding.cpp.o [ 4248s] [262/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ReadableStreamBinding.cpp.o [ 4248s] [263/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGAnimatedLengthBinding.cpp.o [ 4248s] [264/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RequestInitBinding.cpp.o [ 4248s] [265/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ReadableStreamDefaultReaderBinding.cpp.o [ 4248s] [266/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ReadableStreamDefaultControllerBinding.cpp.o [ 4248s] [267/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SourceBufferBinding.cpp.o [ 4248s] [268/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeFilterBinding.cpp.o [ 4249s] [269/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeIteratorBinding.cpp.o [ 4249s] [270/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerBinding.cpp.o [ 4249s] [271/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerContainerBinding.cpp.o [ 4249s] [272/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ResponseBinding.cpp.o [ 4249s] [273/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerGlobalScopeBinding.cpp.o [ 4249s] [274/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerRegistrationBinding.cpp.o [ 4249s] [275/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SourceBufferListBinding.cpp.o [ 4249s] [276/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ProcessingInstructionBinding.cpp.o [ 4249s] [277/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLElementStack.cpp.o [ 4249s] [278/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeListBinding.cpp.o [ 4249s] [279/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RequestBinding.cpp.o [ 4249s] [280/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisBinding.cpp.o [ 4249s] [281/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisEventBinding.cpp.o [ 4249s] [282/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisEventInitBinding.cpp.o [ 4250s] [283/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisVoiceBinding.cpp.o [ 4250s] [284/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisUtteranceBinding.cpp.o [ 4250s] [285/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextMetricsBinding.cpp.o [ 4250s] [286/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackBinding.cpp.o [ 4250s] [287/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackCueBinding.cpp.o [ 4250s] [288/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeBinding.cpp.o [ 4250s] [289/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackCueListBinding.cpp.o [ 4250s] [290/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackListBinding.cpp.o [ 4250s] [291/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TimeRangesBinding.cpp.o [ 4250s] [292/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGLengthBinding.cpp.o [ 4250s] [293/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPolygonElement.cpp.o [ 4250s] [294/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RangeBinding.cpp.o [ 4251s] [295/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGCircleElementBinding.cpp.o [ 4251s] [296/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGEllipseElementBinding.cpp.o [ 4251s] [297/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGDefsElementBinding.cpp.o [ 4251s] [298/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGPolylineElementBinding.cpp.o [ 4251s] [299/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGElementBinding.cpp.o [ 4251s] [300/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGDocumentBinding.cpp.o [ 4251s] [301/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScrollToOptionsBinding.cpp.o [ 4251s] [302/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScrollOptionsBinding.cpp.o [ 4252s] [303/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGClipPathElementBinding.cpp.o [ 4252s] [304/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/VTTCueBinding.cpp.o [ 4252s] [305/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGGElementBinding.cpp.o [ 4252s] [306/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WebGLRenderingContextBinding.cpp.o [ 4252s] [307/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGImageElementBinding.cpp.o [ 4252s] [308/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WebSocketBinding.cpp.o [ 4252s] [309/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SecurityPolicyViolationEventInitBinding.cpp.o [ 4252s] [310/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScreenBinding.cpp.o [ 4252s] [311/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/StorageBinding.cpp.o [ 4253s] [312/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptEngineInstance.cpp.o [ 4253s] [313/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SecurityPolicyViolationEventBinding.cpp.o [ 4253s] [314/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingWindowInstance.cpp.o [ 4253s] [315/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerGlobalScopeBinding.cpp.o [ 4253s] [316/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGPathElementBinding.cpp.o [ 4253s] [317/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGSVGElementBinding.cpp.o [ 4253s] [318/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerGlobalScopeCustomBinding.cpp.o [ 4253s] [319/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerNavigatorBinding.cpp.o [ 4253s] [320/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerLocationBinding.cpp.o [ 4253s] [321/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/StyleSheetListBinding.cpp.o [ 4253s] [322/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/doubleOrAutoKeywordBinding.cpp.o [ 4253s] [323/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/testRunnerBinding.cpp.o [ 4253s] [324/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGStyleElementBinding.cpp.o [ 4253s] [325/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGRectElementBinding.cpp.o [ 4253s] [326/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGTextElementBinding.cpp.o [ 4253s] [327/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGUseElementBinding.cpp.o [ 4253s] [328/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGScriptElementBinding.cpp.o [ 4253s] [329/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGPolygonElementBinding.cpp.o [ 4253s] [330/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGLineElementBinding.cpp.o [ 4254s] [331/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TransitionEventInitBinding.cpp.o [ 4254s] [332/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchInitBinding.cpp.o [ 4254s] [333/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/StyleSheetBinding.cpp.o [ 4254s] [334/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchBinding.cpp.o [ 4254s] [335/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchEventBinding.cpp.o [ 4255s] [336/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextBinding.cpp.o [ 4255s] [337/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/UIEventInitBinding.cpp.o [ 4255s] [338/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/URLSearchParamsCustomBinding.cpp.o [ 4255s] [339/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/UIEventBinding.cpp.o [ 4255s] [340/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/URLBinding.cpp.o [ 4255s] [341/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/URLSearchParamsBinding.cpp.o [ 4255s] [342/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ShadowRootBinding.cpp.o [ 4255s] [343/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchListBinding.cpp.o [ 4256s] [344/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TransitionEventBinding.cpp.o [ 4256s] [345/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingSecurity.cpp.o [ 4256s] [346/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowOrServiceWorkerBinding.cpp.o [ 4256s] [347/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptWrappable.cpp.o [ 4256s] [348/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/StorageNamespaceImpl.cpp.o [ 4256s] [349/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/Animation.cpp.o [ 4257s] [350/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WebViewHoldable.cpp.o [ 4257s] [351/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLHttpRequestEventTargetBinding.cpp.o [ 4257s] [352/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/doubleOrCSSNumericValueBinding.cpp.o [ 4257s] [353/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingInstance.cpp.o [ 4257s] [354/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TreeWalkerBinding.cpp.o [ 4257s] [355/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/CubicBezier.cpp.o [ 4257s] [356/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLHttpRequestUploadBinding.cpp.o [ 4257s] [357/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/StorageImpl.cpp.o [ 4257s] [358/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/TimingFunction.cpp.o [ 4257s] [359/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/WebStorageNamespaceProvider.cpp.o [ 4258s] [360/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicySourceListDirective.cpp.o [ 4258s] [361/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/AnimationEvent.cpp.o [ 4258s] [362/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowHoldable.cpp.o [ 4258s] [363/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/StorageManager.cpp.o [ 4258s] [364/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CloseEvent.cpp.o [ 4259s] [365/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Attribute.cpp.o [ 4259s] [366/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowProxy.cpp.o [ 4259s] [367/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicy.cpp.o [ 4259s] [368/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicyDirectiveList.cpp.o [ 4259s] [369/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrixInit.cpp.o [ 4259s] [370/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLDocumentBinding.cpp.o [ 4260s] [371/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMException.cpp.o [ 4260s] [372/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowBinding.cpp.o [ 4260s] [373/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMPoint.cpp.o [ 4260s] [374/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLHttpRequestBinding.cpp.o [ 4260s] [375/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Attr.cpp.o [ 4260s] [376/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/history/HistoryManager.cpp.o [ 4260s] [377/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CSS.cpp.o [ 4260s] [378/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMPointReadOnly.cpp.o [ 4260s] [379/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/TimingOptions.cpp.o [ 4260s] [380/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRect.cpp.o [ 4260s] [381/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRectList.cpp.o [ 4261s] [382/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMQuad.cpp.o [ 4261s] [383/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRectReadOnly.cpp.o [ 4261s] [384/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Comment.cpp.o [ 4261s] [385/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CDATASection.cpp.o [ 4261s] [386/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrix.cpp.o [ 4261s] [387/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowCustomBinding.cpp.o [ 4262s] [388/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Event.cpp.o [ 4262s] [389/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMStringList.cpp.o [ 4262s] [390/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/AnimationUtil.cpp.o [ 4262s] [391/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMImplementation.cpp.o [ 4263s] [392/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMediaElement.cpp.o [ 4263s] [393/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrixReadOnly.cpp.o [ 4263s] [394/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ExecutionContext.cpp.o [ 4263s] [395/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DocumentFragment.cpp.o [ 4263s] [396/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CharacterData.cpp.o [ 4264s] [397/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMParser.cpp.o [ 4264s] [398/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMStringMap.cpp.o [ 4264s] [399/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLAreaElement.cpp.o [ 4264s] [400/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMTokenList.cpp.o [ 4265s] [401/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLBodyElement.cpp.o [ 4265s] [402/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHeadingElement.cpp.o [ 4266s] [403/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFieldSetElement.cpp.o [ 4266s] [404/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLBaseElement.cpp.o [ 4266s] [405/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLButtonElement.cpp.o [ 4266s] [406/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLSourceElement.cpp.o [ 4266s] [407/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/EventTarget.cpp.o [ 4266s] [408/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLIElement.cpp.o [ 4266s] [409/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDialogElement.cpp.o [ 4266s] [410/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDivElement.cpp.o [ 4266s] [411/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLCollection.cpp.o [ 4267s] [412/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHyperlinkContainer.cpp.o [ 4267s] [413/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFontElement.cpp.o [ 4267s] [414/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLIFrameElement.cpp.o [ 4267s] [415/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHtmlElement.cpp.o [ 4267s] [416/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDocument.cpp.o [ 4267s] [417/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFormControlsCollection.cpp.o [ 4267s] [418/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/AnimationTask.cpp.o [ 4267s] [419/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLAnchorElement.cpp.o [ 4267s] [420/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLabelElement.cpp.o [ 4267s] [421/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTrackElement.cpp.o [ 4267s] [422/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLVideoElement.cpp.o [ 4268s] [423/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptGroupElement.cpp.o [ 4268s] [424/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLegendElement.cpp.o [ 4268s] [425/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLListContainer.cpp.o [ 4269s] [426/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOListElement.cpp.o [ 4269s] [427/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMapElement.cpp.o [ 4269s] [428/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptionElement.cpp.o [ 4269s] [429/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMetaElement.cpp.o [ 4269s] [430/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFormElement.cpp.o [ 4269s] [431/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLinkElement.cpp.o [ 4269s] [432/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLParamElement.cpp.o [ 4269s] [433/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Document.cpp.o [ 4269s] [434/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLImageElement.cpp.o [ 4269s] [435/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLModElement.cpp.o [ 4270s] [436/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLObjectElement.cpp.o [ 4270s] [437/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLElement.cpp.o [ 4270s] [438/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackCue.cpp.o [ 4270s] [439/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrack.cpp.o [ 4270s] [440/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackCueList.cpp.o [ 4270s] [441/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackList.cpp.o [ 4270s] [442/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptionsCollection.cpp.o [ 4271s] [443/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/KeyboardEvent.cpp.o [ 4271s] [444/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOutputElement.cpp.o [ 4271s] [445/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLQuoteElement.cpp.o [ 4271s] [446/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLScriptElement.cpp.o [ 4272s] [447/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ImageBitmap.cpp.o [ 4272s] [448/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ImageBitmapOptions.cpp.o [ 4272s] [449/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/MessageChannel.cpp.o [ 4272s] [450/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLInputElement.cpp.o [ 4273s] [451/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableColElement.cpp.o [ 4273s] [452/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLSelectElement.cpp.o [ 4273s] [453/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasPath.cpp.o [ 4273s] [454/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableCellElement.cpp.o [ 4273s] [455/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Element.cpp.o [ 4273s] [456/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableCaptionElement.cpp.o [ 4273s] [457/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext.cpp.o [ 4273s] [458/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext2DMixIn.cpp.o [ 4273s] [459/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext2D.cpp.o [ 4273s] [460/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableRowElement.cpp.o [ 4273s] [461/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/HTMLCanvasElement.cpp.o [ 4273s] [462/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageData.cpp.o [ 4273s] [463/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageBitmapRenderingContext.cpp.o [ 4273s] [464/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/Path2D.cpp.o [ 4273s] [465/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/WebGLRenderingContext.cpp.o [ 4273s] [466/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/TextMetrics.cpp.o [ 4273s] [467/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableColGroupElement.cpp.o [ 4273s] [468/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTablePartElement.cpp.o [ 4273s] [469/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableSectionElement.cpp.o [ 4273s] [470/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLUListElement.cpp.o [ 4273s] [471/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTitleElement.cpp.o [ 4273s] [472/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLUnknownElement.cpp.o [ 4274s] [473/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NamedNodeMap.cpp.o [ 4274s] [474/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ProcessingInstruction.cpp.o [ 4274s] [475/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTextAreaElement.cpp.o [ 4274s] [476/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLStyleElement.cpp.o [ 4274s] [477/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/MessagePort.cpp.o [ 4274s] [478/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/UIEvent.cpp.o [ 4274s] [479/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TransitionEvent.cpp.o [ 4275s] [480/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeList.cpp.o [ 4275s] [481/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTextEditable.cpp.o [ 4275s] [482/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableElement.cpp.o [ 4275s] [483/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Range.cpp.o [ 4275s] [484/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeListImpl.cpp.o [ 4275s] [485/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasImageSource.cpp.o [ 4275s] [486/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/WebOrigin.cpp.o [ 4276s] [487/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TouchEvent.cpp.o [ 4276s] [488/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeIterator.cpp.o [ 4276s] [489/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/SelectorQuery.cpp.o [ 4276s] [490/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLParserIdioms.cpp.o [ 4276s] [491/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntitySearch.cpp.o [ 4276s] [492/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasGradient.cpp.o [ 4276s] [493/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Avplay.cpp.o [ 4276s] [494/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TouchList.cpp.o [ 4277s] [495/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLElementLookupTrie.cpp.o [ 4277s] [496/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageSmoothingQuality.cpp.o [ 4277s] [497/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/TimeRanges.cpp.o [ 4277s] [498/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Touch.cpp.o [ 4277s] [499/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/PseudoElement.cpp.o [ 4277s] [500/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Text.cpp.o [ 4277s] [501/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntityTable.cpp.o [ 4277s] [502/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasPattern.cpp.o [ 4277s] [503/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TreeWalker.cpp.o [ 4278s] [504/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/MimeType.cpp.o [ 4278s] [505/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLTokenizer.cpp.o [ 4279s] [506/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLFormattingElementList.cpp.o [ 4279s] [507/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/PreloadScanner.cpp.o [ 4279s] [508/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Scrolling.cpp.o [ 4279s] [509/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedLength.cpp.o [ 4280s] [510/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGCircleElement.cpp.o [ 4280s] [511/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLStackItem.cpp.o [ 4280s] [512/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLConstructionSite.cpp.o [ 4280s] [513/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Console.cpp.o [ 4280s] [514/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Fetch.cpp.o [ 4280s] [515/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/inspector/Inspector.cpp.o [ 4280s] [516/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/RequestData.cpp.o [ 4280s] [517/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLTreeBuilder.cpp.o [ 4280s] [518/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Body.cpp.o [ 4281s] [519/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGRectElement.cpp.o [ 4281s] [520/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLParser.cpp.o [ 4281s] [521/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Node.cpp.o [ 4281s] [522/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/builder/html/HTMLDocumentBuilder.cpp.o [ 4281s] [523/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGEllipseElement.cpp.o [ 4281s] [524/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGDocument.cpp.o [ 4281s] [525/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/FetchUtils.cpp.o [ 4281s] [526/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGElement.cpp.o [ 4281s] [527/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/HeadersData.cpp.o [ 4282s] [528/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Request.cpp.o [ 4282s] [529/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLineElement.cpp.o [ 4282s] [530/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedCanvas.cpp.o [ 4282s] [531/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGImageElement.cpp.o [ 4282s] [532/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGClipPathElement.cpp.o [ 4282s] [533/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedVideo.cpp.o [ 4282s] [534/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPathElement.cpp.o [ 4282s] [535/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Headers.cpp.o [ 4282s] [536/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/ResponseData.cpp.o [ 4282s] [537/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPolylineElement.cpp.o [ 4282s] [538/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTextElement.cpp.o [ 4282s] [539/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/xml/XMLSerializer.cpp.o [ 4283s] [540/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Response.cpp.o [ 4283s] [541/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGSVGElement.cpp.o [ 4283s] [542/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fileapi/Blob.cpp.o [ 4283s] [543/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGStyleElement.cpp.o [ 4283s] [544/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGUseElement.cpp.o [ 4283s] [545/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamBuffer.cpp.o [ 4284s] [546/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLength.cpp.o [ 4284s] [547/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStream.cpp.o [ 4284s] [548/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamDefaultReader.cpp.o [ 4284s] [549/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamDefaultController.cpp.o [ 4284s] [550/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGScriptElement.cpp.o [ 4287s] [551/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameInline.cpp.o [ 4287s] [552/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBoxBlockLayout.cpp.o [ 4288s] [553/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameCounterText.cpp.o [ 4288s] [554/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameOptGroupBox.cpp.o [ 4289s] [555/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameQuoteText.cpp.o [ 4289s] [556/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedObject.cpp.o [ 4290s] [557/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameButtonBox.cpp.o [ 4290s] [558/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableCellBox.cpp.o [ 4290s] [559/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameDocument.cpp.o [ 4290s] [560/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedImage.cpp.o [ 4290s] [561/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedIFrame.cpp.o [ 4290s] [562/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameSelectBox.cpp.o [ 4290s] [563/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableColBox.cpp.o [ 4291s] [564/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGBox.cpp.o [ 4291s] [565/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameInputBox.cpp.o [ 4291s] [566/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBox.cpp.o [ 4291s] [567/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGClipPathBox.cpp.o [ 4291s] [568/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameOptionBox.cpp.o [ 4291s] [569/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastServer.cpp.o [ 4291s] [570/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastApplication.cpp.o [ 4291s] [571/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastConfig.cpp.o [ 4291s] [572/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/DIALRunnable.cpp.o [ 4291s] [573/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableRowBox.cpp.o [ 4291s] [574/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableCaptionBox.cpp.o [ 4291s] [575/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/SSDPRunnable.cpp.o [ 4291s] [576/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaStreamTrack.cpp.o [ 4291s] [577/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaStream.cpp.o [ 4292s] [578/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameGridBox.cpp.o [ 4292s] [579/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGInvisibleBox.cpp.o [ 4292s] [580/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableSectionBox.cpp.o [ 4292s] [581/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameFlexibleBox.cpp.o [ 4292s] [582/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/SourceBuffer.cpp.o [ 4292s] [583/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/LayoutRepaintTracker.cpp.o [ 4292s] [584/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGEllipseBox.cpp.o [ 4292s] [585/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableObjectBox.cpp.o [ 4292s] [586/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBox.cpp.o [ 4292s] [587/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/MediaSource.cpp.o [ 4292s] [588/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/SourceBufferList.cpp.o [ 4292s] [589/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaDevices.cpp.o [ 4292s] [590/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCCertificate.cpp.o [ 4292s] [591/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCConfiguration.cpp.o [ 4292s] [592/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceCandidate.cpp.o [ 4292s] [593/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDataChannel.cpp.o [ 4292s] [594/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDtlsTransport.cpp.o [ 4292s] [595/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDataChannelEvent.cpp.o [ 4292s] [596/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCError.cpp.o [ 4292s] [597/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceServer.cpp.o [ 4292s] [598/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnectionIceEvent.cpp.o [ 4292s] [599/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGCircleBox.cpp.o [ 4292s] [600/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpReceiver.cpp.o [ 4292s] [601/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceTransport.cpp.o [ 4292s] [602/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPolylineBox.cpp.o [ 4292s] [603/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCSctpTransport.cpp.o [ 4292s] [604/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnectionIceErrorEvent.cpp.o [ 4292s] [605/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnection.cpp.o [ 4292s] [606/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpTransceiver.cpp.o [ 4292s] [607/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpSender.cpp.o [ 4292s] [608/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCTrackEvent.cpp.o [ 4292s] [609/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCSessionDescription.cpp.o [ 4292s] [610/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCStatsReport.cpp.o [ 4292s] [611/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplaced.cpp.o [ 4292s] [612/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/LWSRunnable.cpp.o [ 4292s] [613/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/WebRtcManager.cpp.o [ 4292s] [614/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/SocketLWS.cpp.o [ 4292s] [615/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/WebSocket.cpp.o [ 4292s] [616/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/SocketNN.cpp.o [ 4292s] [617/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerContainer.cpp.o [ 4292s] [618/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerAgent.cpp.o [ 4293s] [619/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/Connection.cpp.o [ 4293s] [620/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/IORunnable.cpp.o [ 4293s] [621/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/JobQueue.cpp.o [ 4293s] [622/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/Message.cpp.o [ 4293s] [623/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableBox.cpp.o [ 4294s] [624/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGLineBox.cpp.o [ 4294s] [625/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorker.cpp.o [ 4294s] [626/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/CanvasFillStrokeSource.cpp.o [ 4294s] [627/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerGlobalScope.cpp.o [ 4294s] [628/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/image/BufferedNativeImageData.cpp.o [ 4294s] [629/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/image/ImageDecoder.cpp.o [ 4294s] [630/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRegistration.cpp.o [ 4294s] [631/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/battery/Battery.cpp.o [ 4294s] [632/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPolygonBox.cpp.o [ 4294s] [633/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/BaseRunnable.cpp.o [ 4294s] [634/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRequest.cpp.o [ 4294s] [635/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerExecutor.cpp.o [ 4294s] [636/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/client/ServiceWorkerClientConnection.cpp.o [ 4294s] [637/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTreeBuilder.cpp.o [ 4294s] [638/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerHostJobHandler.cpp.o [ 4294s] [639/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerServer.cpp.o [ 4294s] [640/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/Notification.cpp.o [ 4294s] [641/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/Frame.cpp.o [ 4294s] [642/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/NotificationJob.cpp.o [ 4295s] [643/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/NotificationService.cpp.o [ 4295s] [644/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/RepaintRegionTracker.cpp.o [ 4295s] [645/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushManager.cpp.o [ 4295s] [646/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushServiceAgent.cpp.o [ 4295s] [647/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushSubscription.cpp.o [ 4295s] [648/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushSubscriptionOptions.cpp.o [ 4295s] [649/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPathBox.cpp.o [ 4295s] [650/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBoxInlineLayout.cpp.o [ 4295s] [651/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/ShadowBlur.cpp.o [ 4295s] [652/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/tts/SpeechSynthesis.cpp.o [ 4295s] [653/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/tts/TextAlternativeHelper.cpp.o [ 4295s] [654/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGRectBox.cpp.o [ 4295s] [655/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioBuffer.cpp.o [ 4295s] [656/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioBufferSourceNode.cpp.o [ 4295s] [657/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/PositionError.cpp.o [ 4295s] [658/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioDestinationNode.cpp.o [ 4295s] [659/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioContext.cpp.o [ 4295s] [660/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/TextDecorationData.cpp.o [ 4295s] [661/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioNode.cpp.o [ 4295s] [662/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioScheduledSourceNode.cpp.o [ 4295s] [663/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/BaseAudioContext.cpp.o [ 4295s] [664/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/MediaElementAudioSourceNode.cpp.o [ 4295s] [665/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WebWorker.cpp.o [ 4295s] [666/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerGlobalScope.cpp.o [ 4295s] [667/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerNavigator.cpp.o [ 4295s] [668/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerLocation.cpp.o [ 4295s] [669/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerScriptController.cpp.o [ 4296s] [670/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/profiling/Profiling.cpp.o [ 4296s] [671/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/message_loop/MessageLoop.cpp.o [ 4296s] [672/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/Compositor.cpp.o [ 4296s] [673/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGSVGBox.cpp.o [ 4296s] [674/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGUseBox.cpp.o [ 4296s] [675/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ErrorData.cpp.o [ 4296s] [676/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/StackingContext.cpp.o [ 4297s] [677/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/MessageServiceWorker.cpp.o [ 4297s] [678/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/message_loop/Timer.cpp.o [ 4297s] [679/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/ResourceRequestJob.cpp.o [ 4297s] [680/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/RegistrationOptions.cpp.o [ 4297s] [681/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Coordinates.cpp.o [ 4297s] [682/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/ResourceRequest.cpp.o [ 4297s] [683/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerJob.cpp.o [ 4297s] [684/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRegistrationData.cpp.o [ 4297s] [685/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerHostConnection.cpp.o [ 4297s] [686/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Geoposition.cpp.o [ 4297s] [687/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/AdaptedThread.cpp.o [ 4298s] [688/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Semaphore.cpp.o [ 4298s] [689/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/Canvas.cpp.o [ 4298s] [690/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerJobData.cpp.o [ 4298s] [691/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerData.cpp.o [ 4298s] [692/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/NetworkURLResourceRequestJobDelegate.cpp.o [ 4298s] [693/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Mutex.cpp.o [ 4299s] [694/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Geolocation.cpp.o [ 4299s] [695/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameTreeBuilderSVG.cpp.o [ 4299s] [696/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/client/ServiceWorkerProcessManager.cpp.o [ 4299s] [697/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/ThreadPool.cpp.o [ 4299s] [698/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Thread.cpp.o [ 4299s] [699/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/EventSourceParser.cpp.o [ 4300s] [700/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGTextBox.cpp.o [ 4300s] [701/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/NavigatorMixin.cpp.o [ 4300s] [702/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/GeolocationTizen.cpp.o [ 4300s] [703/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WindowOrWorkerGlobalScope.cpp.o [ 4300s] [704/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSGradientValue.cpp.o [ 4300s] [705/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/font/Font.cpp.o [ 4301s] [706/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WebBase.cpp.o [ 4301s] [707/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/profiling/LayoutFlowLoggerBuilder.cpp.o [ 4301s] [708/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Navigator.cpp.o [ 4301s] [709/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/storage/Storage.cpp.o [ 4301s] [710/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/BorderImage.cpp.o [ 4301s] [711/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSAngle.cpp.o [ 4302s] [712/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ImageValue.cpp.o [ 4302s] [713/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Serializer.cpp.o [ 4302s] [714/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSLength.cpp.o [ 4302s] [715/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSProperty.cpp.o [ 4302s] [716/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/History.cpp.o [ 4302s] [717/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSKeywordValue.cpp.o [ 4302s] [718/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleLookupTrie.cpp.o [ 4303s] [719/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Screen.cpp.o [ 4303s] [720/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSFilterFunction.cpp.o [ 4303s] [721/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSTime.cpp.o [ 4303s] [722/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSRuleList.cpp.o [ 4303s] [723/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/AncestorSelectorFilter.cpp.o [ 4303s] [724/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CalcData.cpp.o [ 4304s] [725/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Location.cpp.o [ 4304s] [726/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSNumericValue.cpp.o [ 4304s] [727/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Archivable.cpp.o [ 4304s] [728/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/EventSource.cpp.o [ 4304s] [729/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ContentData.cpp.o [ 4305s] [730/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleValue.cpp.o [ 4305s] [731/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSVariableSyntaxTreeBuilder.cpp.o [ 4305s] [732/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Archiver.cpp.o [ 4305s] [733/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CounterStyle.cpp.o [ 4305s] [734/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ListStyleData.cpp.o [ 4305s] [735/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQuery.cpp.o [ 4306s] [736/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/NamedColors.cpp.o [ 4306s] [737/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ShadowData.cpp.o [ 4306s] [738/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSUnitValue.cpp.o [ 4306s] [739/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/ProgramOptions.cpp.o [ 4307s] [740/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryEvaluator.cpp.o [ 4307s] [741/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/PositionedMaskData.cpp.o [ 4307s] [742/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Unit.cpp.o [ 4307s] [743/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Length.cpp.o [ 4307s] [744/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/UnitHelper.cpp.o [ 4307s] [745/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleSheet.cpp.o [ 4307s] [746/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/launcher/WebWorkerEntry.cpp.o [ 4307s] [747/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSParser.cpp.o [ 4307s] [748/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/FilterFunctions.cpp.o [ 4307s] [749/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleAnimationData.cpp.o [ 4307s] [750/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleSheet.cpp.o [ 4308s] [751/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryListMatcher.cpp.o [ 4308s] [752/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleRule.cpp.o [ 4308s] [753/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleBackgroundData.cpp.o [ 4308s] [754/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaList.cpp.o [ 4308s] [755/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQuerySet.cpp.o [ 4308s] [756/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryList.cpp.o [ 4308s] [757/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleTransitionData.cpp.o [ 4308s] [758/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/AtomicString.cpp.o [ 4308s] [759/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Window.cpp.o [ 4308s] [760/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Id.cpp.o [ 4308s] [761/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/QualifiedName.cpp.o [ 4308s] [762/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Cryptographic.cpp.o [ 4309s] [763/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/AttributeName.cpp.o [ 4309s] [764/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/GlobalOptions.cpp.o [ 4309s] [765/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/GradientData.cpp.o [ 4309s] [766/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/RandomEngine.cpp.o [ 4310s] [767/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Message.cpp.o [ 4310s] [768/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleSheetList.cpp.o [ 4310s] [769/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/URL.cpp.o [ 4310s] [770/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorGL.cpp.o [ 4310s] [771/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/TextConverter.cpp.o [ 4310s] [772/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/LineBreakerIteratorPool.cpp.o [ 4310s] [773/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ComputedStyle.cpp.o [ 4311s] [774/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/BrowsingContext.cpp.o [ 4311s] [775/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WebView.cpp.o [ 4311s] [776/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasCairoUtils.cpp.o [ 4311s] [777/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaValues.cpp.o [ 4311s] [778/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleRule.cpp.o [ 4311s] [779/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasSkia.cpp.o [ 4311s] [780/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopLibUV.cpp.o [ 4311s] [781/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopWindows.cpp.o [ 4311s] [782/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorMock.cpp.o [ 4311s] [783/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/hb-icu/HarfBuzzICU.cpp.o [ 4311s] [784/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplMock.cpp.o [ 4311s] [785/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasMock.cpp.o [ 4312s] [786/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/URLSearchParams.cpp.o [ 4312s] [787/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/Demuxer.cpp.o [ 4312s] [788/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/DemuxerMP4.cpp.o [ 4312s] [789/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/DemuxerWebM.cpp.o [ 4312s] [790/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathMock.cpp.o [ 4312s] [791/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayer.cpp.o [ 4312s] [792/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MP4PacketGenerator.cpp.o [ 4312s] [793/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudioLinux.cpp.o [ 4312s] [794/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/String.cpp.o [ 4312s] [795/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudio.cpp.o [ 4312s] [796/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorSkia.cpp.o [ 4312s] [797/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudioTizen.cpp.o [ 4312s] [798/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTV.cpp.o [ 4312s] [799/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtc.cpp.o [ 4312s] [800/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTizen.cpp.o [ 4312s] [801/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTizenBase.cpp.o [ 4312s] [802/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtcTizen.cpp.o [ 4312s] [803/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtcLinux.cpp.o [ 4312s] [804/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathSkia.cpp.o [ 4312s] [805/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPCacheEntry.cpp.o [ 4312s] [806/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPCache.cpp.o [ 4312s] [807/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MockMediaPlayer.cpp.o [ 4312s] [808/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/StreamInfo.cpp.o [ 4312s] [809/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathCairo.cpp.o [ 4312s] [810/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/process/base/Process.cpp.o [ 4313s] [811/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/tts/TTSBase.cpp.o [ 4313s] [812/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplSkia.cpp.o [ 4313s] [813/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/tts/TTSTV.cpp.o [ 4313s] [814/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/CompressedNativeImageDataImpl.cpp.o [ 4313s] [815/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/ImageUtils.cpp.o [ 4313s] [816/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/webrtc/VideoCapturer.cpp.o [ 4313s] [817/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/file/Directory.cpp.o [ 4313s] [818/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/HeaderResource.cpp.o [ 4313s] [819/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/file/File.cpp.o [ 4314s] [820/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/AnimatedGIFNativeImageDataImpl.cpp.o [ 4314s] [821/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/xml/FormData.cpp.o [ 4314s] [822/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/NativeImageDataImpl.cpp.o [ 4314s] [823/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerLibUV.cpp.o [ 4314s] [824/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/android/AndroidBridge.cpp.o [ 4314s] [825/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinWindows.cpp.o [ 4314s] [826/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/xml/XMLHttpRequest.cpp.o [ 4315s] [827/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinLibUV.cpp.o [ 4315s] [828/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorCairo.cpp.o [ 4315s] [829/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ComputedStyleCSSStyleDeclaration.cpp.o [ 4315s] [830/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerWindows.cpp.o [ 4315s] [831/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ResourceURL.cpp.o [ 4315s] [832/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopEFL.cpp.o [ 4316s] [833/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWEWebView.cpp.o [ 4316s] [834/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerEFL.cpp.o [ 4316s] [835/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/public/DeviceInfo.cpp.o [ 4316s] [836/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPRequest.cpp.o [ 4316s] [837/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPUtil.cpp.o [ 4316s] [838/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplCairo.cpp.o [ 4316s] [839/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPResponse.cpp.o [ 4316s] [840/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasCairo.cpp.o [ 4316s] [841/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPTransaction.cpp.o [ 4316s] [842/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/curl/NetworkSharedResourceManager.cpp.o [ 4317s] [843/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplGL.cpp.o [ 4317s] [844/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/VirtualCursorData.cpp.o [ 4317s] [845/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplHeadless.cpp.o [ 4317s] [846/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ElementResourceClient.cpp.o [ 4317s] [847/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPHeaderMap.cpp.o [ 4317s] [848/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinEFL.cpp.o [ 4317s] [849/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/JavaScriptNativeHandler.cpp.o [ 4317s] [850/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/FontResource.cpp.o [ 4317s] [851/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/TextResource.cpp.o [ 4317s] [852/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWE.cpp.o [ 4317s] [853/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/Resource.cpp.o [ 4318s] [854/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/glfw/LWEWebViewGLFW.cpp.o [ 4318s] [855/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/ecore_wayland2/LWEWebViewEcoreWayland2.cpp.o [ 4318s] [856/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/dali/LWEWebViewDALi.cpp.o [ 4318s] [857/871] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/ExtensionManager.cpp.o [ 4318s] [858/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/SVGNativeImageDataImpl.cpp.o [ 4318s] [859/871] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/ExtensionAdapter.cpp.o [ 4318s] [860/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/efl/LWEWebViewEFL.cpp.o [ 4318s] [861/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplGB.cpp.o [ 4318s] [862/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleDeclaration.cpp.o [ 4318s] [863/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ImageResource.cpp.o [ 4319s] [864/871] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/TizenDeviceAPILoaderForEscargot.cpp.o [ 4319s] [865/871] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/Extension.cpp.o [ 4319s] [866/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ResourceLoader.cpp.o [ 4320s] [867/871] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/WebWidgetAPIInstance.cpp.o [ 4320s] [868/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/PlatformWindow.cpp.o [ 4321s] [869/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWEWebContainer.cpp.o [ 4323s] [870/871] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Style.cpp.o [ 4530s] [871/871] Linking CXX shared library out_tizen/unified_wearable/release/lib/liblightweight-web-engine.wearable.so [ 4530s] + ninja starfish.executable [ 4532s] [1/3] Building CXX object CMakeFiles/starfish.executable.dir/src/shell/testRunner.cpp.o [ 4533s] [2/3] Building CXX object CMakeFiles/starfish.executable.dir/src/shell/shell.cpp.o [ 4727s] [3/3] Linking CXX executable out_tizen/unified_wearable/release/lightweight-web-engine.wearable [ 4727s] + exit 0 [ 4727s] Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.VeAY4U [ 4727s] + umask 022 [ 4727s] + cd /home/abuild/rpmbuild/BUILD [ 4727s] + cd lightweight-web-engine-1.0.0 [ 4727s] + LANG=C [ 4727s] + export LANG [ 4727s] + unset DISPLAY [ 4727s] + rm -rf /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm [ 4727s] + mkdir -p /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm [ 4727s] + rm -rf /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm [ 4727s] + mkdir -p /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/lib/lwe [ 4727s] + mkdir -p /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/bin [ 4727s] + mkdir -p /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm//usr/lib/lwe/tv [ 4727s] + 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-69.2.arm/usr/lib/lwe/tv [ 4728s] + 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-69.2.arm/usr/lib/lwe/tv [ 4739s] + mkdir -p /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm//usr/lib/lwe/mobile [ 4739s] + 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-69.2.arm/usr/lib/lwe/mobile [ 4740s] + 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-69.2.arm/usr/lib/lwe/mobile [ 4749s] + mkdir -p /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm//usr/lib/lwe/wearable [ 4749s] + 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-69.2.arm/usr/lib/lwe/wearable [ 4750s] + 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-69.2.arm/usr/lib/lwe/wearable [ 4761s] + mkdir -p /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/include/lightweight-web-engine [ 4761s] + cp inc/LWEWebView.h /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/include/lightweight-web-engine/ [ 4761s] + cp inc/PlatformIntegrationData.h /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/include/lightweight-web-engine/ [ 4761s] + mkdir -p /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/lib/pkgconfig/ [ 4761s] + cp lightweight-web-engine.pc lightweight-web-engine-dali-plugin.pc /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/lib/pkgconfig/ [ 4761s] + mkdir -p /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/etc/ld.so.conf.d/ [ 4761s] + cp lightweight-web-engine.conf /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/etc/ld.so.conf.d/ [ 4761s] + pushd /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/lib/lwe [ 4761s] ~/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/lib/lwe ~/rpmbuild/BUILD/lightweight-web-engine-1.0.0 [ 4761s] + rm -fr '*.so*' [ 4761s] + ln -s liblightweight-web-engine.so.1 liblightweight-web-engine.so [ 4761s] + ln -s liblightweight-web-engine-dali-plugin.so.1 liblightweight-web-engine-dali-plugin.so [ 4761s] + popd [ 4761s] ~/rpmbuild/BUILD/lightweight-web-engine-1.0.0 [ 4761s] + pushd /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/lib [ 4761s] ~/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/lib ~/rpmbuild/BUILD/lightweight-web-engine-1.0.0 [ 4761s] + ln -s lwe/liblightweight-web-engine.so liblightweight-web-engine.so [ 4761s] + ln -s lwe/liblightweight-web-engine-dali-plugin.so liblightweight-web-engine-dali-plugin.so [ 4761s] + popd [ 4761s] ~/rpmbuild/BUILD/lightweight-web-engine-1.0.0 [ 4761s] + /usr/lib/rpm/find-debuginfo.sh /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0 [ 4761s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/lib/lwe/mobile/libclipper.so [ 4762s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/lib/lwe/mobile/liblightweight-web-engine-dali-plugin.mobile.so [ 4766s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/lib/lwe/mobile/liblightweight-web-engine.mobile.so [ 4770s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/lib/lwe/mobile/libmp4parse.so [ 4770s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/lib/lwe/mobile/libskia_matrix.so [ 4771s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/lib/lwe/mobile/libtuv.so [ 4771s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/lib/lwe/mobile/libwebm.so [ 4771s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/lib/lwe/tv/libclipper.so [ 4771s] *** WARNING: identical binaries are copied, not linked: [ 4771s] /usr/lib/lwe/tv/libclipper.so [ 4771s] and /usr/lib/lwe/mobile/libclipper.so [ 4771s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/lib/lwe/tv/liblightweight-web-engine-dali-plugin.tv.so [ 4775s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/lib/lwe/tv/liblightweight-web-engine.tv.so [ 4780s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/lib/lwe/tv/libmp4parse.so [ 4780s] *** WARNING: identical binaries are copied, not linked: [ 4780s] /usr/lib/lwe/tv/libmp4parse.so [ 4780s] and /usr/lib/lwe/mobile/libmp4parse.so [ 4781s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/lib/lwe/tv/libskia_matrix.so [ 4781s] *** WARNING: identical binaries are copied, not linked: [ 4781s] /usr/lib/lwe/tv/libskia_matrix.so [ 4781s] and /usr/lib/lwe/mobile/libskia_matrix.so [ 4781s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/lib/lwe/tv/libtuv.so [ 4781s] *** WARNING: identical binaries are copied, not linked: [ 4781s] /usr/lib/lwe/tv/libtuv.so [ 4781s] and /usr/lib/lwe/mobile/libtuv.so [ 4781s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/lib/lwe/tv/libwebm.so [ 4781s] *** WARNING: identical binaries are copied, not linked: [ 4781s] /usr/lib/lwe/tv/libwebm.so [ 4781s] and /usr/lib/lwe/mobile/libwebm.so [ 4781s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/lib/lwe/tv/libwebrtc.so [ 4781s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/lib/lwe/wearable/libclipper.so [ 4781s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/lib/lwe/wearable/liblightweight-web-engine-dali-plugin.wearable.so [ 4786s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/lib/lwe/wearable/liblightweight-web-engine.wearable.so [ 4789s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/lib/lwe/wearable/libmp4parse.so [ 4789s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/lib/lwe/wearable/libskia_matrix.so [ 4790s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/lib/lwe/wearable/libtuv.so [ 4790s] *** WARNING: identical binaries are copied, not linked: [ 4790s] /usr/lib/lwe/wearable/libtuv.so [ 4790s] and /usr/lib/lwe/mobile/libtuv.so [ 4790s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/lib/lwe/wearable/libwebm.so [ 4792s] 47826 blocks [ 4792s] + cp /usr/lib/rpm/debug.manifest /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/lightweight-web-engine-debuginfo.manifest [ 4792s] + cp /usr/lib/rpm/debug.manifest /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/lightweight-web-engine-debugsource.manifest [ 4792s] + /usr/lib/rpm/check-buildroot [ 4793s] + /usr/lib/rpm//brp-compress [ 4793s] + /usr/lib/rpm/brp-strip-static-archive /bin/strip [ 4798s] + /usr/lib/rpm/brp-python-hardlink [ 4798s] + /usr/lib/rpm/tizen/find-docs.sh /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm [ 4798s] Processing files: lightweight-web-engine-1.0.0-69.2.armv7l [ 4798s] Aptk: PG1hbmlmZXN0PgogICAgPHJlcXVlc3Q+CiAgICAgICAgPGRvbWFpbiBuYW1lPSJf [ 4798s] Ii8+CiAgICA8L3JlcXVlc3Q+CjwvbWFuaWZlc3Q+Cg== [ 4798s] [ 4798s] Provides: lightweight-web-engine = 1.0.0-69.2 lightweight-web-engine(armv7l-32) = 1.0.0-69.2 [ 4798s] Requires(interp): /bin/sh /bin/sh [ 4798s] Requires(rpmlib): rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(CompressedFileNames) <= 3.0.4-1 [ 4798s] Requires(post): /sbin/ldconfig /bin/sh [ 4798s] Requires(postun): /sbin/ldconfig /bin/sh [ 4798s] Processing files: lightweight-web-engine-debugsource-1.0.0-69.2.armv7l [ 4798s] Aptk: PG1hbmlmZXN0PgogPHJlcXVlc3Q+CiAgICA8ZG9tYWluIG5hbWU9Il8iLz4KIDwv [ 4798s] cmVxdWVzdD4KPC9tYW5pZmVzdD4K [ 4798s] [ 4798s] Provides: lightweight-web-engine-debugsource = 1.0.0-69.2 lightweight-web-engine-debugsource(armv7l-32) = 1.0.0-69.2 [ 4798s] Requires(rpmlib): rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(CompressedFileNames) <= 3.0.4-1 [ 4798s] Processing files: lightweight-web-engine-profile_tv-1.0.0-69.2.armv7l [ 4798s] Aptk: PG1hbmlmZXN0PgogICAgPHJlcXVlc3Q+CiAgICAgICAgPGRvbWFpbiBuYW1lPSJf [ 4798s] Ii8+CiAgICA8L3JlcXVlc3Q+CjwvbWFuaWZlc3Q+Cg== [ 4798s] [ 4798s] Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.pTPnlU [ 4798s] + umask 022 [ 4798s] + cd /home/abuild/rpmbuild/BUILD [ 4798s] + cd lightweight-web-engine-1.0.0 [ 4798s] + LICENSEDIR=/home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/share/licenses/lightweight-web-engine-profile_tv [ 4798s] + export LICENSEDIR [ 4798s] + /bin/mkdir -p /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/share/licenses/lightweight-web-engine-profile_tv [ 4798s] + cp -pr LICENSE.LGPL-2.1+ /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/share/licenses/lightweight-web-engine-profile_tv [ 4798s] + cp -pr LICENSE.BSD-3-Clause /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/share/licenses/lightweight-web-engine-profile_tv [ 4798s] + cp -pr LICENSE.BSL-1.0 /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/share/licenses/lightweight-web-engine-profile_tv [ 4798s] + cp -pr LICENSE.MIT /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/share/licenses/lightweight-web-engine-profile_tv [ 4798s] + cp -pr LICENSE.ISC /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/share/licenses/lightweight-web-engine-profile_tv [ 4798s] + cp -pr LICENSE.Zlib /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/share/licenses/lightweight-web-engine-profile_tv [ 4798s] + cp -pr LICENSE.BOEHM-GC /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/share/licenses/lightweight-web-engine-profile_tv [ 4798s] + cp -pr LICENSE.NCSA /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/share/licenses/lightweight-web-engine-profile_tv [ 4798s] + cp -pr LICENSE.ICU /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/share/licenses/lightweight-web-engine-profile_tv [ 4798s] + cp -pr LICENSE.Old-MIT /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/share/licenses/lightweight-web-engine-profile_tv [ 4798s] + exit 0 [ 4798s] Provides: libclipper.so liblightweight-web-engine-dali-plugin.so.1 liblightweight-web-engine.so.1 libmp4parse.so libskia_matrix.so libtuv.so libwebm.so libwebrtc.so lightweight-web-engine-compat = 1.0.0-69.2 lightweight-web-engine-profile_tv = 1.0.0-69.2 lightweight-web-engine-profile_tv(armv7l-32) = 1.0.0-69.2 [ 4798s] Requires(interp): /bin/sh [ 4798s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 4798s] Requires(post): /bin/sh [ 4798s] Requires: ld-linux.so.3 ld-linux.so.3(GLIBC_2.4) libc.so.6 libc.so.6(GLIBC_2.11) libc.so.6(GLIBC_2.15) libc.so.6(GLIBC_2.16) libc.so.6(GLIBC_2.17) libc.so.6(GLIBC_2.27) libc.so.6(GLIBC_2.28) libc.so.6(GLIBC_2.4) libc.so.6(GLIBC_2.7) libc.so.6(GLIBC_2.9) libcairo.so.2 libcapi-location-manager.so.0 libcapi-media-audio-io.so.0 libcapi-media-player.so.0 libcapi-media-sound-manager.so.0 libcapi-media-tool.so.0 libclipper.so libcrypto.so.1.1 libcrypto.so.1.1(OPENSSL_1_1_0) libcurl.so.4 libcurl.so.4(CURL_OPENSSL_4) libdali-adaptor.so.0 libdali-core.so.0 libdali-toolkit.so.0 libdl.so.2 libdl.so.2(GLIBC_2.4) libdlog.so.0 libecore.so.1 libecore_evas.so.1 libecore_imf.so.1 libecore_imf_evas.so.1 libelementary.so.1 libevas.so.1 libfontconfig.so.1 libfreetype.so.6 libgcc_s.so.1 libgcc_s.so.1(GCC_3.0) libgcc_s.so.1(GCC_3.3.1) libgcc_s.so.1(GCC_3.5) libgif.so.7 libharfbuzz.so.0 libjpeg.so.8 libjpeg.so.8(LIBJPEG_8.0) libm.so.6 libm.so.6(GLIBC_2.27) libm.so.6(GLIBC_2.29) libm.so.6(GLIBC_2.4) libmp4parse.so libpng16.so.16 libpng16.so.16(PNG16_0) libpthread.so.0 libpthread.so.0(GLIBC_2.4) libskia_matrix.so libssl.so.1.1 libssl.so.1.1(OPENSSL_1_1_0) libssl.so.1.1(OPENSSL_1_1_1) libstdc++.so.6 libstdc++.so.6(CXXABI_1.3) libstdc++.so.6(CXXABI_1.3.11) libstdc++.so.6(CXXABI_1.3.3) libstdc++.so.6(CXXABI_1.3.5) libstdc++.so.6(CXXABI_1.3.8) libstdc++.so.6(CXXABI_ARM_1.3.3) libstdc++.so.6(GLIBCXX_3.4) libstdc++.so.6(GLIBCXX_3.4.11) libstdc++.so.6(GLIBCXX_3.4.14) libstdc++.so.6(GLIBCXX_3.4.15) libstdc++.so.6(GLIBCXX_3.4.18) libstdc++.so.6(GLIBCXX_3.4.19) libstdc++.so.6(GLIBCXX_3.4.20) libstdc++.so.6(GLIBCXX_3.4.21) libstdc++.so.6(GLIBCXX_3.4.26) libstdc++.so.6(GLIBCXX_3.4.5) libstdc++.so.6(GLIBCXX_3.4.9) libtbm.so.1 libtuv.so libwebm.so libwebrtc.so rtld(GNU_HASH) [ 4798s] Conflicts: lightweight-web-engine-profile_headless = 1.0.0-69.2 lightweight-web-engine-profile_mobile = 1.0.0-69.2 lightweight-web-engine-profile_wearable = 1.0.0-69.2 [ 4798s] Processing files: lightweight-web-engine-profile_mobile-1.0.0-69.2.armv7l [ 4798s] Aptk: PG1hbmlmZXN0PgogICAgPHJlcXVlc3Q+CiAgICAgICAgPGRvbWFpbiBuYW1lPSJf [ 4798s] Ii8+CiAgICA8L3JlcXVlc3Q+CjwvbWFuaWZlc3Q+Cg== [ 4798s] [ 4798s] Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.lYP7ZS [ 4798s] + umask 022 [ 4798s] + cd /home/abuild/rpmbuild/BUILD [ 4798s] + cd lightweight-web-engine-1.0.0 [ 4798s] + LICENSEDIR=/home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/share/licenses/lightweight-web-engine-profile_mobile [ 4798s] + export LICENSEDIR [ 4798s] + /bin/mkdir -p /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/share/licenses/lightweight-web-engine-profile_mobile [ 4798s] + cp -pr LICENSE.LGPL-2.1+ /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/share/licenses/lightweight-web-engine-profile_mobile [ 4798s] + cp -pr LICENSE.BSD-3-Clause /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/share/licenses/lightweight-web-engine-profile_mobile [ 4798s] + cp -pr LICENSE.BSL-1.0 /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/share/licenses/lightweight-web-engine-profile_mobile [ 4798s] + cp -pr LICENSE.MIT /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/share/licenses/lightweight-web-engine-profile_mobile [ 4799s] + cp -pr LICENSE.ISC /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/share/licenses/lightweight-web-engine-profile_mobile [ 4799s] + cp -pr LICENSE.Zlib /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/share/licenses/lightweight-web-engine-profile_mobile [ 4799s] + cp -pr LICENSE.BOEHM-GC /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/share/licenses/lightweight-web-engine-profile_mobile [ 4799s] + cp -pr LICENSE.NCSA /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/share/licenses/lightweight-web-engine-profile_mobile [ 4799s] + cp -pr LICENSE.ICU /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/share/licenses/lightweight-web-engine-profile_mobile [ 4799s] + cp -pr LICENSE.Old-MIT /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/share/licenses/lightweight-web-engine-profile_mobile [ 4799s] + exit 0 [ 4799s] Provides: libclipper.so liblightweight-web-engine-dali-plugin.so.1 liblightweight-web-engine.so.1 libmp4parse.so libskia_matrix.so libtuv.so libwebm.so lightweight-web-engine-compat = 1.0.0-69.2 lightweight-web-engine-profile_mobile = 1.0.0-69.2 lightweight-web-engine-profile_mobile(armv7l-32) = 1.0.0-69.2 [ 4799s] Requires(interp): /bin/sh [ 4799s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 4799s] Requires(post): /bin/sh [ 4799s] Requires: ld-linux.so.3 ld-linux.so.3(GLIBC_2.4) libc.so.6 libc.so.6(GLIBC_2.11) libc.so.6(GLIBC_2.17) libc.so.6(GLIBC_2.27) libc.so.6(GLIBC_2.28) libc.so.6(GLIBC_2.4) libc.so.6(GLIBC_2.7) libcairo.so.2 libcapi-media-player.so.0 libcapi-media-tool.so.0 libclipper.so libcrypto.so.1.1 libcrypto.so.1.1(OPENSSL_1_1_0) libcurl.so.4 libcurl.so.4(CURL_OPENSSL_4) libdali-adaptor.so.0 libdali-core.so.0 libdali-toolkit.so.0 libdl.so.2 libdl.so.2(GLIBC_2.4) libdlog.so.0 libecore.so.1 libecore_evas.so.1 libecore_imf.so.1 libecore_imf_evas.so.1 libelementary.so.1 libevas.so.1 libfontconfig.so.1 libfreetype.so.6 libgcc_s.so.1 libgcc_s.so.1(GCC_3.0) libgcc_s.so.1(GCC_3.3.1) libgcc_s.so.1(GCC_3.5) libgif.so.7 libharfbuzz.so.0 libjpeg.so.8 libjpeg.so.8(LIBJPEG_8.0) libm.so.6 libm.so.6(GLIBC_2.29) libm.so.6(GLIBC_2.4) libmp4parse.so libpng16.so.16 libpng16.so.16(PNG16_0) libpthread.so.0 libpthread.so.0(GLIBC_2.4) libskia_matrix.so libstdc++.so.6 libstdc++.so.6(CXXABI_1.3) libstdc++.so.6(CXXABI_1.3.11) libstdc++.so.6(CXXABI_1.3.3) libstdc++.so.6(CXXABI_1.3.5) libstdc++.so.6(CXXABI_1.3.8) libstdc++.so.6(CXXABI_ARM_1.3.3) libstdc++.so.6(GLIBCXX_3.4) libstdc++.so.6(GLIBCXX_3.4.11) libstdc++.so.6(GLIBCXX_3.4.14) libstdc++.so.6(GLIBCXX_3.4.15) libstdc++.so.6(GLIBCXX_3.4.18) libstdc++.so.6(GLIBCXX_3.4.19) libstdc++.so.6(GLIBCXX_3.4.20) libstdc++.so.6(GLIBCXX_3.4.21) libstdc++.so.6(GLIBCXX_3.4.26) libstdc++.so.6(GLIBCXX_3.4.5) libstdc++.so.6(GLIBCXX_3.4.9) libtbm.so.1 libtuv.so libwebm.so rtld(GNU_HASH) [ 4799s] Conflicts: lightweight-web-engine-profile_tv = 1.0.0-69.2 lightweight-web-engine-profile_headless = 1.0.0-69.2 lightweight-web-engine-profile_wearable = 1.0.0-69.2 [ 4799s] Processing files: lightweight-web-engine-profile_wearable-1.0.0-69.2.armv7l [ 4799s] Aptk: PG1hbmlmZXN0PgogICAgPHJlcXVlc3Q+CiAgICAgICAgPGRvbWFpbiBuYW1lPSJf [ 4799s] Ii8+CiAgICA8L3JlcXVlc3Q+CjwvbWFuaWZlc3Q+Cg== [ 4799s] [ 4799s] Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.3UVEMW [ 4799s] + umask 022 [ 4799s] + cd /home/abuild/rpmbuild/BUILD [ 4799s] + cd lightweight-web-engine-1.0.0 [ 4799s] + LICENSEDIR=/home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/share/licenses/lightweight-web-engine-profile_wearable [ 4799s] + export LICENSEDIR [ 4799s] + /bin/mkdir -p /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/share/licenses/lightweight-web-engine-profile_wearable [ 4799s] + cp -pr LICENSE.LGPL-2.1+ /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/share/licenses/lightweight-web-engine-profile_wearable [ 4799s] + cp -pr LICENSE.BSD-3-Clause /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/share/licenses/lightweight-web-engine-profile_wearable [ 4799s] + cp -pr LICENSE.BSL-1.0 /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/share/licenses/lightweight-web-engine-profile_wearable [ 4799s] + cp -pr LICENSE.MIT /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/share/licenses/lightweight-web-engine-profile_wearable [ 4799s] + cp -pr LICENSE.ISC /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/share/licenses/lightweight-web-engine-profile_wearable [ 4799s] + cp -pr LICENSE.Zlib /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/share/licenses/lightweight-web-engine-profile_wearable [ 4799s] + cp -pr LICENSE.BOEHM-GC /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/share/licenses/lightweight-web-engine-profile_wearable [ 4799s] + cp -pr LICENSE.NCSA /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/share/licenses/lightweight-web-engine-profile_wearable [ 4799s] + cp -pr LICENSE.ICU /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/share/licenses/lightweight-web-engine-profile_wearable [ 4799s] + cp -pr LICENSE.Old-MIT /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm/usr/share/licenses/lightweight-web-engine-profile_wearable [ 4799s] + exit 0 [ 4799s] Provides: libclipper.so liblightweight-web-engine-dali-plugin.so.1 liblightweight-web-engine.so.1 libmp4parse.so libskia_matrix.so libtuv.so libwebm.so lightweight-web-engine-compat = 1.0.0-69.2 lightweight-web-engine-profile_wearable = 1.0.0-69.2 lightweight-web-engine-profile_wearable(armv7l-32) = 1.0.0-69.2 [ 4799s] Requires(interp): /bin/sh [ 4799s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 4799s] Requires(post): /bin/sh [ 4799s] Requires: ld-linux.so.3 ld-linux.so.3(GLIBC_2.4) libbundle.so.0 libc.so.6 libc.so.6(GLIBC_2.11) libc.so.6(GLIBC_2.17) libc.so.6(GLIBC_2.27) libc.so.6(GLIBC_2.28) libc.so.6(GLIBC_2.4) libc.so.6(GLIBC_2.7) libcairo.so.2 libcapi-location-manager.so.0 libcapi-system-device.so.0 libcrypto.so.1.1 libcrypto.so.1.1(OPENSSL_1_1_0) libcurl.so.4 libcurl.so.4(CURL_OPENSSL_4) libdali-adaptor.so.0 libdali-core.so.0 libdali-toolkit.so.0 libdl.so.2 libdl.so.2(GLIBC_2.4) libdlog.so.0 libecore.so.1 libecore_evas.so.1 libecore_imf.so.1 libelementary.so.1 libevas.so.1 libfontconfig.so.1 libfreetype.so.6 libgcc_s.so.1 libgcc_s.so.1(GCC_3.0) libgcc_s.so.1(GCC_3.3.1) libgcc_s.so.1(GCC_3.5) libgif.so.7 libharfbuzz.so.0 libjpeg.so.8 libjpeg.so.8(LIBJPEG_8.0) libm.so.6 libm.so.6(GLIBC_2.29) libm.so.6(GLIBC_2.4) libpng16.so.16 libpng16.so.16(PNG16_0) libpthread.so.0 libpthread.so.0(GLIBC_2.4) libskia_matrix.so libstdc++.so.6 libstdc++.so.6(CXXABI_1.3) libstdc++.so.6(CXXABI_1.3.11) libstdc++.so.6(CXXABI_1.3.3) libstdc++.so.6(CXXABI_1.3.5) libstdc++.so.6(CXXABI_1.3.8) libstdc++.so.6(CXXABI_ARM_1.3.3) libstdc++.so.6(GLIBCXX_3.4) libstdc++.so.6(GLIBCXX_3.4.11) libstdc++.so.6(GLIBCXX_3.4.14) libstdc++.so.6(GLIBCXX_3.4.15) libstdc++.so.6(GLIBCXX_3.4.18) libstdc++.so.6(GLIBCXX_3.4.19) libstdc++.so.6(GLIBCXX_3.4.20) libstdc++.so.6(GLIBCXX_3.4.21) libstdc++.so.6(GLIBCXX_3.4.26) libstdc++.so.6(GLIBCXX_3.4.5) libstdc++.so.6(GLIBCXX_3.4.9) libtbm.so.1 libtuv.so rtld(GNU_HASH) [ 4799s] Conflicts: lightweight-web-engine-profile_tv = 1.0.0-69.2 lightweight-web-engine-profile_headless = 1.0.0-69.2 lightweight-web-engine-profile_mobile = 1.0.0-69.2 [ 4799s] Processing files: lightweight-web-engine-devel-1.0.0-69.2.armv7l [ 4799s] Aptk: PG1hbmlmZXN0PgogICAgPHJlcXVlc3Q+CiAgICAgICAgPGRvbWFpbiBuYW1lPSJf [ 4799s] Ii8+CiAgICA8L3JlcXVlc3Q+CjwvbWFuaWZlc3Q+Cg== [ 4799s] [ 4799s] Provides: lightweight-web-engine-devel = 1.0.0-69.2 lightweight-web-engine-devel(armv7l-32) = 1.0.0-69.2 pkgconfig(lightweight-web-engine) = 0.0.1 pkgconfig(lightweight-web-engine-dali-plugin) = 0.0.1 [ 4799s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 4799s] Requires: /usr/bin/pkg-config [ 4799s] Processing files: lightweight-web-engine-profile_tv-debuginfo-1.0.0-69.2.armv7l [ 4799s] Aptk: PG1hbmlmZXN0PgogPHJlcXVlc3Q+CiAgICA8ZG9tYWluIG5hbWU9Il8iLz4KIDwv [ 4799s] cmVxdWVzdD4KPC9tYW5pZmVzdD4K [ 4799s] [ 4799s] warning: File listed twice: /usr/lib/debug/.build-id [ 4799s] warning: File listed twice: /usr/lib/debug/.build-id [ 4799s] warning: File listed twice: /usr/lib/debug/.build-id [ 4799s] warning: File listed twice: /usr/lib/debug/.build-id [ 4799s] warning: File listed twice: /usr/lib/debug/.build-id [ 4799s] warning: File listed twice: /usr/lib/debug/.build-id [ 4799s] warning: File listed twice: /usr/lib/debug/.build-id [ 4801s] Provides: lightweight-web-engine-profile_tv-debuginfo = 1.0.0-69.2 lightweight-web-engine-profile_tv-debuginfo(armv7l-32) = 1.0.0-69.2 [ 4801s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 4801s] Processing files: lightweight-web-engine-profile_mobile-debuginfo-1.0.0-69.2.armv7l [ 4801s] Aptk: PG1hbmlmZXN0PgogPHJlcXVlc3Q+CiAgICA8ZG9tYWluIG5hbWU9Il8iLz4KIDwv [ 4801s] cmVxdWVzdD4KPC9tYW5pZmVzdD4K [ 4801s] [ 4801s] warning: File listed twice: /usr/lib/debug/.build-id [ 4801s] warning: File listed twice: /usr/lib/debug/.build-id [ 4801s] warning: File listed twice: /usr/lib/debug/.build-id [ 4801s] warning: File listed twice: /usr/lib/debug/.build-id [ 4801s] warning: File listed twice: /usr/lib/debug/.build-id [ 4801s] warning: File listed twice: /usr/lib/debug/.build-id [ 4802s] Provides: lightweight-web-engine-profile_mobile-debuginfo = 1.0.0-69.2 lightweight-web-engine-profile_mobile-debuginfo(armv7l-32) = 1.0.0-69.2 [ 4802s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 4802s] Processing files: lightweight-web-engine-profile_wearable-debuginfo-1.0.0-69.2.armv7l [ 4802s] Aptk: PG1hbmlmZXN0PgogPHJlcXVlc3Q+CiAgICA8ZG9tYWluIG5hbWU9Il8iLz4KIDwv [ 4802s] cmVxdWVzdD4KPC9tYW5pZmVzdD4K [ 4802s] [ 4802s] warning: File listed twice: /usr/lib/debug/.build-id [ 4802s] warning: File listed twice: /usr/lib/debug/.build-id [ 4802s] warning: File listed twice: /usr/lib/debug/.build-id [ 4802s] warning: File listed twice: /usr/lib/debug/.build-id [ 4802s] warning: File listed twice: /usr/lib/debug/.build-id [ 4802s] warning: File listed twice: /usr/lib/debug/.build-id [ 4803s] Provides: lightweight-web-engine-profile_wearable-debuginfo = 1.0.0-69.2 lightweight-web-engine-profile_wearable-debuginfo(armv7l-32) = 1.0.0-69.2 [ 4803s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 4803s] Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm [ 4803s] warning: Could not canonicalize hostname: obsnw11 [ 4805s] Wrote: /home/abuild/rpmbuild/SRPMS/lightweight-web-engine-1.0.0-69.2.src.rpm [ 4805s] Wrote: /home/abuild/rpmbuild/RPMS/armv7l/lightweight-web-engine-1.0.0-69.2.armv7l.rpm [ 4812s] Wrote: /home/abuild/rpmbuild/RPMS/armv7l/lightweight-web-engine-debugsource-1.0.0-69.2.armv7l.rpm [ 4823s] Wrote: /home/abuild/rpmbuild/RPMS/armv7l/lightweight-web-engine-profile_tv-1.0.0-69.2.armv7l.rpm [ 4829s] Wrote: /home/abuild/rpmbuild/RPMS/armv7l/lightweight-web-engine-profile_mobile-1.0.0-69.2.armv7l.rpm [ 4832s] Wrote: /home/abuild/rpmbuild/RPMS/armv7l/lightweight-web-engine-profile_wearable-1.0.0-69.2.armv7l.rpm [ 4832s] Wrote: /home/abuild/rpmbuild/RPMS/armv7l/lightweight-web-engine-devel-1.0.0-69.2.armv7l.rpm [ 4855s] Wrote: /home/abuild/rpmbuild/RPMS/armv7l/lightweight-web-engine-profile_tv-debuginfo-1.0.0-69.2.armv7l.rpm [ 4874s] Wrote: /home/abuild/rpmbuild/RPMS/armv7l/lightweight-web-engine-profile_mobile-debuginfo-1.0.0-69.2.armv7l.rpm [ 4892s] Wrote: /home/abuild/rpmbuild/RPMS/armv7l/lightweight-web-engine-profile_wearable-debuginfo-1.0.0-69.2.armv7l.rpm [ 4892s] Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.l6HVlT [ 4892s] + umask 022 [ 4892s] + cd /home/abuild/rpmbuild/BUILD [ 4892s] + cd lightweight-web-engine-1.0.0 [ 4892s] + /bin/rm -rf /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-69.2.arm [ 4892s] + exit 0 [ 4892s] ... checking for files with abuild user/group [ 4892s] ... creating baselibs [ 4893s] ... comparing built packages with the former built [ 4893s] /usr/lib/build/pkg-diff.sh [ 4893s] compare /.build.oldpackages/lightweight-web-engine-1.0.0-69.1.src.rpm /home/abuild/rpmbuild/SRPMS/lightweight-web-engine-1.0.0-69.2.src.rpm [ 4893s] This is not a prerelease project. Compare the project name. [ 4893s] comparing rpmtags [ 4893s] comparing RELEASE [ 4893s] comparing PROVIDES [ 4893s] comparing scripts [ 4893s] comparing filelist [ 4893s] comparing file checksum [ 4893s] RPM meta information is identical [ 4893s] compare /.build.oldpackages/lightweight-web-engine-1.0.0-69.1.armv7l.rpm /home/abuild/rpmbuild/RPMS/armv7l/lightweight-web-engine-1.0.0-69.2.armv7l.rpm [ 4893s] Comparing lightweight-web-engine-1.0.0-69.1.armv7l.rpm to lightweight-web-engine-1.0.0-69.2.armv7l.rpm [ 4894s] This is not a prerelease project. Compare the project name. [ 4894s] comparing rpmtags [ 4894s] comparing RELEASE [ 4894s] comparing PROVIDES [ 4894s] comparing scripts [ 4894s] comparing filelist [ 4894s] comparing file checksum [ 4894s] creating rename script [ 4894s] RPM meta information is identical [ 4894s] compare /.build.oldpackages/lightweight-web-engine-debugsource-1.0.0-69.1.armv7l.rpm /home/abuild/rpmbuild/RPMS/armv7l/lightweight-web-engine-debugsource-1.0.0-69.2.armv7l.rpm [ 4894s] Comparing lightweight-web-engine-debugsource-1.0.0-69.1.armv7l.rpm to lightweight-web-engine-debugsource-1.0.0-69.2.armv7l.rpm [ 4894s] This is not a prerelease project. Compare the project name. [ 4894s] comparing rpmtags [ 4894s] comparing RELEASE [ 4894s] comparing PROVIDES [ 4894s] comparing scripts [ 4894s] comparing filelist [ 4894s] comparing file checksum [ 4894s] creating rename script [ 4894s] RPM meta information is identical [ 4894s] compare /.build.oldpackages/lightweight-web-engine-devel-1.0.0-69.1.armv7l.rpm /home/abuild/rpmbuild/RPMS/armv7l/lightweight-web-engine-devel-1.0.0-69.2.armv7l.rpm [ 4894s] Comparing lightweight-web-engine-devel-1.0.0-69.1.armv7l.rpm to lightweight-web-engine-devel-1.0.0-69.2.armv7l.rpm [ 4894s] This is not a prerelease project. Compare the project name. [ 4894s] comparing rpmtags [ 4894s] comparing RELEASE [ 4895s] comparing PROVIDES [ 4895s] comparing scripts [ 4895s] comparing filelist [ 4895s] comparing file checksum [ 4895s] creating rename script [ 4895s] RPM meta information is identical [ 4895s] compare /.build.oldpackages/lightweight-web-engine-profile_mobile-1.0.0-69.1.armv7l.rpm /home/abuild/rpmbuild/RPMS/armv7l/lightweight-web-engine-profile_mobile-1.0.0-69.2.armv7l.rpm [ 4895s] Comparing lightweight-web-engine-profile_mobile-1.0.0-69.1.armv7l.rpm to lightweight-web-engine-profile_mobile-1.0.0-69.2.armv7l.rpm [ 4895s] This is not a prerelease project. Compare the project name. [ 4895s] comparing rpmtags [ 4895s] comparing RELEASE [ 4895s] comparing PROVIDES [ 4895s] comparing scripts [ 4895s] comparing filelist [ 4895s] comparing file checksum [ 4895s] creating rename script [ 4895s] RPM file checksum differs. [ 4895s] Extracting packages [ 4933s] /usr/lib/lwe/mobile/liblightweight-web-engine-dali-plugin.mobile.so differs in assembler output [ 4933s] --- /tmp/tmp.VlbT115003/tmp.SCgW115187 2020-06-04 18:58:04.491963687 +0000 [ 4933s] +++ /tmp/tmp.VlbT115003/tmp.TXlh115189 2020-06-04 18:58:23.579323821 +0000 [ 4933s] @@ -1737237,11 +1737237,11 @@ [ 4933s] movs r0, r0 [ 4933s] movs r0, r0 [ 4933s] beq.n <_ZZN8Escargot9Evaluator11executeImplIJPN9DeviceAPI24ExtensionManagerInstanceEEEENS0_15EvaluatorResultEPNS_10ContextRefEPFPNS_8ValueRefEPNS_17ExecutionStateRefEDpT_ESD_ENUlSB_PvSG_E_4_FUNESB_SG_SG_@@Base + ofs> [ 4933s] - b.w <_ZNSt14_Function_base13_Base_managerIPFjvEE10_M_managerERSt9_Any_dataRKS4_St18_Manager_operation@@Base + ofs> [ 4933s] - b.w <_ZNSt14_Function_base13_Base_managerIPFjvEE10_M_managerERSt9_Any_dataRKS4_St18_Manager_operation@@Base + ofs> [ 4933s] - beq.n <_ZZN8Escargot9Evaluator11executeImplIJPN9DeviceAPI24ExtensionManagerInstanceEEEENS0_15EvaluatorResultEPNS_10ContextRefEPFPNS_8ValueRefEPNS_17ExecutionStateRefEDpT_ESD_ENUlSB_PvSG_E_4_FUNESB_SG_SG_@@Base + ofs> [ 4933s] b.w <_ZNSt14_Function_base13_Base_managerISt8functionIFvRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEE10_M_managerERSt9_Any_dataRKSD_St18_Manager_operation@@Base + ofs> [ 4933s] b.w <_ZNSt14_Function_base13_Base_managerISt8functionIFvRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEE10_M_managerERSt9_Any_dataRKSD_St18_Manager_operation@@Base + ofs> [ 4933s] + beq.n <_ZZN8Escargot9Evaluator11executeImplIJPN9DeviceAPI24ExtensionManagerInstanceEEEENS0_15EvaluatorResultEPNS_10ContextRefEPFPNS_8ValueRefEPNS_17ExecutionStateRefEDpT_ESD_ENUlSB_PvSG_E_4_FUNESB_SG_SG_@@Base + ofs> [ 4933s] + b.w <_ZNSt14_Function_base13_Base_managerIPFjvEE10_M_managerERSt9_Any_dataRKS4_St18_Manager_operation@@Base + ofs> [ 4933s] + b.w <_ZNSt14_Function_base13_Base_managerIPFjvEE10_M_managerERSt9_Any_dataRKS4_St18_Manager_operation@@Base + ofs> [ 4933s] ... [ 4933s] push {r7} [ 4933s] movs r0, # [ 4934s] /usr/lib/lwe/mobile/liblightweight-web-engine-dali-plugin.mobile.so differs in ELF section .dynstr [ 4934s] --- /tmp/tmp.VlbT115003/tmp.SCgW115187 2020-06-04 18:58:25.491259719 +0000 [ 4934s] +++ /tmp/tmp.VlbT115003/tmp.TXlh115189 2020-06-04 18:58:25.503259316 +0000 [ 4934s] @@ -2426,8 +2426,8 @@ [ 4934s] 13548 31006c69 62667265 65747970 652e736f 1.libfreetype.so [ 4934s] 13558 2e36006c 69626861 72666275 7a7a2e73 .6.libharfbuzz.s [ 4934s] 13568 6f2e3000 6c69626d 2e736f2e 36006c69 o.0.libm.so.6.li [ 4934s] - 13578 6274626d 2e736f2e 31006c69 62636169 btbm.so.1.libcai [ 4934s] - 13588 726f2e73 6f2e3200 47435f73 7461636b ro.so.2.GC_stack [ 4934s] + 13578 62636169 726f2e73 6f2e3200 6c696274 bcairo.so.2.libt [ 4934s] + 13588 626d2e73 6f2e3100 47435f73 7461636b bm.so.1.GC_stack [ 4934s] 13598 626f7474 6f6d0047 435f6172 72617973 bottom.GC_arrays [ 4934s] 135a8 0047435f 66726565 5f737061 63655f64 .GC_free_space_d [ 4934s] 135b8 69766973 6f720063 6c6f636b 0047435f ivisor.clock.GC_ [ 4936s] /usr/lib/lwe/mobile/liblightweight-web-engine-dali-plugin.mobile.so differs in ELF section .text [ 4936s] --- /tmp/tmp.VlbT115003/tmp.SCgW115187 2020-06-04 18:58:26.359230617 +0000 [ 4936s] +++ /tmp/tmp.VlbT115003/tmp.TXlh115189 2020-06-04 18:58:26.947210903 +0000 [ 4936s] @@ -241602,7 +241602,7 @@ [ 4936s] 468fd0 fb606ce5 01234820 fb60ebe5 d5f844a0 .`l..#H .`....D. [ 4936s] 468fe0 baf1000f dcd0d8e7 d5f844a0 baf1000f ..........D..... [ 4936s] 468ff0 3ff47aaf 75e7d5f8 44a0baf1 000fabf0 ?.z.u...D....... [ 4936s] - 469000 d7bf0fe7 0c204ff0 010bf3e6 0c204ff0 ..... O...... O. [ 4936s] + 469000 dcbf0fe7 0c204ff0 010bf3e6 0c204ff0 ..... O...... O. [ 4936s] 469010 010bace7 0c204ff0 010b4ae7 dabc2400 ..... O...J...$. [ 4936s] 469020 b8433c00 a6423c00 0c423c00 8e413c00 .C<..B<..B<..A<. [ 4936s] 469030 2de9f04f 0c462ded 028bdff8 746cdff8 -..O.F-.....tl.. [ 4936s] @@ -280514,7 +280514,7 @@ [ 4936s] 500fd0 20463146 7a44c7f8 d020eb58 c7f8cc30 F1FzD... .X...0 [ 4936s] 500fe0 00f004fd d7f8cc30 002b3ff4 59af0322 .......0.+?.Y.." [ 4936s] 500ff0 31463046 984753e7 636bb3f5 487f13f0 1F0F.GS.ck..H... [ 4936s] - 501000 dcbfdff8 5cc907f1 c40e07f1 8408fc44 ....\..........D [ 4936s] + 501000 d7bfdff8 5cc907f1 c40e07f1 8408fc44 ....\..........D [ 4936s] 501010 76460cf6 a81cbce8 0f00aee8 0f009ce8 vF.............. [ 4936s] 501020 03008ee8 03003046 b6f72ee2 dff83439 ......0F......49 [ 4936s] 501030 dff83429 4ff44870 4ff41671 6063a163 ..4)O.HpO..q`c.c [ 4936s] @@ -285629,8 +285629,8 @@ [ 4936s] 514f80 28602246 3146a2f7 8ae33c68 2868e0e7 (`"F1F....