@zigc/lib 0.17.0-dev.39 → 0.17.0-dev.420
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/c/fcntl.zig +5 -0
- package/c/inttypes.zig +0 -10
- package/c/math.zig +52 -112
- package/c/pthread.zig +57 -0
- package/c/search.zig +1 -27
- package/c/stdlib/drand48.zig +0 -57
- package/c/stdlib.zig +31 -121
- package/c/string.zig +20 -7
- package/c/strings.zig +0 -38
- package/c/unistd.zig +28 -26
- package/c/wchar.zig +10 -0
- package/c.zig +2 -2
- package/compiler/aro/aro/CodeGen.zig +7 -8
- package/compiler/aro/aro/Compilation.zig +17 -17
- package/compiler/aro/aro/Driver.zig +14 -13
- package/compiler/aro/aro/Parser.zig +20 -15
- package/compiler/aro/aro/Pragma.zig +3 -2
- package/compiler/aro/aro/Preprocessor.zig +11 -8
- package/compiler/aro/aro/pragmas/message.zig +3 -2
- package/compiler/aro/aro/text_literal.zig +3 -2
- package/compiler/aro/assembly_backend/x86_64.zig +4 -4
- package/compiler/aro/backend/Ir/x86/Renderer.zig +3 -3
- package/compiler/build_runner.zig +5 -5
- package/compiler/reduce/Walk.zig +8 -13
- package/compiler/resinator/compile.zig +1 -1
- package/compiler/resinator/cvtres.zig +4 -4
- package/compiler/resinator/errors.zig +7 -7
- package/compiler/resinator/ico.zig +4 -4
- package/compiler/resinator/parse.zig +2 -2
- package/compiler/resinator/res.zig +1 -1
- package/compiler/std-docs.zig +1 -1
- package/compiler/test_runner.zig +25 -15
- package/compiler/translate-c/MacroTranslator.zig +1 -1
- package/compiler/translate-c/Translator.zig +6 -2
- package/compiler/translate-c/ast.zig +16 -23
- package/compiler/translate-c/main.zig +1 -1
- package/compiler_rt/addf3.zig +1 -1
- package/compiler_rt/arm.zig +3 -3
- package/compiler_rt/atomics.zig +1 -1
- package/compiler_rt/comparef.zig +3 -3
- package/compiler_rt/cos.zig +1 -3
- package/compiler_rt/count0bits.zig +1 -1
- package/compiler_rt/divdf3.zig +2 -2
- package/compiler_rt/divsf3.zig +1 -1
- package/compiler_rt/divtf3.zig +1 -1
- package/compiler_rt/divxf3.zig +1 -1
- package/compiler_rt/exp.zig +0 -2
- package/compiler_rt/exp2.zig +0 -2
- package/compiler_rt/extendf.zig +5 -5
- package/compiler_rt/fabs.zig +1 -3
- package/compiler_rt/float_from_int.zig +4 -5
- package/compiler_rt/fma.zig +0 -2
- package/compiler_rt/fmax.zig +1 -3
- package/compiler_rt/fmin.zig +1 -3
- package/compiler_rt/fmod.zig +2 -4
- package/compiler_rt/int_from_float.zig +1 -1
- package/compiler_rt/limb64.zig +3 -2
- package/compiler_rt/log.zig +0 -2
- package/compiler_rt/log10.zig +0 -2
- package/compiler_rt/log2.zig +0 -2
- package/compiler_rt/mulf3.zig +2 -2
- package/compiler_rt/rem_pio2l.zig +1 -1
- package/compiler_rt/round.zig +0 -2
- package/compiler_rt/sin.zig +1 -3
- package/compiler_rt/sincos.zig +1 -3
- package/compiler_rt/sqrt.zig +0 -2
- package/compiler_rt/ssp.zig +2 -2
- package/compiler_rt/tan.zig +1 -3
- package/compiler_rt/trunc.zig +0 -2
- package/compiler_rt/truncf.zig +3 -3
- package/compiler_rt/trunctfhf2.zig +3 -0
- package/compiler_rt.zig +5 -26
- package/docs/main.js +8 -8
- package/docs/wasm/Walk.zig +1 -3
- package/docs/wasm/html_render.zig +1 -2
- package/docs/wasm/markdown/Parser.zig +16 -20
- package/fuzzer.zig +5 -3
- package/include/__clang_spirv_builtins.h +12 -12
- package/include/__float_float.h +176 -0
- package/include/__float_header_macro.h +12 -0
- package/include/__float_infinity_nan.h +20 -0
- package/include/amo.h +131 -0
- package/include/amxavx512intrin.h +215 -1
- package/include/amxintrin.h +0 -2
- package/include/arm_acle.h +37 -27
- package/include/arm_neon.h +218 -82
- package/include/arm_sme.h +8 -8
- package/include/arm_sve.h +4162 -3782
- package/include/avx10_2_512bf16intrin.h +19 -12
- package/include/avx10_2_512convertintrin.h +1 -1
- package/include/avx10_2_512niintrin.h +31 -31
- package/include/avx10_2_512satcvtdsintrin.h +1 -1
- package/include/avx10_2bf16intrin.h +54 -45
- package/include/avx10_2convertintrin.h +2 -2
- package/include/avx10_2copyintrin.h +1 -1
- package/include/avx10_2niintrin.h +14 -14
- package/include/avx10_2satcvtdsintrin.h +2 -2
- package/include/avx2intrin.h +275 -377
- package/include/avx512bf16intrin.h +25 -16
- package/include/avx512bitalgintrin.h +19 -30
- package/include/avx512bwintrin.h +386 -505
- package/include/avx512cdintrin.h +42 -55
- package/include/avx512dqintrin.h +132 -161
- package/include/avx512fintrin.h +1015 -1424
- package/include/avx512fp16intrin.h +112 -110
- package/include/avx512ifmaintrin.h +32 -34
- package/include/avx512ifmavlintrin.h +73 -46
- package/include/avx512vbmi2intrin.h +43 -32
- package/include/avx512vbmiintrin.h +19 -27
- package/include/avx512vbmivlintrin.h +35 -49
- package/include/avx512vlbf16intrin.h +32 -22
- package/include/avx512vlbitalgintrin.h +37 -53
- package/include/avx512vlbwintrin.h +470 -573
- package/include/avx512vlcdintrin.h +74 -102
- package/include/avx512vldqintrin.h +110 -127
- package/include/avx512vlfp16intrin.h +130 -111
- package/include/avx512vlintrin.h +945 -1299
- package/include/avx512vlvbmi2intrin.h +78 -63
- package/include/avx512vlvnniintrin.h +21 -18
- package/include/avx512vlvp2intersectintrin.h +2 -2
- package/include/avx512vnniintrin.h +10 -10
- package/include/avx512vp2intersectintrin.h +1 -2
- package/include/avx512vpopcntdqintrin.h +8 -10
- package/include/avx512vpopcntdqvlintrin.h +17 -15
- package/include/avxifmaintrin.h +16 -0
- package/include/avxintrin.h +165 -241
- package/include/avxvnniint16intrin.h +118 -99
- package/include/avxvnniint8intrin.h +56 -32
- package/include/avxvnniintrin.h +16 -8
- package/include/cpuid.h +101 -4
- package/include/emmintrin.h +168 -168
- package/include/f16cintrin.h +23 -9
- package/include/float.h +16 -155
- package/include/fma4intrin.h +98 -96
- package/include/fmaintrin.h +96 -66
- package/include/gfniintrin.h +21 -16
- package/include/hexagon_types.h +23 -20
- package/include/hvx_hexagon_protos.h +649 -860
- package/include/immintrin.h +0 -12
- package/include/intrin.h +4 -0
- package/include/lasxintrin.h +113 -0
- package/include/llvm_libc_wrappers/assert.h +3 -5
- package/include/llvm_libc_wrappers/ctype.h +3 -115
- package/include/llvm_libc_wrappers/inttypes.h +3 -5
- package/include/llvm_libc_wrappers/stdio.h +10 -38
- package/include/llvm_libc_wrappers/stdlib.h +3 -24
- package/include/llvm_libc_wrappers/string.h +2 -70
- package/include/llvm_libc_wrappers/time.h +4 -10
- package/include/mmintrin.h +188 -257
- package/include/module.modulemap +23 -4
- package/include/movrs_avx10_2_512intrin.h +2 -2
- package/include/movrs_avx10_2intrin.h +4 -4
- package/include/pmmintrin.h +12 -24
- package/include/ptrauth.h +16 -2
- package/include/riscv_mips.h +34 -0
- package/include/riscv_nds.h +89 -0
- package/include/sifive_vector.h +58 -2
- package/include/sm4evexintrin.h +2 -2
- package/include/smmintrin.h +77 -59
- package/include/spirvintrin.h +194 -0
- package/include/stddefer.h +19 -0
- package/include/tmmintrin.h +116 -147
- package/include/vaesintrin.h +1 -2
- package/include/xmmintrin.h +44 -70
- package/include/xopintrin.h +20 -10
- package/libc/darwin/SDKSettings.json +1 -1
- package/libc/darwin/libSystem.tbd +88 -87
- package/libc/include/aarch64-linux-any/asm/hwcap.h +1 -0
- package/libc/include/aarch64-linux-any/asm/unistd_64.h +1 -0
- package/libc/include/aarch64-openbsd-none/arm64/cpu.h +7 -1
- package/libc/include/aarch64-openbsd-none/arm64/intr.h +9 -1
- package/libc/include/aarch64-openbsd-none/machine/cpu.h +7 -1
- package/libc/include/aarch64-openbsd-none/machine/intr.h +9 -1
- package/libc/include/any-darwin-any/AvailabilityInternal.h +10 -10
- package/libc/include/any-darwin-any/AvailabilityVersions.h +8 -0
- package/libc/include/any-darwin-any/mach/host_info.h +3 -1
- package/libc/include/any-darwin-any/mach/mach_voucher_types.h +2 -0
- package/libc/include/any-darwin-any/mach/vm_statistics.h +33 -2
- package/libc/include/any-darwin-any/spawn.h +3 -1
- package/libc/include/any-darwin-any/sys/_symbol_aliasing.h +12 -0
- package/libc/include/any-linux-any/asm-generic/errno.h +2 -0
- package/libc/include/any-linux-any/asm-generic/unistd.h +4 -1
- package/libc/include/any-linux-any/drm/amdgpu_drm.h +20 -6
- package/libc/include/any-linux-any/drm/amdxdna_accel.h +8 -0
- package/libc/include/any-linux-any/drm/drm_fourcc.h +6 -6
- package/libc/include/any-linux-any/drm/panfrost_drm.h +75 -1
- package/libc/include/any-linux-any/drm/panthor_drm.h +154 -3
- package/libc/include/any-linux-any/drm/rocket_accel.h +74 -24
- package/libc/include/any-linux-any/drm/xe_drm.h +89 -6
- package/libc/include/any-linux-any/linux/android/binder.h +1 -1
- package/libc/include/any-linux-any/linux/bpf.h +28 -0
- package/libc/include/any-linux-any/linux/btrfs.h +1 -0
- package/libc/include/any-linux-any/linux/btrfs_tree.h +32 -2
- package/libc/include/any-linux-any/linux/dma-buf.h +1 -0
- package/libc/include/any-linux-any/linux/dpll.h +1 -0
- package/libc/include/any-linux-any/linux/elf.h +2 -0
- package/libc/include/any-linux-any/linux/ethtool.h +21 -5
- package/libc/include/any-linux-any/linux/fs.h +1 -0
- package/libc/include/any-linux-any/linux/hyperv.h +1 -1
- package/libc/include/any-linux-any/linux/idxd.h +134 -134
- package/libc/include/any-linux-any/linux/if_alg.h +1 -1
- package/libc/include/any-linux-any/linux/if_link.h +1 -0
- package/libc/include/any-linux-any/linux/input-event-codes.h +4 -0
- package/libc/include/any-linux-any/linux/io_uring/bpf_filter.h +68 -0
- package/libc/include/any-linux-any/linux/io_uring/query.h +5 -1
- package/libc/include/any-linux-any/linux/io_uring.h +33 -2
- package/libc/include/any-linux-any/linux/iommufd.h +39 -0
- package/libc/include/any-linux-any/linux/kfd_ioctl.h +13 -3
- package/libc/include/any-linux-any/linux/kfd_sysfs.h +2 -1
- package/libc/include/any-linux-any/linux/kvm.h +30 -6
- package/libc/include/any-linux-any/linux/landlock.h +22 -8
- package/libc/include/any-linux-any/linux/magic.h +1 -0
- package/libc/include/any-linux-any/linux/mempolicy.h +3 -0
- package/libc/include/any-linux-any/linux/mount.h +11 -2
- package/libc/include/any-linux-any/linux/mptcp_pm.h +1 -1
- package/libc/include/any-linux-any/linux/mshv.h +2 -0
- package/libc/include/any-linux-any/linux/netfilter_bridge.h +5 -4
- package/libc/include/any-linux-any/linux/netfilter_ipv4.h +4 -5
- package/libc/include/any-linux-any/linux/netfilter_ipv6.h +3 -4
- package/libc/include/any-linux-any/linux/nfs.h +1 -1
- package/libc/include/any-linux-any/linux/nfsd_netlink.h +1 -0
- package/libc/include/any-linux-any/linux/nilfs2_api.h +2 -2
- package/libc/include/any-linux-any/linux/nilfs2_ondisk.h +97 -66
- package/libc/include/any-linux-any/linux/nl80211.h +104 -3
- package/libc/include/any-linux-any/linux/pci.h +7 -0
- package/libc/include/any-linux-any/linux/pci_regs.h +65 -6
- package/libc/include/any-linux-any/linux/pcitest.h +1 -0
- package/libc/include/any-linux-any/linux/perf_event.h +24 -3
- package/libc/include/any-linux-any/linux/pkt_sched.h +1 -0
- package/libc/include/any-linux-any/linux/prctl.h +30 -0
- package/libc/include/any-linux-any/linux/rseq.h +62 -5
- package/libc/include/any-linux-any/linux/shm.h +0 -1
- package/libc/include/any-linux-any/linux/stddef.h +4 -0
- package/libc/include/any-linux-any/linux/sysctl.h +1 -2
- package/libc/include/any-linux-any/linux/taskstats.h +12 -1
- package/libc/include/any-linux-any/linux/tcp.h +23 -3
- package/libc/include/any-linux-any/linux/typelimits.h +8 -0
- package/libc/include/any-linux-any/linux/ublk_cmd.h +120 -1
- package/libc/include/any-linux-any/linux/v4l2-controls.h +63 -0
- package/libc/include/any-linux-any/linux/vbox_vmmdev_types.h +2 -2
- package/libc/include/any-linux-any/linux/vduse.h +80 -5
- package/libc/include/any-linux-any/linux/version.h +3 -3
- package/libc/include/any-linux-any/linux/vfio.h +4 -0
- package/libc/include/any-linux-any/linux/videodev2.h +3 -0
- package/libc/include/any-linux-any/linux/virtio_ring.h +1 -2
- package/libc/include/any-linux-any/linux/vmclock-abi.h +20 -0
- package/libc/include/any-linux-any/rdma/bnxt_re-abi.h +16 -0
- package/libc/include/any-linux-any/rdma/ib_user_ioctl_cmds.h +16 -0
- package/libc/include/any-linux-any/rdma/mana-abi.h +3 -0
- package/libc/include/any-linux-any/scsi/scsi_bsg_ufs.h +8 -9
- package/libc/include/any-linux-any/sound/sof/tokens.h +6 -0
- package/libc/include/arc-linux-any/asm/swab.h +0 -63
- package/libc/include/arc-linux-any/asm/unistd_32.h +1 -0
- package/libc/include/arm-linux-any/asm/ptrace.h +0 -9
- package/libc/include/arm-linux-any/asm/unistd-eabi.h +1 -0
- package/libc/include/arm-linux-any/asm/unistd-oabi.h +1 -0
- package/libc/include/csky-linux-any/asm/unistd_32.h +1 -0
- package/libc/include/generic-openbsd/db.h +1 -7
- package/libc/include/generic-openbsd/ddb/db_interface.h +2 -1
- package/libc/include/generic-openbsd/fnmatch.h +6 -2
- package/libc/include/generic-openbsd/login_cap.h +3 -1
- package/libc/include/generic-openbsd/miscfs/fuse/fusefs_node.h +2 -1
- package/libc/include/generic-openbsd/net/bpf.h +3 -1
- package/libc/include/generic-openbsd/net/hfsc.h +4 -4
- package/libc/include/generic-openbsd/net/if.h +5 -1
- package/libc/include/generic-openbsd/net/if_bridge.h +48 -1
- package/libc/include/generic-openbsd/net/if_etherbridge.h +20 -7
- package/libc/include/generic-openbsd/net/if_media.h +26 -1
- package/libc/include/generic-openbsd/net/if_pflow.h +71 -20
- package/libc/include/generic-openbsd/net/if_pfsync.h +2 -2
- package/libc/include/generic-openbsd/net/if_sppp.h +2 -1
- package/libc/include/generic-openbsd/net/if_trunk.h +3 -2
- package/libc/include/generic-openbsd/net/if_types.h +2 -2
- package/libc/include/generic-openbsd/net/if_var.h +34 -12
- package/libc/include/generic-openbsd/net/netisr.h +1 -3
- package/libc/include/generic-openbsd/net/pfvar.h +154 -1
- package/libc/include/generic-openbsd/net/pfvar_priv.h +256 -1
- package/libc/include/generic-openbsd/net80211/ieee80211.h +76 -4
- package/libc/include/generic-openbsd/net80211/ieee80211_ioctl.h +3 -2
- package/libc/include/generic-openbsd/net80211/ieee80211_node.h +48 -2
- package/libc/include/generic-openbsd/net80211/ieee80211_proto.h +4 -1
- package/libc/include/generic-openbsd/net80211/ieee80211_var.h +18 -2
- package/libc/include/generic-openbsd/netinet/if_ether.h +12 -11
- package/libc/include/generic-openbsd/netinet/igmp_var.h +17 -3
- package/libc/include/generic-openbsd/netinet/in_pcb.h +2 -1
- package/libc/include/generic-openbsd/netinet/in_var.h +17 -59
- package/libc/include/generic-openbsd/netinet/ip.h +3 -2
- package/libc/include/generic-openbsd/netinet/tcp_timer.h +1 -2
- package/libc/include/generic-openbsd/netinet6/in6_var.h +15 -29
- package/libc/include/generic-openbsd/netinet6/ip6_var.h +1 -2
- package/libc/include/generic-openbsd/netinet6/mld6_var.h +17 -4
- package/libc/include/generic-openbsd/netinet6/nd6.h +2 -2
- package/libc/include/generic-openbsd/pthread.h +2 -2
- package/libc/include/generic-openbsd/signal.h +2 -2
- package/libc/include/generic-openbsd/sndio.h +6 -12
- package/libc/include/generic-openbsd/strings.h +5 -1
- package/libc/include/generic-openbsd/sys/device.h +4 -3
- package/libc/include/generic-openbsd/sys/disklabel.h +17 -5
- package/libc/include/generic-openbsd/sys/dkio.h +3 -5
- package/libc/include/generic-openbsd/sys/filedesc.h +3 -2
- package/libc/include/generic-openbsd/sys/mbuf.h +1 -1
- package/libc/include/generic-openbsd/sys/mman.h +7 -2
- package/libc/include/generic-openbsd/sys/mutex.h +10 -7
- package/libc/include/generic-openbsd/sys/namei.h +8 -7
- package/libc/include/generic-openbsd/sys/param.h +1 -1
- package/libc/include/generic-openbsd/sys/pledge.h +1 -3
- package/libc/include/generic-openbsd/sys/protosw.h +8 -1
- package/libc/include/generic-openbsd/sys/ptrace.h +4 -1
- package/libc/include/generic-openbsd/sys/sched.h +8 -1
- package/libc/include/generic-openbsd/sys/signal.h +4 -2
- package/libc/include/generic-openbsd/sys/socketvar.h +2 -1
- package/libc/include/generic-openbsd/sys/sockio.h +11 -1
- package/libc/include/generic-openbsd/sys/syscall.h +5 -3
- package/libc/include/generic-openbsd/sys/syscallargs.h +9 -2
- package/libc/include/generic-openbsd/sys/sysctl.h +7 -4
- package/libc/include/generic-openbsd/sys/types.h +6 -2
- package/libc/include/generic-openbsd/sys/videoio.h +143 -68
- package/libc/include/generic-openbsd/sys/xcall.h +2 -2
- package/libc/include/generic-openbsd/time.h +2 -2
- package/libc/include/generic-openbsd/unistd.h +2 -2
- package/libc/include/generic-openbsd/uvm/uvm_anon.h +2 -3
- package/libc/include/generic-openbsd/uvm/uvm_extern.h +1 -19
- package/libc/include/generic-openbsd/uvm/uvm_pager.h +3 -4
- package/libc/include/generic-openbsd/uvm/uvm_pmemrange.h +1 -2
- package/libc/include/generic-openbsd/uvm/uvm_swap.h +4 -1
- package/libc/include/generic-openbsd/uvm/uvm_vnode.h +3 -4
- package/libc/include/generic-openbsd/uvm/uvmexp.h +41 -35
- package/libc/include/hexagon-linux-any/asm/unistd_32.h +1 -0
- package/libc/include/loongarch-linux-any/asm/hwcap.h +1 -0
- package/libc/include/loongarch-linux-any/asm/kvm.h +1 -0
- package/libc/include/loongarch-linux-any/asm/kvm_para.h +1 -0
- package/libc/include/loongarch-linux-any/asm/unistd_32.h +2 -0
- package/libc/include/loongarch-linux-any/asm/unistd_64.h +2 -0
- package/libc/include/m68k-linux-any/asm/unistd_32.h +1 -0
- package/libc/include/mips-linux-any/asm/errno.h +2 -0
- package/libc/include/mips-linux-any/asm/unistd_n32.h +1 -0
- package/libc/include/mips-linux-any/asm/unistd_n64.h +1 -0
- package/libc/include/mips-linux-any/asm/unistd_o32.h +1 -0
- package/libc/include/mips64-openbsd-none/machine/octeonvar.h +1 -27
- package/libc/include/mips64-openbsd-none/octeon/octeonvar.h +1 -27
- package/libc/include/mips64el-openbsd-none/loongson/apmvar.h +1 -1
- package/libc/include/mips64el-openbsd-none/loongson/param.h +1 -5
- package/libc/include/mips64el-openbsd-none/machine/apmvar.h +1 -1
- package/libc/include/mips64el-openbsd-none/machine/param.h +1 -5
- package/libc/include/powerpc-linux-any/asm/unistd_32.h +1 -0
- package/libc/include/powerpc-linux-any/asm/unistd_64.h +1 -0
- package/libc/include/powerpc-openbsd-eabihf/powerpc/intr.h +1 -4
- package/libc/include/powerpc64-openbsd-none/machine/atomic.h +3 -3
- package/libc/include/powerpc64-openbsd-none/powerpc64/atomic.h +3 -3
- package/libc/include/riscv-linux-any/asm/hwprobe.h +4 -0
- package/libc/include/riscv-linux-any/asm/kvm.h +3 -0
- package/libc/include/riscv-linux-any/asm/ptrace.h +37 -0
- package/libc/include/riscv-linux-any/asm/sigcontext.h +1 -0
- package/libc/include/riscv-linux-any/asm/unistd_32.h +1 -0
- package/libc/include/riscv-linux-any/asm/unistd_64.h +1 -0
- package/libc/include/riscv64-openbsd-none/machine/cpu.h +4 -8
- package/libc/include/riscv64-openbsd-none/machine/cpufunc.h +4 -4
- package/libc/include/riscv64-openbsd-none/machine/pmap.h +5 -1
- package/libc/include/riscv64-openbsd-none/machine/pte.h +9 -1
- package/libc/include/riscv64-openbsd-none/riscv64/cpu.h +4 -8
- package/libc/include/riscv64-openbsd-none/riscv64/cpufunc.h +4 -4
- package/libc/include/riscv64-openbsd-none/riscv64/pmap.h +5 -1
- package/libc/include/riscv64-openbsd-none/riscv64/pte.h +9 -1
- package/libc/include/s390x-linux-any/asm/unistd_64.h +1 -0
- package/libc/include/sparc-linux-any/asm/errno.h +2 -0
- package/libc/include/sparc-linux-any/asm/ioctls.h +4 -4
- package/libc/include/sparc-linux-any/asm/unistd_32.h +2 -0
- package/libc/include/sparc-linux-any/asm/unistd_64.h +2 -0
- package/libc/include/x86-linux-any/asm/auxvec.h +0 -4
- package/libc/include/x86-linux-any/asm/kvm.h +13 -8
- package/libc/include/x86-linux-any/asm/svm.h +16 -16
- package/libc/include/x86-linux-any/asm/unistd_32.h +1 -0
- package/libc/include/x86-linux-any/asm/unistd_64.h +1 -0
- package/libc/include/x86-linux-any/asm/unistd_x32.h +1 -0
- package/libc/include/x86-openbsd-none/i386/specialreg.h +3 -1
- package/libc/include/x86-openbsd-none/machine/specialreg.h +3 -1
- package/libc/include/x86_64-openbsd-none/amd64/conf.h +11 -2
- package/libc/include/x86_64-openbsd-none/amd64/cpu.h +14 -4
- package/libc/include/x86_64-openbsd-none/amd64/cpufunc.h +2 -3
- package/libc/include/x86_64-openbsd-none/amd64/ghcb.h +2 -1
- package/libc/include/x86_64-openbsd-none/amd64/i82489var.h +2 -4
- package/libc/include/x86_64-openbsd-none/amd64/i8259.h +1 -53
- package/libc/include/x86_64-openbsd-none/amd64/intr.h +5 -2
- package/libc/include/x86_64-openbsd-none/amd64/intrdefs.h +9 -7
- package/libc/include/x86_64-openbsd-none/amd64/kexec.h +48 -0
- package/libc/include/x86_64-openbsd-none/amd64/specialreg.h +4 -1
- package/libc/include/x86_64-openbsd-none/machine/conf.h +11 -2
- package/libc/include/x86_64-openbsd-none/machine/cpu.h +14 -4
- package/libc/include/x86_64-openbsd-none/machine/cpufunc.h +2 -3
- package/libc/include/x86_64-openbsd-none/machine/ghcb.h +2 -1
- package/libc/include/x86_64-openbsd-none/machine/i82489var.h +2 -4
- package/libc/include/x86_64-openbsd-none/machine/i8259.h +1 -53
- package/libc/include/x86_64-openbsd-none/machine/intr.h +5 -2
- package/libc/include/x86_64-openbsd-none/machine/intrdefs.h +9 -7
- package/libc/include/x86_64-openbsd-none/machine/kexec.h +48 -0
- package/libc/include/x86_64-openbsd-none/machine/specialreg.h +4 -1
- package/libc/include/xtensa-linux-any/asm/unistd_32.h +1 -0
- package/libc/openbsd/abilists +0 -0
- package/libcxx/include/__algorithm/all_of.h +11 -5
- package/libcxx/include/__algorithm/comp.h +4 -0
- package/libcxx/include/__algorithm/copy.h +28 -147
- package/libcxx/include/__algorithm/copy_backward.h +9 -24
- package/libcxx/include/__algorithm/copy_n.h +50 -16
- package/libcxx/include/__algorithm/count.h +2 -2
- package/libcxx/include/__algorithm/equal.h +43 -55
- package/libcxx/include/__algorithm/fill.h +26 -8
- package/libcxx/include/__algorithm/fill_n.h +32 -46
- package/libcxx/include/__algorithm/find.h +96 -39
- package/libcxx/include/__algorithm/find_end.h +105 -0
- package/libcxx/include/__algorithm/for_each.h +18 -24
- package/libcxx/include/__algorithm/for_each_n.h +20 -47
- package/libcxx/include/__algorithm/for_each_n_segment.h +1 -1
- package/libcxx/include/__algorithm/for_each_segment.h +26 -0
- package/libcxx/include/__algorithm/generate.h +4 -2
- package/libcxx/include/__algorithm/generate_n.h +19 -6
- package/libcxx/include/__algorithm/is_permutation.h +4 -4
- package/libcxx/include/__algorithm/iterator_operations.h +3 -0
- package/libcxx/include/__algorithm/lexicographical_compare.h +2 -2
- package/libcxx/include/__algorithm/lexicographical_compare_three_way.h +6 -6
- package/libcxx/include/__algorithm/make_heap.h +16 -4
- package/libcxx/include/__algorithm/mismatch.h +2 -2
- package/libcxx/include/__algorithm/move.h +8 -19
- package/libcxx/include/__algorithm/move_backward.h +9 -24
- package/libcxx/include/__algorithm/none_of.h +4 -4
- package/libcxx/include/__algorithm/partial_sort.h +1 -1
- package/libcxx/include/__algorithm/partial_sort_copy.h +1 -1
- package/libcxx/include/__algorithm/pstl.h +9 -9
- package/libcxx/include/__algorithm/radix_sort.h +27 -25
- package/libcxx/include/__algorithm/ranges_copy_n.h +3 -26
- package/libcxx/include/__algorithm/ranges_equal.h +17 -26
- package/libcxx/include/__algorithm/ranges_fill.h +7 -6
- package/libcxx/include/__algorithm/ranges_for_each.h +9 -1
- package/libcxx/include/__algorithm/ranges_generate_n.h +2 -6
- package/libcxx/include/__algorithm/ranges_search_n.h +2 -2
- package/libcxx/include/__algorithm/rotate.h +27 -44
- package/libcxx/include/__algorithm/search_n.h +49 -37
- package/libcxx/include/__algorithm/sift_down.h +19 -18
- package/libcxx/include/__algorithm/simd_utils.h +33 -4
- package/libcxx/include/__algorithm/specialized_algorithms.h +54 -0
- package/libcxx/include/__algorithm/stable_sort.h +1 -1
- package/libcxx/include/__assertion_handler +31 -4
- package/libcxx/include/__atomic/atomic.h +36 -60
- package/libcxx/include/__atomic/atomic_flag.h +19 -37
- package/libcxx/include/__atomic/atomic_ref.h +29 -12
- package/libcxx/include/__atomic/atomic_sync.h +127 -55
- package/libcxx/include/__atomic/atomic_sync_timed.h +144 -0
- package/libcxx/include/__atomic/atomic_waitable_traits.h +103 -0
- package/libcxx/include/__atomic/contention_t.h +27 -3
- package/libcxx/include/__atomic/floating_point_helper.h +55 -0
- package/libcxx/include/__bit/countl.h +1 -2
- package/libcxx/include/__bit/countr.h +1 -2
- package/libcxx/include/__bit/has_single_bit.h +1 -1
- package/libcxx/include/__bit/popcount.h +0 -1
- package/libcxx/include/__bit/rotate.h +15 -26
- package/libcxx/include/__bit_reference +207 -18
- package/libcxx/include/__charconv/from_chars_integral.h +1 -1
- package/libcxx/include/__charconv/from_chars_result.h +1 -1
- package/libcxx/include/__charconv/to_chars_integral.h +1 -0
- package/libcxx/include/__charconv/to_chars_result.h +1 -1
- package/libcxx/include/__charconv/traits.h +3 -24
- package/libcxx/include/__chrono/day.h +11 -0
- package/libcxx/include/__chrono/duration.h +58 -33
- package/libcxx/include/__chrono/file_clock.h +4 -2
- package/libcxx/include/__chrono/is_clock.h +72 -0
- package/libcxx/include/__chrono/leap_second.h +13 -0
- package/libcxx/include/__chrono/month.h +13 -0
- package/libcxx/include/__chrono/month_weekday.h +22 -0
- package/libcxx/include/__chrono/monthday.h +20 -0
- package/libcxx/include/__chrono/steady_clock.h +1 -1
- package/libcxx/include/__chrono/system_clock.h +3 -3
- package/libcxx/include/__chrono/time_point.h +37 -13
- package/libcxx/include/__chrono/weekday.h +25 -0
- package/libcxx/include/__chrono/year.h +11 -0
- package/libcxx/include/__chrono/year_month.h +13 -0
- package/libcxx/include/__chrono/year_month_day.h +23 -0
- package/libcxx/include/__chrono/year_month_weekday.h +26 -0
- package/libcxx/include/__chrono/zoned_time.h +16 -0
- package/libcxx/include/__compare/is_eq.h +6 -6
- package/libcxx/include/__compare/strong_order.h +12 -30
- package/libcxx/include/__compare/three_way_comparable.h +2 -2
- package/libcxx/include/__concepts/comparison_common_type.h +40 -0
- package/libcxx/include/__concepts/equality_comparable.h +2 -1
- package/libcxx/include/__condition_variable/condition_variable.h +1 -1
- package/libcxx/include/__config +63 -280
- package/libcxx/include/__configuration/abi.h +14 -24
- package/libcxx/include/__configuration/availability.h +65 -118
- package/libcxx/include/__configuration/compiler.h +6 -6
- package/libcxx/include/__configuration/experimental.h +38 -0
- package/libcxx/include/__configuration/hardening.h +215 -0
- package/libcxx/include/__configuration/language.h +3 -0
- package/libcxx/include/__configuration/platform.h +9 -16
- package/libcxx/include/__coroutine/coroutine_handle.h +9 -9
- package/libcxx/include/__coroutine/noop_coroutine_handle.h +11 -13
- package/libcxx/include/__debug_utils/strict_weak_ordering_check.h +1 -1
- package/libcxx/include/__exception/exception.h +6 -4
- package/libcxx/include/__exception/exception_ptr.h +27 -5
- package/libcxx/include/__exception/nested_exception.h +2 -2
- package/libcxx/include/__exception/operations.h +5 -5
- package/libcxx/include/__expected/bad_expected_access.h +8 -6
- package/libcxx/include/__expected/expected.h +62 -64
- package/libcxx/include/__expected/unexpected.h +4 -4
- package/libcxx/include/__filesystem/copy_options.h +4 -4
- package/libcxx/include/__filesystem/directory_entry.h +37 -33
- package/libcxx/include/__filesystem/directory_iterator.h +9 -11
- package/libcxx/include/__filesystem/directory_options.h +7 -4
- package/libcxx/include/__filesystem/file_status.h +3 -3
- package/libcxx/include/__filesystem/filesystem_error.h +9 -10
- package/libcxx/include/__filesystem/operations.h +97 -66
- package/libcxx/include/__filesystem/path.h +68 -64
- package/libcxx/include/__filesystem/path_iterator.h +1 -3
- package/libcxx/include/__filesystem/perm_options.h +4 -4
- package/libcxx/include/__filesystem/perms.h +4 -4
- package/libcxx/include/__filesystem/recursive_directory_iterator.h +9 -14
- package/libcxx/include/__filesystem/space_info.h +1 -1
- package/libcxx/include/__filesystem/u8path.h +12 -14
- package/libcxx/include/__flat_map/flat_map.h +88 -71
- package/libcxx/include/__flat_map/flat_multimap.h +251 -172
- package/libcxx/include/__flat_map/key_value_iterator.h +0 -1
- package/libcxx/include/__flat_map/utils.h +1 -0
- package/libcxx/include/__flat_set/flat_multiset.h +211 -143
- package/libcxx/include/__flat_set/flat_set.h +86 -68
- package/libcxx/include/__format/concepts.h +0 -14
- package/libcxx/include/__format/extended_grapheme_cluster_table.h +3 -2
- package/libcxx/include/__format/fmt_pair_like.h +42 -0
- package/libcxx/include/__format/format_arg.h +7 -10
- package/libcxx/include/__format/format_args.h +1 -1
- package/libcxx/include/__format/format_context.h +5 -5
- package/libcxx/include/__format/format_parse_context.h +2 -2
- package/libcxx/include/__format/formatter_output.h +30 -34
- package/libcxx/include/__format/indic_conjunct_break_table.h +3 -2
- package/libcxx/include/__format/range_default_formatter.h +2 -41
- package/libcxx/include/__format/range_format.h +71 -0
- package/libcxx/include/__format/range_formatter.h +1 -0
- package/libcxx/include/__format/width_estimation_table.h +4 -2
- package/libcxx/include/__functional/bind.h +10 -15
- package/libcxx/include/__functional/bind_back.h +1 -1
- package/libcxx/include/__functional/bind_front.h +1 -1
- package/libcxx/include/__functional/function.h +57 -75
- package/libcxx/include/__functional/hash.h +1 -10
- package/libcxx/include/__functional/identity.h +1 -1
- package/libcxx/include/__functional/is_transparent.h +8 -0
- package/libcxx/include/__functional/mem_fn.h +2 -1
- package/libcxx/include/__functional/operations.h +18 -0
- package/libcxx/include/__functional/ranges_operations.h +7 -0
- package/libcxx/include/__functional/reference_wrapper.h +7 -5
- package/libcxx/include/__functional/weak_result_type.h +14 -28
- package/libcxx/include/__fwd/ios.h +1 -1
- package/libcxx/include/__fwd/tuple.h +14 -0
- package/libcxx/include/__hash_table +371 -357
- package/libcxx/include/__ios/fpos.h +4 -4
- package/libcxx/include/__iterator/back_insert_iterator.h +1 -7
- package/libcxx/include/__iterator/bounded_iter.h +7 -8
- package/libcxx/include/__iterator/concepts.h +6 -9
- package/libcxx/include/__iterator/cpp17_iterator_concepts.h +13 -12
- package/libcxx/include/__iterator/distance.h +40 -18
- package/libcxx/include/__iterator/front_insert_iterator.h +1 -7
- package/libcxx/include/__iterator/insert_iterator.h +1 -7
- package/libcxx/include/__iterator/istream_iterator.h +6 -7
- package/libcxx/include/__iterator/istreambuf_iterator.h +6 -7
- package/libcxx/include/__iterator/iter_move.h +1 -1
- package/libcxx/include/__iterator/iterator.h +13 -0
- package/libcxx/include/__iterator/iterator_traits.h +13 -14
- package/libcxx/include/__iterator/ostream_iterator.h +1 -7
- package/libcxx/include/__iterator/ostreambuf_iterator.h +1 -7
- package/libcxx/include/__iterator/reverse_iterator.h +8 -13
- package/libcxx/include/__iterator/segmented_iterator.h +3 -8
- package/libcxx/include/__iterator/static_bounded_iter.h +3 -3
- package/libcxx/include/__iterator/wrap_iter.h +8 -6
- package/libcxx/include/__locale +3 -10
- package/libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h +0 -10
- package/libcxx/include/__locale_dir/locale_base_api.h +5 -28
- package/libcxx/include/__locale_dir/messages.h +1 -1
- package/libcxx/include/__locale_dir/money.h +2 -2
- package/libcxx/include/__locale_dir/num.h +190 -243
- package/libcxx/include/__locale_dir/pad_and_output.h +5 -6
- package/libcxx/include/__locale_dir/support/bsd_like.h +0 -20
- package/libcxx/include/__locale_dir/support/fuchsia.h +0 -7
- package/libcxx/include/__locale_dir/support/linux.h +0 -37
- package/libcxx/include/__locale_dir/support/netbsd.h +0 -2
- package/libcxx/include/__locale_dir/support/newlib.h +243 -0
- package/libcxx/include/__locale_dir/support/no_locale/characters.h +0 -4
- package/libcxx/include/__locale_dir/support/no_locale/strtonum.h +0 -9
- package/libcxx/include/__locale_dir/support/windows.h +0 -29
- package/libcxx/include/__locale_dir/time.h +3 -7
- package/libcxx/include/__math/hypot.h +1 -1
- package/libcxx/include/__math/logarithms.h +1 -1
- package/libcxx/include/__math/traits.h +80 -11
- package/libcxx/include/__mdspan/extents.h +7 -4
- package/libcxx/include/__mdspan/layout_stride.h +4 -5
- package/libcxx/include/__mdspan/mdspan.h +29 -23
- package/libcxx/include/__memory/addressof.h +7 -5
- package/libcxx/include/__memory/align.h +18 -1
- package/libcxx/include/__memory/allocate_at_least.h +15 -10
- package/libcxx/include/__memory/allocator.h +14 -26
- package/libcxx/include/__memory/allocator_traits.h +6 -4
- package/libcxx/include/__memory/compressed_pair.h +15 -9
- package/libcxx/include/__memory/construct_at.h +12 -23
- package/libcxx/include/__memory/inout_ptr.h +1 -1
- package/libcxx/include/__memory/is_sufficiently_aligned.h +1 -1
- package/libcxx/include/__memory/out_ptr.h +1 -1
- package/libcxx/include/__memory/pointer_traits.h +1 -1
- package/libcxx/include/__memory/raw_storage_iterator.h +3 -9
- package/libcxx/include/__memory/shared_count.h +9 -30
- package/libcxx/include/__memory/shared_ptr.h +100 -145
- package/libcxx/include/__memory/temp_value.h +1 -2
- package/libcxx/include/__memory/uninitialized_algorithms.h +44 -115
- package/libcxx/include/__memory/unique_ptr.h +14 -16
- package/libcxx/include/__memory/uses_allocator_construction.h +1 -0
- package/libcxx/include/__memory_resource/memory_resource.h +4 -2
- package/libcxx/include/__memory_resource/monotonic_buffer_resource.h +1 -1
- package/libcxx/include/__memory_resource/polymorphic_allocator.h +13 -8
- package/libcxx/include/__memory_resource/pool_options.h +1 -1
- package/libcxx/include/__memory_resource/synchronized_pool_resource.h +4 -2
- package/libcxx/include/__memory_resource/unsynchronized_pool_resource.h +1 -1
- package/libcxx/include/__mutex/mutex.h +2 -2
- package/libcxx/include/__mutex/once_flag.h +14 -11
- package/libcxx/include/__mutex/tag_types.h +3 -3
- package/libcxx/include/__mutex/unique_lock.h +8 -7
- package/libcxx/include/__new/align_val_t.h +6 -0
- package/libcxx/include/__new/allocate.h +1 -2
- package/libcxx/include/__new/exceptions.h +8 -2
- package/libcxx/include/__new/global_new_delete.h +4 -11
- package/libcxx/include/__new/interference_size.h +0 -4
- package/libcxx/include/__new/launder.h +3 -5
- package/libcxx/include/__new/nothrow_t.h +1 -1
- package/libcxx/include/__numeric/gcd_lcm.h +24 -34
- package/libcxx/include/__numeric/midpoint.h +9 -14
- package/libcxx/include/__numeric/pstl.h +2 -2
- package/libcxx/include/__numeric/saturation_arithmetic.h +13 -5
- package/libcxx/include/__ostream/basic_ostream.h +8 -8
- package/libcxx/include/__pstl/backends/default.h +14 -14
- package/libcxx/include/__pstl/backends/libdispatch.h +2 -2
- package/libcxx/include/__pstl/cpu_algos/find_if.h +1 -1
- package/libcxx/include/__pstl/cpu_algos/transform.h +5 -6
- package/libcxx/include/__pstl/cpu_algos/transform_reduce.h +5 -4
- package/libcxx/include/__random/binomial_distribution.h +10 -4
- package/libcxx/include/__random/mersenne_twister_engine.h +50 -154
- package/libcxx/include/__random/piecewise_constant_distribution.h +3 -2
- package/libcxx/include/__random/piecewise_linear_distribution.h +3 -2
- package/libcxx/include/__ranges/adjacent_transform_view.h +406 -0
- package/libcxx/include/__ranges/adjacent_view.h +419 -0
- package/libcxx/include/__ranges/as_rvalue_view.h +9 -9
- package/libcxx/include/__ranges/chunk_by_view.h +6 -6
- package/libcxx/include/__ranges/common_view.h +7 -7
- package/libcxx/include/__ranges/drop_view.h +8 -8
- package/libcxx/include/__ranges/drop_while_view.h +5 -5
- package/libcxx/include/__ranges/elements_of.h +49 -0
- package/libcxx/include/__ranges/empty_view.h +5 -5
- package/libcxx/include/__ranges/filter_view.h +10 -10
- package/libcxx/include/__ranges/iota_view.h +41 -22
- package/libcxx/include/__ranges/owning_view.h +15 -15
- package/libcxx/include/__ranges/ref_view.h +6 -6
- package/libcxx/include/__ranges/repeat_view.h +17 -10
- package/libcxx/include/__ranges/single_view.h +8 -8
- package/libcxx/include/__ranges/take_view.h +9 -9
- package/libcxx/include/__ranges/transform_view.h +1 -2
- package/libcxx/include/__ranges/view_interface.h +10 -10
- package/libcxx/include/__ranges/zip_transform_view.h +357 -0
- package/libcxx/include/__ranges/zip_view.h +20 -20
- package/libcxx/include/__split_buffer +612 -240
- package/libcxx/include/__stop_token/atomic_unique_lock.h +1 -1
- package/libcxx/include/__stop_token/stop_callback.h +2 -2
- package/libcxx/include/__stop_token/stop_source.h +1 -1
- package/libcxx/include/__stop_token/stop_state.h +4 -4
- package/libcxx/include/__stop_token/stop_token.h +1 -1
- package/libcxx/include/__string/char_traits.h +51 -31
- package/libcxx/include/__string/constexpr_c_functions.h +5 -5
- package/libcxx/include/__support/xlocale/__strtonum_fallback.h +0 -8
- package/libcxx/include/__system_error/error_category.h +8 -8
- package/libcxx/include/__system_error/error_code.h +5 -5
- package/libcxx/include/__system_error/error_condition.h +4 -4
- package/libcxx/include/__system_error/system_error.h +1 -1
- package/libcxx/include/__thread/id.h +1 -1
- package/libcxx/include/__thread/jthread.h +1 -1
- package/libcxx/include/__thread/poll_with_backoff.h +27 -8
- package/libcxx/include/__thread/support/c11.h +8 -8
- package/libcxx/include/__thread/support/pthread.h +8 -8
- package/libcxx/include/__thread/support/windows.h +8 -8
- package/libcxx/include/__thread/thread.h +13 -8
- package/libcxx/include/__thread/timed_backoff_policy.h +3 -2
- package/libcxx/include/__tree +849 -701
- package/libcxx/include/__tuple/sfinae_helpers.h +1 -44
- package/libcxx/include/__tuple/tuple_element.h +0 -12
- package/libcxx/include/__tuple/tuple_size.h +0 -4
- package/libcxx/include/__tuple/tuple_transform.h +45 -0
- package/libcxx/include/__type_traits/aligned_storage.h +13 -40
- package/libcxx/include/__type_traits/desugars_to.h +4 -0
- package/libcxx/include/__type_traits/invoke.h +8 -0
- package/libcxx/include/__type_traits/is_allocator.h +6 -7
- package/libcxx/include/__type_traits/is_array.h +26 -0
- package/libcxx/include/__type_traits/is_equality_comparable.h +16 -21
- package/libcxx/include/__type_traits/is_final.h +1 -1
- package/libcxx/include/__type_traits/is_floating_point.h +7 -6
- package/libcxx/include/__type_traits/is_generic_transparent_comparator.h +30 -0
- package/libcxx/include/__type_traits/is_specialization.h +2 -6
- package/libcxx/include/__type_traits/is_within_lifetime.h +29 -0
- package/libcxx/include/__type_traits/make_transparent.h +52 -0
- package/libcxx/include/__type_traits/reference_constructs_from_temporary.h +1 -7
- package/libcxx/include/__type_traits/reference_converts_from_temporary.h +1 -1
- package/libcxx/include/__utility/cmp.h +19 -7
- package/libcxx/include/__utility/default_three_way_comparator.h +70 -0
- package/libcxx/include/__utility/in_place.h +1 -1
- package/libcxx/include/__utility/integer_sequence.h +56 -41
- package/libcxx/include/__utility/lazy_synth_three_way_comparator.h +120 -0
- package/libcxx/include/__utility/pair.h +22 -25
- package/libcxx/include/__utility/scope_guard.h +2 -0
- package/libcxx/include/__utility/try_key_extraction.h +114 -0
- package/libcxx/include/__vector/vector.h +187 -160
- package/libcxx/include/__vector/vector_bool.h +76 -83
- package/libcxx/include/any +118 -155
- package/libcxx/include/array +88 -56
- package/libcxx/include/atomic +2 -0
- package/libcxx/include/barrier +20 -24
- package/libcxx/include/bitset +49 -30
- package/libcxx/include/ccomplex +3 -11
- package/libcxx/include/chrono +47 -0
- package/libcxx/include/ciso646 +3 -6
- package/libcxx/include/complex +77 -65
- package/libcxx/include/complex.h +10 -10
- package/libcxx/include/condition_variable +3 -3
- package/libcxx/include/cstdalign +3 -10
- package/libcxx/include/cstdbool +3 -10
- package/libcxx/include/ctgmath +2 -11
- package/libcxx/include/ctype.h +24 -24
- package/libcxx/include/cwchar +2 -2
- package/libcxx/include/deque +109 -225
- package/libcxx/include/errno.h +269 -269
- package/libcxx/include/exception +4 -1
- package/libcxx/include/ext/hash_map +7 -48
- package/libcxx/include/ext/hash_set +2 -8
- package/libcxx/include/fenv.h +43 -43
- package/libcxx/include/flat_map +663 -11
- package/libcxx/include/flat_set +543 -8
- package/libcxx/include/float.h +16 -16
- package/libcxx/include/forward_list +33 -53
- package/libcxx/include/fstream +57 -42
- package/libcxx/include/future +41 -51
- package/libcxx/include/initializer_list +9 -3
- package/libcxx/include/inttypes.h +16 -16
- package/libcxx/include/ios +28 -28
- package/libcxx/include/istream +19 -13
- package/libcxx/include/iterator +10 -0
- package/libcxx/include/latch +7 -5
- package/libcxx/include/limits +4 -4
- package/libcxx/include/list +61 -79
- package/libcxx/include/map +386 -274
- package/libcxx/include/math.h +19 -0
- package/libcxx/include/mdspan +1 -5
- package/libcxx/include/mutex +29 -19
- package/libcxx/include/optional +644 -149
- package/libcxx/include/print +9 -5
- package/libcxx/include/queue +39 -37
- package/libcxx/include/ranges +48 -0
- package/libcxx/include/regex +33 -31
- package/libcxx/include/scoped_allocator +16 -11
- package/libcxx/include/semaphore +15 -18
- package/libcxx/include/set +220 -192
- package/libcxx/include/shared_mutex +3 -8
- package/libcxx/include/span +53 -37
- package/libcxx/include/sstream +34 -28
- package/libcxx/include/stack +13 -15
- package/libcxx/include/stddef.h +10 -10
- package/libcxx/include/stdexcept +2 -2
- package/libcxx/include/stdio.h +20 -21
- package/libcxx/include/streambuf +59 -19
- package/libcxx/include/string +574 -573
- package/libcxx/include/string_view +113 -89
- package/libcxx/include/strstream +10 -10
- package/libcxx/include/syncstream +4 -4
- package/libcxx/include/tgmath.h +12 -12
- package/libcxx/include/tuple +242 -212
- package/libcxx/include/type_traits +8 -2
- package/libcxx/include/typeindex +5 -3
- package/libcxx/include/typeinfo +92 -89
- package/libcxx/include/unordered_map +179 -304
- package/libcxx/include/unordered_set +168 -195
- package/libcxx/include/utility +12 -0
- package/libcxx/include/valarray +106 -161
- package/libcxx/include/variant +25 -33
- package/libcxx/include/version +41 -24
- package/libcxx/include/wctype.h +29 -29
- package/libcxx/libc/hdr/errno_macros.h +3 -1
- package/libcxx/libc/hdr/stdint_proxy.h +18 -0
- package/libcxx/libc/hdr/types/wchar_t.h +23 -0
- package/libcxx/libc/hdr/wchar_overlay.h +69 -0
- package/libcxx/libc/include/llvm-libc-macros/cfloat128-macros.h +41 -0
- package/libcxx/libc/include/llvm-libc-macros/cfloat16-macros.h +20 -0
- package/libcxx/libc/include/llvm-libc-macros/wchar-macros.h +18 -0
- package/libcxx/libc/include/llvm-libc-types/cfloat128.h +11 -28
- package/libcxx/libc/include/llvm-libc-types/cfloat16.h +4 -7
- package/libcxx/libc/include/llvm-libc-types/wint_t.h +14 -0
- package/libcxx/libc/shared/libc_common.h +5 -0
- package/libcxx/libc/src/__support/CPP/bit.h +50 -12
- package/libcxx/libc/src/__support/CPP/type_traits/is_complex.h +7 -0
- package/libcxx/libc/src/__support/CPP/type_traits/is_destructible.h +2 -1
- package/libcxx/libc/src/__support/CPP/type_traits/is_unsigned.h +6 -0
- package/libcxx/libc/src/__support/CPP/utility/integer_sequence.h +10 -0
- package/libcxx/libc/src/__support/FPUtil/FPBits.h +6 -7
- package/libcxx/libc/src/__support/FPUtil/rounding_mode.h +50 -4
- package/libcxx/libc/src/__support/big_int.h +14 -14
- package/libcxx/libc/src/__support/common.h +3 -2
- package/libcxx/libc/src/__support/ctype_utils.h +19 -12
- package/libcxx/libc/src/__support/detailed_powers_of_ten.h +1 -2
- package/libcxx/libc/src/__support/high_precision_decimal.h +33 -14
- package/libcxx/libc/src/__support/libc_assert.h +2 -0
- package/libcxx/libc/src/__support/macros/attributes.h +44 -1
- package/libcxx/libc/src/__support/macros/config.h +23 -0
- package/libcxx/libc/src/__support/macros/null_check.h +1 -2
- package/libcxx/libc/src/__support/macros/optimization.h +3 -0
- package/libcxx/libc/src/__support/macros/properties/architectures.h +5 -1
- package/libcxx/libc/src/__support/macros/properties/compiler.h +8 -3
- package/libcxx/libc/src/__support/macros/properties/cpu_features.h +17 -1
- package/libcxx/libc/src/__support/macros/properties/types.h +2 -3
- package/libcxx/libc/src/__support/macros/sanitizer.h +0 -10
- package/libcxx/libc/src/__support/math_extras.h +20 -4
- package/libcxx/libc/src/__support/str_to_float.h +98 -125
- package/libcxx/libc/src/__support/str_to_integer.h +39 -27
- package/libcxx/libc/src/__support/wctype_utils.h +588 -0
- package/libcxx/src/any.cpp +4 -0
- package/libcxx/src/atomic.cpp +365 -80
- package/libcxx/src/barrier.cpp +4 -3
- package/libcxx/src/charconv.cpp +6 -3
- package/libcxx/src/condition_variable_destructor.cpp +1 -1
- package/libcxx/src/error_category.cpp +3 -1
- package/libcxx/src/exception.cpp +2 -10
- package/libcxx/src/experimental/time_zone.cpp +1 -1
- package/libcxx/src/experimental/tzdb.cpp +4 -1
- package/libcxx/src/filesystem/error.h +4 -22
- package/libcxx/src/filesystem/format_string.h +9 -18
- package/libcxx/src/filesystem/int128_builtins.cpp +2 -0
- package/libcxx/src/filesystem/operations.cpp +2 -9
- package/libcxx/src/filesystem/path.cpp +3 -1
- package/libcxx/src/include/aligned_alloc.h +65 -0
- package/libcxx/src/include/config_elast.h +1 -1
- package/libcxx/src/include/from_chars_floating_point.h +11 -7
- package/libcxx/src/include/overridable_function.h +8 -10
- package/libcxx/src/iostream.cpp +56 -37
- package/libcxx/src/locale.cpp +213 -196
- package/libcxx/src/memory.cpp +12 -14
- package/libcxx/src/mutex_destructor.cpp +1 -1
- package/libcxx/src/new.cpp +5 -5
- package/libcxx/src/optional.cpp +4 -0
- package/libcxx/src/print.cpp +9 -1
- package/libcxx/src/random.cpp +0 -26
- package/libcxx/src/string.cpp +10 -25
- package/libcxx/src/support/runtime/exception_fallback.ipp +2 -0
- package/libcxx/src/support/runtime/exception_glibcxx.ipp +3 -0
- package/libcxx/src/support/runtime/exception_libcxxabi.ipp +6 -2
- package/libcxx/src/support/runtime/exception_libcxxrt.ipp +2 -0
- package/libcxx/src/support/runtime/exception_msvc.ipp +2 -0
- package/libcxx/src/support/runtime/exception_pointer_cxxabi.ipp +9 -10
- package/libcxx/src/support/runtime/exception_pointer_glibcxx.ipp +2 -0
- package/libcxx/src/support/runtime/exception_pointer_msvc.ipp +1 -0
- package/libcxx/src/support/runtime/exception_pointer_unimplemented.ipp +1 -0
- package/libcxx/src/support/win32/locale_win32.cpp +1 -1
- package/libcxx/src/system_error.cpp +2 -0
- package/libcxx/src/thread.cpp +1 -3
- package/libcxx/src/valarray.cpp +1 -2
- package/libcxx/src/vector.cpp +2 -2
- package/libcxxabi/include/__cxxabi_config.h +42 -23
- package/libcxxabi/src/cxa_exception.cpp +4 -2
- package/libcxxabi/src/cxa_exception.h +16 -14
- package/libcxxabi/src/cxa_personality.cpp +126 -9
- package/libcxxabi/src/cxa_thread_atexit.cpp +2 -1
- package/libcxxabi/src/demangle/DemangleConfig.h +4 -0
- package/libcxxabi/src/demangle/ItaniumDemangle.h +9 -6
- package/libcxxabi/src/demangle/Utility.h +21 -7
- package/libcxxabi/src/fallback_malloc.cpp +1 -1
- package/libcxxabi/src/private_typeinfo.cpp +6 -0
- package/libcxxabi/src/stdlib_new_delete.cpp +5 -5
- package/libtsan/LICENSE.TXT +311 -0
- package/libtsan/builtins/assembly.h +41 -8
- package/libtsan/interception/interception_win.cpp +4 -0
- package/libtsan/sanitizer_common/sanitizer_allocator_primary32.h +1 -0
- package/libtsan/sanitizer_common/sanitizer_allocator_primary64.h +18 -0
- package/libtsan/sanitizer_common/sanitizer_common.h +15 -2
- package/libtsan/sanitizer_common/sanitizer_common_interceptors.inc +30 -4
- package/libtsan/sanitizer_common/sanitizer_common_interceptors_ioctl.inc +4 -0
- package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_aarch64.inc.S +2 -1
- package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_i386.inc.S +2 -0
- package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_x86_64.inc.S +2 -0
- package/libtsan/sanitizer_common/sanitizer_common_syscalls.inc +18 -0
- package/libtsan/sanitizer_common/sanitizer_file.cpp +40 -12
- package/libtsan/sanitizer_common/sanitizer_file.h +3 -0
- package/libtsan/sanitizer_common/sanitizer_flags.inc +7 -0
- package/libtsan/sanitizer_common/sanitizer_fuchsia.cpp +30 -3
- package/libtsan/sanitizer_common/sanitizer_haiku.cpp +2 -2
- package/libtsan/sanitizer_common/sanitizer_internal_defs.h +1 -1
- package/libtsan/sanitizer_common/sanitizer_libc.cpp +8 -0
- package/libtsan/sanitizer_common/sanitizer_libc.h +1 -0
- package/libtsan/sanitizer_common/sanitizer_linux.cpp +15 -7
- package/libtsan/sanitizer_common/sanitizer_linux.h +3 -3
- package/libtsan/sanitizer_common/sanitizer_linux_libcdep.cpp +1 -0
- package/libtsan/sanitizer_common/sanitizer_mac.cpp +255 -104
- package/libtsan/sanitizer_common/sanitizer_mac.h +5 -0
- package/libtsan/sanitizer_common/sanitizer_netbsd.cpp +2 -2
- package/libtsan/sanitizer_common/sanitizer_platform.h +27 -1
- package/libtsan/sanitizer_common/sanitizer_platform_interceptors.h +5 -4
- package/libtsan/sanitizer_common/sanitizer_platform_limits_posix.cpp +15 -17
- package/libtsan/sanitizer_common/sanitizer_platform_limits_posix.h +32 -6
- package/libtsan/sanitizer_common/sanitizer_posix.cpp +3 -12
- package/libtsan/sanitizer_common/sanitizer_posix.h +2 -1
- package/libtsan/sanitizer_common/sanitizer_posix_libcdep.cpp +19 -0
- package/libtsan/sanitizer_common/sanitizer_procmaps_mac.cpp +102 -37
- package/libtsan/sanitizer_common/sanitizer_redefine_builtins.h +1 -1
- package/libtsan/sanitizer_common/sanitizer_signal_interceptors.inc +40 -2
- package/libtsan/sanitizer_common/sanitizer_stoptheworld.h +1 -1
- package/libtsan/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp +83 -12
- package/libtsan/sanitizer_common/sanitizer_stoptheworld_mac.cpp +3 -3
- package/libtsan/sanitizer_common/sanitizer_stoptheworld_netbsd_libcdep.cpp +7 -7
- package/libtsan/sanitizer_common/sanitizer_stoptheworld_win.cpp +2 -2
- package/libtsan/sanitizer_common/sanitizer_symbolizer_internal.h +5 -1
- package/libtsan/sanitizer_common/sanitizer_symbolizer_libcdep.cpp +11 -1
- package/libtsan/sanitizer_common/sanitizer_symbolizer_mac.cpp +86 -29
- package/libtsan/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp +27 -16
- package/libtsan/sanitizer_common/sanitizer_thread_registry.cpp +5 -4
- package/libtsan/sanitizer_common/sanitizer_thread_registry.h +4 -4
- package/libtsan/sanitizer_common/sanitizer_win.cpp +1 -3
- package/libtsan/tsan_debugging.cpp +2 -2
- package/libtsan/tsan_flags.cpp +37 -0
- package/libtsan/tsan_flags.h +8 -0
- package/libtsan/tsan_flags.inc +12 -0
- package/libtsan/tsan_interceptors.h +9 -1
- package/libtsan/tsan_interceptors_mac.cpp +19 -0
- package/libtsan/tsan_interceptors_posix.cpp +78 -32
- package/libtsan/tsan_interface.h +3 -3
- package/libtsan/tsan_interface_ann.cpp +23 -9
- package/libtsan/tsan_mman.cpp +18 -4
- package/libtsan/tsan_platform.h +44 -7
- package/libtsan/tsan_platform_linux.cpp +42 -14
- package/libtsan/tsan_platform_mac.cpp +16 -3
- package/libtsan/tsan_report.h +14 -1
- package/libtsan/tsan_rtl.cpp +14 -0
- package/libtsan/tsan_rtl.h +7 -2
- package/libtsan/tsan_rtl_aarch64.S +3 -5
- package/libtsan/tsan_rtl_access.cpp +8 -3
- package/libtsan/tsan_rtl_amd64.S +2 -0
- package/libtsan/tsan_rtl_mutex.cpp +94 -49
- package/libtsan/tsan_rtl_report.cpp +132 -65
- package/libtsan/tsan_rtl_thread.cpp +31 -9
- package/libtsan/tsan_symbolize.cpp +1 -1
- package/libtsan/tsan_symbolize.h +1 -1
- package/libtsan/tsan_trace.h +1 -1
- package/libunwind/include/__libunwind_config.h +11 -2
- package/libunwind/include/libunwind.h +117 -11
- package/libunwind/include/unwind_arm_ehabi.h +4 -1
- package/libunwind/src/AddressSpace.hpp +42 -20
- package/libunwind/src/CompactUnwinder.hpp +16 -5
- package/libunwind/src/DwarfInstructions.hpp +24 -13
- package/libunwind/src/DwarfParser.hpp +62 -23
- package/libunwind/src/EHHeaderParser.hpp +7 -4
- package/libunwind/src/Registers.hpp +226 -22
- package/libunwind/src/Unwind-seh.cpp +6 -7
- package/libunwind/src/Unwind-wasm.c +7 -7
- package/libunwind/src/UnwindCursor.hpp +167 -49
- package/libunwind/src/UnwindLevel1.c +46 -17
- package/libunwind/src/UnwindRegistersRestore.S +46 -5
- package/libunwind/src/UnwindRegistersSave.S +86 -2
- package/libunwind/src/assembly.h +5 -1
- package/libunwind/src/config.h +9 -0
- package/libunwind/src/gcc_personality_v0.c +79 -6
- package/libunwind/src/libunwind.cpp +104 -4
- package/libunwind/src/libunwind_ext.h +7 -1
- package/libunwind/src/shadow_stack_unwind.h +2 -2
- package/lldb/pretty_printers.py +948 -0
- package/package.json +1 -1
- package/std/Build/Cache/Path.zig +1 -1
- package/std/Build/Cache.zig +6 -6
- package/std/Build/Step/Compile.zig +18 -19
- package/std/Build/Step/ConfigHeader.zig +1 -1
- package/std/Build/Step/Run.zig +15 -8
- package/std/Build/Step.zig +3 -7
- package/std/Build/Watch/FsEvents.zig +1 -1
- package/std/Build/WebServer.zig +2 -2
- package/std/Build/abi.zig +1 -1
- package/std/Io/Dir.zig +9 -7
- package/std/Io/Dispatch.zig +8 -18
- package/std/Io/File/Writer.zig +8 -6
- package/std/Io/File.zig +6 -9
- package/std/Io/Kqueue.zig +3 -3
- package/std/Io/Reader.zig +8 -14
- package/std/Io/RwLock.zig +2 -0
- package/std/Io/Semaphore.zig +112 -17
- package/std/Io/Terminal.zig +1 -1
- package/std/Io/Threaded.zig +176 -39
- package/std/Io/Uring.zig +18 -20
- package/std/Io/Writer.zig +54 -10
- package/std/Io/net/HostName.zig +11 -6
- package/std/Io/net.zig +11 -11
- package/std/Io.zig +104 -38
- package/std/Random/ChaCha.zig +2 -2
- package/std/Random/benchmark.zig +2 -2
- package/std/Random.zig +6 -6
- package/std/SemanticVersion.zig +1 -1
- package/std/Target/Query.zig +3 -4
- package/std/Target/aarch64.zig +620 -77
- package/std/Target/amdgcn.zig +421 -21
- package/std/Target/arm.zig +40 -6
- package/std/Target/bpf.zig +6 -0
- package/std/Target/hexagon.zig +41 -6
- package/std/Target/loongarch.zig +18 -0
- package/std/Target/mips.zig +6 -0
- package/std/Target/nvptx.zig +58 -35
- package/std/Target/powerpc.zig +27 -19
- package/std/Target/riscv.zig +512 -177
- package/std/Target/sparc.zig +17 -0
- package/std/Target/spirv.zig +1 -1
- package/std/Target/wasm.zig +7 -0
- package/std/Target/x86.zig +200 -31
- package/std/Target/xtensa.zig +65 -0
- package/std/Target.zig +142 -60
- package/std/Thread.zig +17 -4
- package/std/array_hash_map.zig +103 -57
- package/std/array_list.zig +12 -33
- package/std/ascii.zig +0 -9
- package/std/atomic.zig +2 -0
- package/std/base64.zig +5 -5
- package/std/bit_set.zig +85 -93
- package/std/c/haiku.zig +3 -0
- package/std/c/serenity.zig +1 -6
- package/std/c.zig +123 -32
- package/std/compress/flate/Decompress.zig +3 -4
- package/std/compress/zstd/Decompress.zig +7 -9
- package/std/crypto/25519/curve25519.zig +2 -2
- package/std/crypto/25519/edwards25519.zig +3 -3
- package/std/crypto/25519/ristretto255.zig +2 -2
- package/std/crypto/25519/scalar.zig +6 -6
- package/std/crypto/25519/x25519.zig +1 -1
- package/std/crypto/Certificate.zig +14 -2
- package/std/crypto/Sha1.zig +1 -1
- package/std/crypto/aegis.zig +45 -39
- package/std/crypto/aes_ccm.zig +22 -22
- package/std/crypto/aes_gcm.zig +10 -12
- package/std/crypto/aes_ocb.zig +9 -9
- package/std/crypto/argon2.zig +15 -15
- package/std/crypto/ascon.zig +75 -35
- package/std/crypto/bcrypt.zig +20 -10
- package/std/crypto/benchmark.zig +7 -7
- package/std/crypto/blake2.zig +100 -64
- package/std/crypto/cbc_mac.zig +1 -1
- package/std/crypto/chacha20.zig +10 -10
- package/std/crypto/cmac.zig +3 -3
- package/std/crypto/codecs/asn1/Oid.zig +12 -1
- package/std/crypto/codecs/asn1/der/Encoder.zig +1 -1
- package/std/crypto/codecs/asn1.zig +1 -1
- package/std/crypto/codecs/base64_hex_ct.zig +3 -5
- package/std/crypto/ecdsa.zig +9 -9
- package/std/crypto/ff.zig +4 -5
- package/std/crypto/ghash_polyval.zig +4 -4
- package/std/crypto/hkdf.zig +1 -1
- package/std/crypto/isap.zig +3 -3
- package/std/crypto/kangarootwelve.zig +1 -1
- package/std/crypto/keccak_p.zig +8 -8
- package/std/crypto/md5.zig +1 -1
- package/std/crypto/ml_dsa.zig +39 -39
- package/std/crypto/ml_kem.zig +12 -34
- package/std/crypto/modes.zig +2 -2
- package/std/crypto/pbkdf2.zig +1 -1
- package/std/crypto/pcurves/common.zig +4 -5
- package/std/crypto/pcurves/p256/scalar.zig +3 -3
- package/std/crypto/pcurves/p384/scalar.zig +2 -2
- package/std/crypto/pcurves/secp256k1/scalar.zig +3 -3
- package/std/crypto/pcurves/tests/p256.zig +5 -5
- package/std/crypto/pcurves/tests/p384.zig +5 -5
- package/std/crypto/pcurves/tests/secp256k1.zig +3 -3
- package/std/crypto/salsa20.zig +8 -14
- package/std/crypto/sha2.zig +2 -2
- package/std/crypto/sha3.zig +2 -4
- package/std/crypto/siphash.zig +1 -1
- package/std/crypto/timing_safe.zig +10 -9
- package/std/crypto/tls/Client.zig +89 -13
- package/std/crypto/tls.zig +1 -1
- package/std/crypto.zig +4 -3
- package/std/debug/Dwarf.zig +21 -12
- package/std/debug/Pdb.zig +25 -17
- package/std/debug/SelfInfo/Elf.zig +1 -0
- package/std/debug/cpu_context.zig +168 -24
- package/std/debug.zig +17 -9
- package/std/deque.zig +1 -1
- package/std/elf.zig +20 -3
- package/std/enums.zig +8 -20
- package/std/fmt/float.zig +2 -0
- package/std/fmt/parse_float/decimal.zig +1 -1
- package/std/fmt/parse_float.zig +1 -1
- package/std/fmt.zig +14 -10
- package/std/fs/path.zig +7 -5
- package/std/hash/Adler32.zig +3 -3
- package/std/hash/benchmark.zig +2 -2
- package/std/hash/wyhash.zig +2 -2
- package/std/hash/xxhash.zig +0 -6
- package/std/hash_map.zig +20 -1
- package/std/heap/ArenaAllocator.zig +3 -5
- package/std/heap/BufferFirstAllocator.zig +165 -0
- package/std/heap/SafeAllocator.zig +2180 -0
- package/std/heap/debug_allocator.zig +2 -2
- package/std/heap/memory_pool.zig +34 -197
- package/std/heap.zig +20 -133
- package/std/http/Client.zig +21 -24
- package/std/http.zig +4 -5
- package/std/json/Scanner.zig +2 -2
- package/std/json/static.zig +2 -2
- package/std/json.zig +1 -1
- package/std/{builtin → lang}/assembly.zig +71 -0
- package/std/{builtin.zig → lang.zig} +7 -1
- package/std/leb128.zig +2 -2
- package/std/math/acos.zig +6 -0
- package/std/math/asin.zig +6 -0
- package/std/math/atan.zig +5 -0
- package/std/math/big/int.zig +5 -5
- package/std/math/big.zig +4 -4
- package/std/math/copysign.zig +1 -1
- package/std/math/float.zig +62 -0
- package/std/math/frexp.zig +4 -4
- package/std/math/hypot.zig +4 -0
- package/std/math/ilogb.zig +1 -1
- package/std/math/isfinite.zig +1 -1
- package/std/math/isinf.zig +1 -1
- package/std/math/isnan.zig +1 -2
- package/std/math/isnormal.zig +2 -2
- package/std/math/iszero.zig +2 -2
- package/std/math/ldexp.zig +2 -2
- package/std/math/log10.zig +0 -2
- package/std/math/modf.zig +1 -2
- package/std/math/nextafter.zig +3 -4
- package/std/math/pow.zig +1 -1
- package/std/math/powi.zig +2 -3
- package/std/math/signbit.zig +0 -1
- package/std/math.zig +21 -26
- package/std/mem/Allocator.zig +2 -6
- package/std/mem.zig +52 -75
- package/std/meta/trailer_flags.zig +1 -1
- package/std/meta.zig +4 -36
- package/std/multi_array_list.zig +24 -0
- package/std/os/emscripten.zig +7 -6
- package/std/os/linux/IoUring.zig +2 -0
- package/std/os/linux/alpha.zig +358 -0
- package/std/os/linux/arm.zig +0 -26
- package/std/os/linux/bpf.zig +6 -0
- package/std/os/linux/ioctl.zig +3 -2
- package/std/os/linux/syscalls.zig +528 -1
- package/std/os/linux/tls.zig +12 -1
- package/std/os/linux/x86.zig +2 -2
- package/std/os/linux/xtensa.zig +171 -0
- package/std/os/linux.zig +793 -51
- package/std/os/plan9.zig +1 -1
- package/std/os/uefi/hii.zig +1 -1
- package/std/os/uefi/tables/boot_services.zig +9 -8
- package/std/os/uefi/tables/runtime_services.zig +1 -1
- package/std/os/windows.zig +130 -1
- package/std/os.zig +36 -0
- package/std/pie.zig +21 -0
- package/std/posix.zig +2 -2
- package/std/process/Environ.zig +1 -1
- package/std/process.zig +6 -5
- package/std/simd.zig +4 -21
- package/std/sort.zig +3 -3
- package/std/start.zig +45 -12
- package/std/std.zig +8 -1
- package/std/tar/Writer.zig +39 -33
- package/std/tar.zig +8 -4
- package/std/testing.zig +68 -15
- package/std/unicode.zig +13 -8
- package/std/zig/Ast/Render.zig +6 -30
- package/std/zig/Ast.zig +12 -37
- package/std/zig/AstGen.zig +174 -258
- package/std/zig/AstRlAnnotate.zig +1 -11
- package/std/zig/AstSmith.zig +5 -11
- package/std/zig/ErrorBundle.zig +6 -2
- package/std/zig/LibCDirs.zig +14 -7
- package/std/zig/LibCInstallation.zig +34 -12
- package/std/zig/Parse.zig +11 -76
- package/std/zig/TokenSmith.zig +0 -6
- package/std/zig/WindowsSdk.zig +18 -18
- package/std/zig/Zir.zig +15 -69
- package/std/zig/ZonGen.zig +19 -27
- package/std/zig/llvm/Builder.zig +39 -33
- package/std/zig/llvm/bitcode_writer.zig +3 -3
- package/std/zig/llvm/ir.zig +8 -8
- package/std/zig/system/arm.zig +56 -2
- package/std/zig/system/linux.zig +4 -0
- package/std/zig/system/loongarch.zig +25 -9
- package/std/zig/system/windows.zig +34 -1
- package/std/zig/system/x86.zig +60 -16
- package/std/zig/system.zig +2 -8
- package/std/zig/target.zig +1 -4
- package/std/zig/tokenizer.zig +4 -43
- package/std/zig.zig +3 -4
- package/std/zip.zig +5 -5
- package/std/zon/parse.zig +1 -1
- package/zig.h +364 -3
- package/compiler_rt/long_double.zig +0 -37
- package/include/amxbf16transposeintrin.h +0 -94
- package/include/amxcomplextransposeintrin.h +0 -303
- package/include/amxfp16transposeintrin.h +0 -94
- package/include/amxmovrstransposeintrin.h +0 -200
- package/include/amxtf32transposeintrin.h +0 -105
- package/include/amxtransposeintrin.h +0 -248
- package/libc/include/hexagon-linux-any/asm/signal.h +0 -29
- package/libc/include/mips64el-openbsd-none/loongson/hibernate.h +0 -33
- package/libc/include/mips64el-openbsd-none/loongson/hibernate_var.h +0 -39
- package/libc/include/mips64el-openbsd-none/machine/hibernate.h +0 -33
- package/libc/include/mips64el-openbsd-none/machine/hibernate_var.h +0 -39
- package/libc/include/s390x-linux-any/asm/tape390.h +0 -103
- package/libc/mingw/math/lrintl.c +0 -18
- package/libc/mingw/math/rintl.c +0 -16
- package/libc/mingw/winpthreads/spinlock.c +0 -82
- package/libc/musl/src/linux/tee.c +0 -8
- package/libc/musl/src/math/i386/lrintl.c +0 -8
- package/libc/musl/src/math/i386/rintl.c +0 -7
- package/libc/musl/src/math/lrintl.c +0 -36
- package/libc/musl/src/math/rintl.c +0 -29
- package/libc/musl/src/math/s390x/rintl.c +0 -15
- package/libc/musl/src/math/x32/lrintl.s +0 -7
- package/libc/musl/src/math/x32/rintl.s +0 -6
- package/libc/musl/src/math/x86_64/lrintl.c +0 -8
- package/libc/musl/src/math/x86_64/rintl.c +0 -7
- package/libc/musl/src/string/strdup.c +0 -10
- package/libc/musl/src/string/strndup.c +0 -12
- package/libc/musl/src/string/wcsdup.c +0 -10
- package/libc/musl/src/thread/pthread_spin_destroy.c +0 -6
- package/libc/musl/src/thread/pthread_spin_init.c +0 -6
- package/libc/musl/src/thread/pthread_spin_lock.c +0 -8
- package/libc/musl/src/thread/pthread_spin_trylock.c +0 -7
- package/libc/musl/src/thread/pthread_spin_unlock.c +0 -7
- package/libc/musl/src/unistd/dup2.c +0 -20
- package/libc/musl/src/unistd/dup3.c +0 -26
- package/libc/wasi/thread-stub/pthread_spin_lock.c +0 -8
- package/libc/wasi/thread-stub/pthread_spin_trylock.c +0 -8
- package/libc/wasi/thread-stub/pthread_spin_unlock.c +0 -7
- package/libtsan/sanitizer_common/sanitizer_coverage_interface.inc +0 -43
- package/std/Build/Step/CheckObject.zig +0 -2764
package/std/zip.zig
CHANGED
|
@@ -143,7 +143,7 @@ pub const EndRecord = extern struct {
|
|
|
143
143
|
const read_buf: []u8 = buf[buf.len - new_loaded_len ..][0..read_len];
|
|
144
144
|
fr.interface.readSliceAll(read_buf) catch |err| switch (err) {
|
|
145
145
|
error.ReadFailed => return fr.err.?,
|
|
146
|
-
error.EndOfStream => return
|
|
146
|
+
error.EndOfStream => |e| return e,
|
|
147
147
|
};
|
|
148
148
|
loaded_len = new_loaded_len;
|
|
149
149
|
}
|
|
@@ -310,7 +310,7 @@ pub const Iterator = struct {
|
|
|
310
310
|
try input.seekTo(stream_len - locator_end_offset);
|
|
311
311
|
const locator = input.interface.takeStruct(EndLocator64, .little) catch |err| switch (err) {
|
|
312
312
|
error.ReadFailed => return input.err.?,
|
|
313
|
-
error.EndOfStream => return
|
|
313
|
+
error.EndOfStream => |e| return e,
|
|
314
314
|
};
|
|
315
315
|
if (!std.mem.eql(u8, &locator.signature, &end_locator64_sig))
|
|
316
316
|
return error.ZipBadLocatorSig;
|
|
@@ -323,7 +323,7 @@ pub const Iterator = struct {
|
|
|
323
323
|
|
|
324
324
|
const record64 = input.interface.takeStruct(EndRecord64, .little) catch |err| switch (err) {
|
|
325
325
|
error.ReadFailed => return input.err.?,
|
|
326
|
-
error.EndOfStream => return
|
|
326
|
+
error.EndOfStream => |e| return e,
|
|
327
327
|
};
|
|
328
328
|
|
|
329
329
|
if (!std.mem.eql(u8, &record64.signature, &end_record64_sig))
|
|
@@ -379,7 +379,7 @@ pub const Iterator = struct {
|
|
|
379
379
|
try input.seekTo(header_zip_offset);
|
|
380
380
|
const header = input.interface.takeStruct(CentralDirectoryFileHeader, .little) catch |err| switch (err) {
|
|
381
381
|
error.ReadFailed => return input.err.?,
|
|
382
|
-
error.EndOfStream => return
|
|
382
|
+
error.EndOfStream => |e| return e,
|
|
383
383
|
};
|
|
384
384
|
if (!std.mem.eql(u8, &header.signature, ¢ral_file_header_sig))
|
|
385
385
|
return error.ZipBadCdOffset;
|
|
@@ -410,7 +410,7 @@ pub const Iterator = struct {
|
|
|
410
410
|
try input.seekTo(header_zip_offset + @sizeOf(CentralDirectoryFileHeader) + header.filename_len);
|
|
411
411
|
input.interface.readSliceAll(extra) catch |err| switch (err) {
|
|
412
412
|
error.ReadFailed => return input.err.?,
|
|
413
|
-
error.EndOfStream => return
|
|
413
|
+
error.EndOfStream => |e| return e,
|
|
414
414
|
};
|
|
415
415
|
|
|
416
416
|
var extra_offset: usize = 0;
|
package/std/zon/parse.zig
CHANGED
|
@@ -3129,7 +3129,7 @@ test "std.zon free on error" {
|
|
|
3129
3129
|
|
|
3130
3130
|
test "std.zon vector" {
|
|
3131
3131
|
if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // https://github.com/ziglang/zig/issues/15330
|
|
3132
|
-
if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .s390x) return error.SkipZigTest; // github.com/ziglang/zig/issues/25957
|
|
3132
|
+
if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .s390x) return error.SkipZigTest; // https://github.com/ziglang/zig/issues/25957
|
|
3133
3133
|
|
|
3134
3134
|
const gpa = std.testing.allocator;
|
|
3135
3135
|
|
package/zig.h
CHANGED
|
@@ -21,6 +21,8 @@
|
|
|
21
21
|
|
|
22
22
|
#if defined(__aarch64__) || (defined(zig_msvc) && defined(_M_ARM64))
|
|
23
23
|
#define zig_aarch64
|
|
24
|
+
#elif defined(__alpha__)
|
|
25
|
+
#define zig_alpha
|
|
24
26
|
#elif defined(__thumb__) || (defined(zig_msvc) && defined(_M_ARM))
|
|
25
27
|
#define zig_thumb
|
|
26
28
|
#define zig_arm
|
|
@@ -36,6 +38,10 @@
|
|
|
36
38
|
#elif defined(__loongarch64)
|
|
37
39
|
#define zig_loongarch64
|
|
38
40
|
#define zig_loongarch
|
|
41
|
+
#elif defined(__m68k__)
|
|
42
|
+
#define zig_m68k
|
|
43
|
+
#elif defined(__m88k__)
|
|
44
|
+
#define zig_m88k
|
|
39
45
|
#elif defined(__mips64)
|
|
40
46
|
#define zig_mips64
|
|
41
47
|
#define zig_mips
|
|
@@ -79,6 +85,11 @@
|
|
|
79
85
|
#elif defined(__I86__)
|
|
80
86
|
#define zig_x86_16
|
|
81
87
|
#define zig_x86
|
|
88
|
+
#elif defined(__xtensa__)
|
|
89
|
+
#define zig_xtensa
|
|
90
|
+
#elif defined (__ez80)
|
|
91
|
+
#define zig_ez80
|
|
92
|
+
#define zig_z80
|
|
82
93
|
#endif
|
|
83
94
|
|
|
84
95
|
#if defined(zig_msvc) || __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
|
|
@@ -387,7 +398,9 @@
|
|
|
387
398
|
|
|
388
399
|
#elif defined(zig_gnuc_asm)
|
|
389
400
|
|
|
390
|
-
#if defined(
|
|
401
|
+
#if defined(zig_alpha)
|
|
402
|
+
#define zig_trap() __asm__ volatile("call_pal 0x000000")
|
|
403
|
+
#elif defined(zig_thumb)
|
|
391
404
|
#define zig_trap() __asm__ volatile("udf #0xfe")
|
|
392
405
|
#elif defined(zig_arm) || defined(zig_aarch64)
|
|
393
406
|
#define zig_trap() __asm__ volatile("udf #0xfdee")
|
|
@@ -395,6 +408,10 @@
|
|
|
395
408
|
#define zig_trap() __asm__ volatile("r27:26 = memd(#0xbadc0fee)")
|
|
396
409
|
#elif defined(zig_kvx) || defined(zig_loongarch) || defined(zig_powerpc)
|
|
397
410
|
#define zig_trap() __asm__ volatile(".word 0x0")
|
|
411
|
+
#elif defined(zig_m68k)
|
|
412
|
+
#define zig_trap() __asm__ volatile("illegal")
|
|
413
|
+
#elif defined(zig_m88k)
|
|
414
|
+
#define zig_trap() __asm__ volatile("tb0 0, %%r0, 511")
|
|
398
415
|
#elif defined(zig_mips)
|
|
399
416
|
#define zig_trap() __asm__ volatile(".word 0x3d")
|
|
400
417
|
#elif defined(zig_or1k)
|
|
@@ -409,6 +426,10 @@
|
|
|
409
426
|
#define zig_trap() __asm__ volatile("int $0x3")
|
|
410
427
|
#elif defined(zig_x86)
|
|
411
428
|
#define zig_trap() __asm__ volatile("ud2")
|
|
429
|
+
#elif defined(zig_xtensa)
|
|
430
|
+
#define zig_trap() __asm__ volatile("ill")
|
|
431
|
+
#elif defined(zig_z80)
|
|
432
|
+
#define zig_trap() __asm__ volatile("rst 00h")
|
|
412
433
|
#else
|
|
413
434
|
#define zig_trap() zig_trap_unavailable
|
|
414
435
|
#endif
|
|
@@ -423,7 +444,9 @@
|
|
|
423
444
|
#define zig_breakpoint() __debugbreak()
|
|
424
445
|
#elif defined(zig_gnuc_asm)
|
|
425
446
|
|
|
426
|
-
#if defined(
|
|
447
|
+
#if defined(zig_alpha)
|
|
448
|
+
#define zig_breakpoint() __asm__ volatile("call_pal 0x000080")
|
|
449
|
+
#elif defined(zig_arm)
|
|
427
450
|
#define zig_breakpoint() __asm__ volatile("bkpt #0x0")
|
|
428
451
|
#elif defined(zig_aarch64)
|
|
429
452
|
#define zig_breakpoint() __asm__ volatile("brk #0xf000")
|
|
@@ -431,6 +454,8 @@
|
|
|
431
454
|
#define zig_breakpoint() __asm__ volatile("brkpt")
|
|
432
455
|
#elif defined(zig_kvx) || defined(zig_loongarch)
|
|
433
456
|
#define zig_breakpoint() __asm__ volatile("break 0x0")
|
|
457
|
+
#elif defined(zig_m88k)
|
|
458
|
+
#define zig_breakpoint() __asm__ volatile("illop1")
|
|
434
459
|
#elif defined(zig_mips)
|
|
435
460
|
#define zig_breakpoint() __asm__ volatile("break")
|
|
436
461
|
#elif defined(zig_or1k)
|
|
@@ -445,6 +470,8 @@
|
|
|
445
470
|
#define zig_breakpoint() __asm__ volatile("ta 0x1")
|
|
446
471
|
#elif defined(zig_x86)
|
|
447
472
|
#define zig_breakpoint() __asm__ volatile("int $0x3")
|
|
473
|
+
#elif defined(zig_xtensa)
|
|
474
|
+
#define zig_breakpoint() __asm__ volatile("break 1, 1")
|
|
448
475
|
#else
|
|
449
476
|
#define zig_breakpoint() zig_breakpoint_unavailable
|
|
450
477
|
#endif
|
|
@@ -511,7 +538,7 @@ zig_extern void *memcpy (void *zig_restrict, void const *zig_restrict, size_t);
|
|
|
511
538
|
zig_extern void *memset (void *, int, size_t);
|
|
512
539
|
zig_extern void *memmove (void *, void const *, size_t);
|
|
513
540
|
|
|
514
|
-
/* ================ Bool and 8/16/32/64-bit Integer Support ================= */
|
|
541
|
+
/* ================ Bool and 8/16/24/32/48/64-bit Integer Support ================= */
|
|
515
542
|
|
|
516
543
|
#include <limits.h>
|
|
517
544
|
|
|
@@ -590,6 +617,16 @@ typedef signed long long int16_t;
|
|
|
590
617
|
#define INT16_MAX ( INT16_C(0x7FFF))
|
|
591
618
|
#define UINT16_MAX ( INT16_C(0xFFFF))
|
|
592
619
|
|
|
620
|
+
#if defined(zig_ez80)
|
|
621
|
+
typedef unsigned int uint24_t;
|
|
622
|
+
typedef signed int int24_t;
|
|
623
|
+
#define INT24_C(c) c
|
|
624
|
+
#define UINT24_C(c) c##U
|
|
625
|
+
#endif
|
|
626
|
+
#define INT24_MIN (~INT24_C(0x7FFF))
|
|
627
|
+
#define INT24_MAX ( INT24_C(0x7FFF))
|
|
628
|
+
#define UINT24_MAX ( INT24_C(0xFFFF))
|
|
629
|
+
|
|
593
630
|
#if SCHAR_MIN == ~0x7FFFFFFF && SCHAR_MAX == 0x7FFFFFFF && UCHAR_MAX == 0xFFFFFFFF
|
|
594
631
|
typedef unsigned char uint32_t;
|
|
595
632
|
typedef signed char int32_t;
|
|
@@ -620,6 +657,17 @@ typedef signed long long int32_t;
|
|
|
620
657
|
#define INT32_MAX ( INT32_C(0x7FFFFFFF))
|
|
621
658
|
#define UINT32_MAX ( INT32_C(0xFFFFFFFF))
|
|
622
659
|
|
|
660
|
+
#if defined(zig_ez80)
|
|
661
|
+
typedef unsigned __int48 uint48_t;
|
|
662
|
+
typedef signed __int48 int48_t;
|
|
663
|
+
#define INT48_C(c) c
|
|
664
|
+
/* no suffix */
|
|
665
|
+
#define UINT48_C(c) ((uint48_t)(c))
|
|
666
|
+
#endif
|
|
667
|
+
#define INT48_MIN (~INT48_C(0x7FFFFFFFFFFF))
|
|
668
|
+
#define INT48_MAX ( INT48_C(0x7FFFFFFFFFFF))
|
|
669
|
+
#define UINT48_MAX ( INT48_C(0xFFFFFFFFFFFF))
|
|
670
|
+
|
|
623
671
|
#if SCHAR_MIN == ~0x7FFFFFFFFFFFFFFF && SCHAR_MAX == 0x7FFFFFFFFFFFFFFF && UCHAR_MAX == 0xFFFFFFFFFFFFFFFF
|
|
624
672
|
typedef unsigned char uint64_t;
|
|
625
673
|
typedef signed char int64_t;
|
|
@@ -663,10 +711,18 @@ typedef ptrdiff_t intptr_t;
|
|
|
663
711
|
#define zig_maxInt_i16 INT16_MAX
|
|
664
712
|
#define zig_minInt_u16 UINT16_C(0)
|
|
665
713
|
#define zig_maxInt_u16 UINT16_MAX
|
|
714
|
+
#define zig_minInt_i24 INT24_MIN
|
|
715
|
+
#define zig_maxInt_i24 INT24_MAX
|
|
716
|
+
#define zig_minInt_u24 UINT24_C(0)
|
|
717
|
+
#define zig_maxInt_u24 UINT24_MAX
|
|
666
718
|
#define zig_minInt_i32 INT32_MIN
|
|
667
719
|
#define zig_maxInt_i32 INT32_MAX
|
|
668
720
|
#define zig_minInt_u32 UINT32_C(0)
|
|
669
721
|
#define zig_maxInt_u32 UINT32_MAX
|
|
722
|
+
#define zig_minInt_i48 INT48_MIN
|
|
723
|
+
#define zig_maxInt_i48 INT48_MAX
|
|
724
|
+
#define zig_minInt_u48 UINT48_C(0)
|
|
725
|
+
#define zig_maxInt_u48 UINT48_MAX
|
|
670
726
|
#define zig_minInt_i64 INT64_MIN
|
|
671
727
|
#define zig_maxInt_i64 INT64_MAX
|
|
672
728
|
#define zig_minInt_u64 UINT64_C(0)
|
|
@@ -786,6 +842,17 @@ zig_int_helpers(16, unsigned long long)
|
|
|
786
842
|
#else
|
|
787
843
|
zig_int_helpers(16, uint16_t)
|
|
788
844
|
#endif
|
|
845
|
+
#if defined(zig_ez80)
|
|
846
|
+
#if UINT24_MAX <= UINT_MAX
|
|
847
|
+
zig_int_helpers(24, unsigned int)
|
|
848
|
+
#elif UINT24_MAX <= ULONG_MAX
|
|
849
|
+
zig_int_helpers(24, unsigned long)
|
|
850
|
+
#elif UINT24_MAX <= ULLONG_MAX
|
|
851
|
+
zig_int_helpers(24, unsigned long long)
|
|
852
|
+
#else
|
|
853
|
+
zig_int_helpers(24, uint24_t)
|
|
854
|
+
#endif
|
|
855
|
+
#endif
|
|
789
856
|
#if UINT32_MAX <= UINT_MAX
|
|
790
857
|
zig_int_helpers(32, unsigned int)
|
|
791
858
|
#elif UINT32_MAX <= ULONG_MAX
|
|
@@ -795,6 +862,17 @@ zig_int_helpers(32, unsigned long long)
|
|
|
795
862
|
#else
|
|
796
863
|
zig_int_helpers(32, uint32_t)
|
|
797
864
|
#endif
|
|
865
|
+
#if defined(zig_ez80)
|
|
866
|
+
#if UINT24_MAX <= UINT_MAX
|
|
867
|
+
zig_int_helpers(48, unsigned int)
|
|
868
|
+
#elif UINT24_MAX <= ULONG_MAX
|
|
869
|
+
zig_int_helpers(48, unsigned long)
|
|
870
|
+
#elif UINT24_MAX <= ULLONG_MAX
|
|
871
|
+
zig_int_helpers(48, unsigned long long)
|
|
872
|
+
#else
|
|
873
|
+
zig_int_helpers(48, uint48_t)
|
|
874
|
+
#endif
|
|
875
|
+
#endif
|
|
798
876
|
#if UINT64_MAX <= UINT_MAX
|
|
799
877
|
zig_int_helpers(64, unsigned int)
|
|
800
878
|
#elif UINT64_MAX <= ULONG_MAX
|
|
@@ -909,6 +987,66 @@ static inline bool zig_addo_i16(int16_t *res, int16_t lhs, int16_t rhs, uint8_t
|
|
|
909
987
|
#endif
|
|
910
988
|
}
|
|
911
989
|
|
|
990
|
+
#if defined(zig_ez80)
|
|
991
|
+
static inline bool zig_addo_u24(uint24_t *res, uint24_t lhs, uint24_t rhs, uint8_t bits) {
|
|
992
|
+
#if zig_has_builtin(add_overflow) || defined(zig_gcc)
|
|
993
|
+
uint24_t full_res;
|
|
994
|
+
bool overflow = __builtin_add_overflow(lhs, rhs, &full_res);
|
|
995
|
+
*res = zig_wrap_u24(full_res, bits);
|
|
996
|
+
return overflow || full_res < zig_minInt_u(24, bits) || full_res > zig_maxInt_u(24, bits);
|
|
997
|
+
#else
|
|
998
|
+
uint32_t full_res;
|
|
999
|
+
bool overflow = zig_addo_u32(&full_res, lhs, rhs, bits);
|
|
1000
|
+
*res = (uint24_t)full_res;
|
|
1001
|
+
return overflow;
|
|
1002
|
+
#endif
|
|
1003
|
+
}
|
|
1004
|
+
|
|
1005
|
+
static inline bool zig_addo_i24(int24_t *res, int24_t lhs, int24_t rhs, uint8_t bits) {
|
|
1006
|
+
#if zig_has_builtin(add_overflow) || defined(zig_gcc)
|
|
1007
|
+
int24_t full_res;
|
|
1008
|
+
bool overflow = __builtin_add_overflow(lhs, rhs, &full_res);
|
|
1009
|
+
*res = zig_wrap_i24(full_res, bits);
|
|
1010
|
+
return overflow || full_res < zig_minInt_i(24, bits) || full_res > zig_maxInt_i(24, bits);
|
|
1011
|
+
#else
|
|
1012
|
+
int32_t full_res;
|
|
1013
|
+
bool overflow = zig_addo_i32(&full_res, lhs, rhs, bits);
|
|
1014
|
+
*res = (int24_t)full_res;
|
|
1015
|
+
return overflow;
|
|
1016
|
+
#endif
|
|
1017
|
+
}
|
|
1018
|
+
#endif
|
|
1019
|
+
|
|
1020
|
+
#if defined(zig_ez80)
|
|
1021
|
+
static inline bool zig_addo_u48(uint48_t *res, uint48_t lhs, uint48_t rhs, uint8_t bits) {
|
|
1022
|
+
#if zig_has_builtin(add_overflow) || defined(zig_gcc)
|
|
1023
|
+
uint48_t full_res;
|
|
1024
|
+
bool overflow = __builtin_add_overflow(lhs, rhs, &full_res);
|
|
1025
|
+
*res = zig_wrap_u48(full_res, bits);
|
|
1026
|
+
return overflow || full_res < zig_minInt_u(48, bits) || full_res > zig_maxInt_u(48, bits);
|
|
1027
|
+
#else
|
|
1028
|
+
uint64_t full_res;
|
|
1029
|
+
bool overflow = zig_addo_u64(&full_res, lhs, rhs, bits);
|
|
1030
|
+
*res = (uint48_t)full_res;
|
|
1031
|
+
return overflow;
|
|
1032
|
+
#endif
|
|
1033
|
+
}
|
|
1034
|
+
|
|
1035
|
+
static inline bool zig_addo_i48(int48_t *res, int48_t lhs, int48_t rhs, uint8_t bits) {
|
|
1036
|
+
#if zig_has_builtin(add_overflow) || defined(zig_gcc)
|
|
1037
|
+
int48_t full_res;
|
|
1038
|
+
bool overflow = __builtin_add_overflow(lhs, rhs, &full_res);
|
|
1039
|
+
*res = zig_wrap_i48(full_res, bits);
|
|
1040
|
+
return overflow || full_res < zig_minInt_i(48, bits) || full_res > zig_maxInt_i(48, bits);
|
|
1041
|
+
#else
|
|
1042
|
+
int64_t full_res;
|
|
1043
|
+
bool overflow = zig_addo_i64(&full_res, lhs, rhs, bits);
|
|
1044
|
+
*res = (int48_t)full_res;
|
|
1045
|
+
return overflow;
|
|
1046
|
+
#endif
|
|
1047
|
+
}
|
|
1048
|
+
#endif
|
|
1049
|
+
|
|
912
1050
|
static inline bool zig_subo_u32(uint32_t *res, uint32_t lhs, uint32_t rhs, uint8_t bits) {
|
|
913
1051
|
#if zig_has_builtin(sub_overflow) || defined(zig_gcc)
|
|
914
1052
|
uint32_t full_res;
|
|
@@ -933,6 +1071,7 @@ static inline bool zig_subo_i32(int32_t *res, int32_t lhs, int32_t rhs, uint8_t
|
|
|
933
1071
|
return overflow || full_res < zig_minInt_i(32, bits) || full_res > zig_maxInt_i(32, bits);
|
|
934
1072
|
}
|
|
935
1073
|
|
|
1074
|
+
|
|
936
1075
|
static inline bool zig_subo_u64(uint64_t *res, uint64_t lhs, uint64_t rhs, uint8_t bits) {
|
|
937
1076
|
#if zig_has_builtin(sub_overflow) || defined(zig_gcc)
|
|
938
1077
|
uint64_t full_res;
|
|
@@ -1013,6 +1152,66 @@ static inline bool zig_subo_i16(int16_t *res, int16_t lhs, int16_t rhs, uint8_t
|
|
|
1013
1152
|
#endif
|
|
1014
1153
|
}
|
|
1015
1154
|
|
|
1155
|
+
#if defined(zig_ez80)
|
|
1156
|
+
static inline bool zig_subo_u24(uint24_t *res, uint24_t lhs, uint24_t rhs, uint8_t bits) {
|
|
1157
|
+
#if zig_has_builtin(sub_overflow) || defined(zig_gcc)
|
|
1158
|
+
uint24_t full_res;
|
|
1159
|
+
bool overflow = __builtin_sub_overflow(lhs, rhs, &full_res);
|
|
1160
|
+
*res = zig_wrap_u24(full_res, bits);
|
|
1161
|
+
return overflow || full_res < zig_minInt_u(24, bits) || full_res > zig_maxInt_u(24, bits);
|
|
1162
|
+
#else
|
|
1163
|
+
uint32_t full_res;
|
|
1164
|
+
bool overflow = zig_subo_u32(&full_res, lhs, rhs, bits);
|
|
1165
|
+
*res = (uint24_t)full_res;
|
|
1166
|
+
return overflow;
|
|
1167
|
+
#endif
|
|
1168
|
+
}
|
|
1169
|
+
|
|
1170
|
+
static inline bool zig_subo_i24(int24_t *res, int24_t lhs, int24_t rhs, uint8_t bits) {
|
|
1171
|
+
#if zig_has_builtin(sub_overflow) || defined(zig_gcc)
|
|
1172
|
+
int24_t full_res;
|
|
1173
|
+
bool overflow = __builtin_sub_overflow(lhs, rhs, &full_res);
|
|
1174
|
+
*res = zig_wrap_i24(full_res, bits);
|
|
1175
|
+
return overflow || full_res < zig_minInt_i(24, bits) || full_res > zig_maxInt_i(24, bits);
|
|
1176
|
+
#else
|
|
1177
|
+
int32_t full_res;
|
|
1178
|
+
bool overflow = zig_subo_i32(&full_res, lhs, rhs, bits);
|
|
1179
|
+
*res = (int24_t)full_res;
|
|
1180
|
+
return overflow;
|
|
1181
|
+
#endif
|
|
1182
|
+
}
|
|
1183
|
+
#endif
|
|
1184
|
+
|
|
1185
|
+
#if defined(zig_ez80)
|
|
1186
|
+
static inline bool zig_subo_u48(uint48_t *res, uint48_t lhs, uint48_t rhs, uint8_t bits) {
|
|
1187
|
+
#if zig_has_builtin(sub_overflow) || defined(zig_gcc)
|
|
1188
|
+
uint48_t full_res;
|
|
1189
|
+
bool overflow = __builtin_sub_overflow(lhs, rhs, &full_res);
|
|
1190
|
+
*res = zig_wrap_u48(full_res, bits);
|
|
1191
|
+
return overflow || full_res < zig_minInt_u(48, bits) || full_res > zig_maxInt_u(48, bits);
|
|
1192
|
+
#else
|
|
1193
|
+
uint64_t full_res;
|
|
1194
|
+
bool overflow = zig_subo_u64(&full_res, lhs, rhs, bits);
|
|
1195
|
+
*res = (uint48_t)full_res;
|
|
1196
|
+
return overflow;
|
|
1197
|
+
#endif
|
|
1198
|
+
}
|
|
1199
|
+
|
|
1200
|
+
static inline bool zig_subo_i48(int48_t *res, int48_t lhs, int48_t rhs, uint8_t bits) {
|
|
1201
|
+
#if zig_has_builtin(sub_overflow) || defined(zig_gcc)
|
|
1202
|
+
int48_t full_res;
|
|
1203
|
+
bool overflow = __builtin_sub_overflow(lhs, rhs, &full_res);
|
|
1204
|
+
*res = zig_wrap_i48(full_res, bits);
|
|
1205
|
+
return overflow || full_res < zig_minInt_i(48, bits) || full_res > zig_maxInt_i(48, bits);
|
|
1206
|
+
#else
|
|
1207
|
+
int64_t full_res;
|
|
1208
|
+
bool overflow = zig_subo_i64(&full_res, lhs, rhs, bits);
|
|
1209
|
+
*res = (int48_t)full_res;
|
|
1210
|
+
return overflow;
|
|
1211
|
+
#endif
|
|
1212
|
+
}
|
|
1213
|
+
#endif
|
|
1214
|
+
|
|
1016
1215
|
static inline bool zig_mulo_u32(uint32_t *res, uint32_t lhs, uint32_t rhs, uint8_t bits) {
|
|
1017
1216
|
#if zig_has_builtin(mul_overflow) || defined(zig_gcc)
|
|
1018
1217
|
uint32_t full_res;
|
|
@@ -1121,6 +1320,66 @@ static inline bool zig_mulo_i16(int16_t *res, int16_t lhs, int16_t rhs, uint8_t
|
|
|
1121
1320
|
#endif
|
|
1122
1321
|
}
|
|
1123
1322
|
|
|
1323
|
+
#if defined(zig_ez80)
|
|
1324
|
+
static inline bool zig_mulo_u24(uint24_t *res, uint24_t lhs, uint24_t rhs, uint8_t bits) {
|
|
1325
|
+
#if zig_has_builtin(mul_overflow) || defined(zig_gcc)
|
|
1326
|
+
uint24_t full_res;
|
|
1327
|
+
bool overflow = __builtin_mul_overflow(lhs, rhs, &full_res);
|
|
1328
|
+
*res = zig_wrap_u24(full_res, bits);
|
|
1329
|
+
return overflow || full_res < zig_minInt_u(24, bits) || full_res > zig_maxInt_u(24, bits);
|
|
1330
|
+
#else
|
|
1331
|
+
uint32_t full_res;
|
|
1332
|
+
bool overflow = zig_mulo_u32(&full_res, lhs, rhs, bits);
|
|
1333
|
+
*res = (uint24_t)full_res;
|
|
1334
|
+
return overflow;
|
|
1335
|
+
#endif
|
|
1336
|
+
}
|
|
1337
|
+
|
|
1338
|
+
static inline bool zig_mulo_i24(int24_t *res, int24_t lhs, int24_t rhs, uint8_t bits) {
|
|
1339
|
+
#if zig_has_builtin(mul_overflow) || defined(zig_gcc)
|
|
1340
|
+
int24_t full_res;
|
|
1341
|
+
bool overflow = __builtin_mul_overflow(lhs, rhs, &full_res);
|
|
1342
|
+
*res = zig_wrap_i24(full_res, bits);
|
|
1343
|
+
return overflow || full_res < zig_minInt_i(24, bits) || full_res > zig_maxInt_i(24, bits);
|
|
1344
|
+
#else
|
|
1345
|
+
int32_t full_res;
|
|
1346
|
+
bool overflow = zig_mulo_i32(&full_res, lhs, rhs, bits);
|
|
1347
|
+
*res = (int24_t)full_res;
|
|
1348
|
+
return overflow;
|
|
1349
|
+
#endif
|
|
1350
|
+
}
|
|
1351
|
+
#endif
|
|
1352
|
+
|
|
1353
|
+
#if defined(zig_ez80)
|
|
1354
|
+
static inline bool zig_mulo_u48(uint48_t *res, uint48_t lhs, uint48_t rhs, uint8_t bits) {
|
|
1355
|
+
#if zig_has_builtin(mul_overflow) || defined(zig_gcc)
|
|
1356
|
+
uint48_t full_res;
|
|
1357
|
+
bool overflow = __builtin_mul_overflow(lhs, rhs, &full_res);
|
|
1358
|
+
*res = zig_wrap_u48(full_res, bits);
|
|
1359
|
+
return overflow || full_res < zig_minInt_u(48, bits) || full_res > zig_maxInt_u(48, bits);
|
|
1360
|
+
#else
|
|
1361
|
+
uint64_t full_res;
|
|
1362
|
+
bool overflow = zig_mulo_u64(&full_res, lhs, rhs, bits);
|
|
1363
|
+
*res = (uint48_t)full_res;
|
|
1364
|
+
return overflow;
|
|
1365
|
+
#endif
|
|
1366
|
+
}
|
|
1367
|
+
|
|
1368
|
+
static inline bool zig_mulo_i48(int48_t *res, int48_t lhs, int48_t rhs, uint8_t bits) {
|
|
1369
|
+
#if zig_has_builtin(mul_overflow) || defined(zig_gcc)
|
|
1370
|
+
int48_t full_res;
|
|
1371
|
+
bool overflow = __builtin_mul_overflow(lhs, rhs, &full_res);
|
|
1372
|
+
*res = zig_wrap_i48(full_res, bits);
|
|
1373
|
+
return overflow || full_res < zig_minInt_i(48, bits) || full_res > zig_maxInt_i(48, bits);
|
|
1374
|
+
#else
|
|
1375
|
+
int64_t full_res;
|
|
1376
|
+
bool overflow = zig_mulo_i64(&full_res, lhs, rhs, bits);
|
|
1377
|
+
*res = (int48_t)full_res;
|
|
1378
|
+
return overflow;
|
|
1379
|
+
#endif
|
|
1380
|
+
}
|
|
1381
|
+
#endif
|
|
1382
|
+
|
|
1124
1383
|
#define zig_int_builtins(w) \
|
|
1125
1384
|
static inline bool zig_shlo_u##w(uint##w##_t *res, uint##w##_t lhs, uint8_t rhs, uint8_t bits) { \
|
|
1126
1385
|
*res = zig_shlw_u##w(lhs, rhs, bits); \
|
|
@@ -1180,7 +1439,13 @@ static inline bool zig_mulo_i16(int16_t *res, int16_t lhs, int16_t rhs, uint8_t
|
|
|
1180
1439
|
}
|
|
1181
1440
|
zig_int_builtins(8)
|
|
1182
1441
|
zig_int_builtins(16)
|
|
1442
|
+
#if defined(zig_ez80)
|
|
1443
|
+
zig_int_builtins(24)
|
|
1444
|
+
#endif
|
|
1183
1445
|
zig_int_builtins(32)
|
|
1446
|
+
#if defined(zig_ez80)
|
|
1447
|
+
zig_int_builtins(48)
|
|
1448
|
+
#endif
|
|
1184
1449
|
zig_int_builtins(64)
|
|
1185
1450
|
|
|
1186
1451
|
#define zig_builtin8(name, val) __builtin_##name(val)
|
|
@@ -1189,6 +1454,11 @@ typedef unsigned int zig_Builtin8;
|
|
|
1189
1454
|
#define zig_builtin16(name, val) __builtin_##name(val)
|
|
1190
1455
|
typedef unsigned int zig_Builtin16;
|
|
1191
1456
|
|
|
1457
|
+
#if defined(zig_ez80)
|
|
1458
|
+
#define zig_builtin24(name, val) __builtin_##name(val)
|
|
1459
|
+
typedef unsigned int zig_Builtin24;
|
|
1460
|
+
#endif
|
|
1461
|
+
|
|
1192
1462
|
#if INT_MIN <= INT32_MIN
|
|
1193
1463
|
#define zig_builtin32(name, val) __builtin_##name(val)
|
|
1194
1464
|
typedef unsigned int zig_Builtin32;
|
|
@@ -1197,6 +1467,11 @@ typedef unsigned int zig_Builtin32;
|
|
|
1197
1467
|
typedef unsigned long zig_Builtin32;
|
|
1198
1468
|
#endif
|
|
1199
1469
|
|
|
1470
|
+
#if defined(zig_ez80)
|
|
1471
|
+
#define zig_builtin48(name, val) __builtin_##name(val)
|
|
1472
|
+
typedef unsigned long long zig_Builtin48;
|
|
1473
|
+
#endif
|
|
1474
|
+
|
|
1200
1475
|
#if INT_MIN <= INT64_MIN
|
|
1201
1476
|
#define zig_builtin64(name, val) __builtin_##name(val)
|
|
1202
1477
|
typedef unsigned int zig_Builtin64;
|
|
@@ -1231,6 +1506,23 @@ static inline int16_t zig_byte_swap_i16(int16_t val, uint8_t bits) {
|
|
|
1231
1506
|
return zig_wrap_i16((int16_t)zig_byte_swap_u16((uint16_t)val, bits), bits);
|
|
1232
1507
|
}
|
|
1233
1508
|
|
|
1509
|
+
#if defined(zig_ez80)
|
|
1510
|
+
static inline uint16_t zig_byte_swap_u24(uint24_t val, uint8_t bits) {
|
|
1511
|
+
uint24_t full_res;
|
|
1512
|
+
#if zig_has_builtin(bswap24) || defined(zig_gcc)
|
|
1513
|
+
full_res = __builtin_bswap24(val);
|
|
1514
|
+
#else
|
|
1515
|
+
full_res = (uint24_t)zig_byte_swap_u8((uint8_t)(val >> 0), 8) << 16 |
|
|
1516
|
+
(uint24_t)zig_byte_swap_u16((uint16_t)(val >> 8), 16) >> 0;
|
|
1517
|
+
#endif
|
|
1518
|
+
return zig_wrap_u24(full_res >> (24 - bits), bits);
|
|
1519
|
+
}
|
|
1520
|
+
|
|
1521
|
+
static inline int16_t zig_byte_swap_i24(int24_t val, uint8_t bits) {
|
|
1522
|
+
return zig_wrap_i24((int24_t)zig_byte_swap_u24((uint24_t)val, bits), bits);
|
|
1523
|
+
}
|
|
1524
|
+
#endif
|
|
1525
|
+
|
|
1234
1526
|
static inline uint32_t zig_byte_swap_u32(uint32_t val, uint8_t bits) {
|
|
1235
1527
|
uint32_t full_res;
|
|
1236
1528
|
#if zig_has_builtin(bswap32) || defined(zig_gcc)
|
|
@@ -1246,6 +1538,23 @@ static inline int32_t zig_byte_swap_i32(int32_t val, uint8_t bits) {
|
|
|
1246
1538
|
return zig_wrap_i32((int32_t)zig_byte_swap_u32((uint32_t)val, bits), bits);
|
|
1247
1539
|
}
|
|
1248
1540
|
|
|
1541
|
+
#if defined(zig_ez80)
|
|
1542
|
+
static inline uint32_t zig_byte_swap_u48(uint48_t val, uint8_t bits) {
|
|
1543
|
+
uint48_t full_res;
|
|
1544
|
+
#if zig_has_builtin(bswap48) || defined(zig_gcc)
|
|
1545
|
+
full_res = __builtin_bswap48(val);
|
|
1546
|
+
#else
|
|
1547
|
+
full_res = (uint48_t)zig_byte_swap_u24((uint24_t)(val >> 0), 24) << 24 |
|
|
1548
|
+
(uint48_t)zig_byte_swap_u24((uint24_t)(val >> 24), 24) >> 0;
|
|
1549
|
+
#endif
|
|
1550
|
+
return zig_wrap_u48(full_res >> (48 - bits), bits);
|
|
1551
|
+
}
|
|
1552
|
+
|
|
1553
|
+
static inline int32_t zig_byte_swap_i48(int48_t val, uint8_t bits) {
|
|
1554
|
+
return zig_wrap_i48((int48_t)zig_byte_swap_u48((uint48_t)val, bits), bits);
|
|
1555
|
+
}
|
|
1556
|
+
#endif
|
|
1557
|
+
|
|
1249
1558
|
static inline uint64_t zig_byte_swap_u64(uint64_t val, uint8_t bits) {
|
|
1250
1559
|
uint64_t full_res;
|
|
1251
1560
|
#if zig_has_builtin(bswap64) || defined(zig_gcc)
|
|
@@ -1294,6 +1603,23 @@ static inline int16_t zig_bit_reverse_i16(int16_t val, uint8_t bits) {
|
|
|
1294
1603
|
return zig_wrap_i16((int16_t)zig_bit_reverse_u16((uint16_t)val, bits), bits);
|
|
1295
1604
|
}
|
|
1296
1605
|
|
|
1606
|
+
#if defined(zig_ez80)
|
|
1607
|
+
static inline uint24_t zig_bit_reverse_u24(uint24_t val, uint8_t bits) {
|
|
1608
|
+
uint24_t full_res;
|
|
1609
|
+
#if zig_has_builtin(bitreverse24)
|
|
1610
|
+
full_res = __builtin_bitreverse24(val);
|
|
1611
|
+
#else
|
|
1612
|
+
full_res = (uint24_t)zig_bit_reverse_u8((uint8_t)(val >> 0), 8) << 16 |
|
|
1613
|
+
(uint24_t)zig_bit_reverse_u16((uint16_t)(val >> 8), 16) >> 0;
|
|
1614
|
+
#endif
|
|
1615
|
+
return zig_wrap_u24(full_res >> (24 - bits), bits);
|
|
1616
|
+
}
|
|
1617
|
+
|
|
1618
|
+
static inline int24_t zig_bit_reverse_i24(int24_t val, uint8_t bits) {
|
|
1619
|
+
return zig_wrap_i24((int24_t)zig_bit_reverse_u24((uint24_t)val, bits), bits);
|
|
1620
|
+
}
|
|
1621
|
+
#endif
|
|
1622
|
+
|
|
1297
1623
|
static inline uint32_t zig_bit_reverse_u32(uint32_t val, uint8_t bits) {
|
|
1298
1624
|
uint32_t full_res;
|
|
1299
1625
|
#if zig_has_builtin(bitreverse32)
|
|
@@ -1309,6 +1635,23 @@ static inline int32_t zig_bit_reverse_i32(int32_t val, uint8_t bits) {
|
|
|
1309
1635
|
return zig_wrap_i32((int32_t)zig_bit_reverse_u32((uint32_t)val, bits), bits);
|
|
1310
1636
|
}
|
|
1311
1637
|
|
|
1638
|
+
#if defined(zig_ez80)
|
|
1639
|
+
static inline uint32_t zig_bit_reverse_u48(uint48_t val, uint8_t bits) {
|
|
1640
|
+
uint48_t full_res;
|
|
1641
|
+
#if zig_has_builtin(bitreverse48)
|
|
1642
|
+
full_res = __builtin_bitreverse48(val);
|
|
1643
|
+
#else
|
|
1644
|
+
full_res = (uint48_t)zig_bit_reverse_u24((uint24_t)(val >> 0), 24) << 24 |
|
|
1645
|
+
(uint48_t)zig_bit_reverse_u24((uint24_t)(val >> 24), 24) >> 0;
|
|
1646
|
+
#endif
|
|
1647
|
+
return zig_wrap_u32(full_res >> (48 - bits), bits);
|
|
1648
|
+
}
|
|
1649
|
+
|
|
1650
|
+
static inline int32_t zig_bit_reverse_i48(int48_t val, uint8_t bits) {
|
|
1651
|
+
return zig_wrap_i48((int48_t)zig_bit_reverse_u48((uint48_t)val, bits), bits);
|
|
1652
|
+
}
|
|
1653
|
+
#endif
|
|
1654
|
+
|
|
1312
1655
|
static inline uint64_t zig_bit_reverse_u64(uint64_t val, uint8_t bits) {
|
|
1313
1656
|
uint64_t full_res;
|
|
1314
1657
|
#if zig_has_builtin(bitreverse64)
|
|
@@ -1350,7 +1693,13 @@ static inline int64_t zig_bit_reverse_i64(int64_t val, uint8_t bits) {
|
|
|
1350
1693
|
#endif
|
|
1351
1694
|
zig_builtin_popcount(8)
|
|
1352
1695
|
zig_builtin_popcount(16)
|
|
1696
|
+
#if defined(zig_ez80)
|
|
1697
|
+
zig_builtin_popcount(24)
|
|
1698
|
+
#endif
|
|
1353
1699
|
zig_builtin_popcount(32)
|
|
1700
|
+
#if defined(zig_ez80)
|
|
1701
|
+
zig_builtin_popcount(48)
|
|
1702
|
+
#endif
|
|
1354
1703
|
zig_builtin_popcount(64)
|
|
1355
1704
|
|
|
1356
1705
|
#define zig_builtin_ctz_common(w) \
|
|
@@ -1375,7 +1724,13 @@ zig_builtin_popcount(64)
|
|
|
1375
1724
|
#endif
|
|
1376
1725
|
zig_builtin_ctz(8)
|
|
1377
1726
|
zig_builtin_ctz(16)
|
|
1727
|
+
#if defined(zig_ez80)
|
|
1728
|
+
zig_builtin_ctz(24)
|
|
1729
|
+
#endif
|
|
1378
1730
|
zig_builtin_ctz(32)
|
|
1731
|
+
#if defined(zig_ez80)
|
|
1732
|
+
zig_builtin_ctz(48)
|
|
1733
|
+
#endif
|
|
1379
1734
|
zig_builtin_ctz(64)
|
|
1380
1735
|
|
|
1381
1736
|
#define zig_builtin_clz_common(w) \
|
|
@@ -1400,7 +1755,13 @@ zig_builtin_ctz(64)
|
|
|
1400
1755
|
#endif
|
|
1401
1756
|
zig_builtin_clz(8)
|
|
1402
1757
|
zig_builtin_clz(16)
|
|
1758
|
+
#if defined(zig_ez80)
|
|
1759
|
+
zig_builtin_clz(24)
|
|
1760
|
+
#endif
|
|
1403
1761
|
zig_builtin_clz(32)
|
|
1762
|
+
#if defined(zig_ez80)
|
|
1763
|
+
zig_builtin_clz(48)
|
|
1764
|
+
#endif
|
|
1404
1765
|
zig_builtin_clz(64)
|
|
1405
1766
|
|
|
1406
1767
|
/* ======================== 128-bit Integer Support ========================= */
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
//! Utilities for dealing with the `long double` type (`f80` or `f128`)
|
|
2
|
-
|
|
3
|
-
const std = @import("std");
|
|
4
|
-
|
|
5
|
-
pub const U80 = std.meta.Int(.unsigned, 80);
|
|
6
|
-
|
|
7
|
-
/// Returns the sign + exponent bits of a `long double`
|
|
8
|
-
pub fn signExponent(x: anytype) u16 {
|
|
9
|
-
const T = @TypeOf(x);
|
|
10
|
-
switch (T) {
|
|
11
|
-
f80 => {
|
|
12
|
-
const bits: U80 = @bitCast(x);
|
|
13
|
-
return @intCast(bits >> 64);
|
|
14
|
-
},
|
|
15
|
-
f128 => {
|
|
16
|
-
const bits: u128 = @bitCast(x);
|
|
17
|
-
return @intCast(bits >> 112);
|
|
18
|
-
},
|
|
19
|
-
else => @compileError("`signExponent` supports only `f80` and `f128`, got: " ++ @typeName(T)),
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
/// Takes the top 16 bits of a `long double`'s mantissa
|
|
24
|
-
pub fn mantissaTop(x: anytype) u16 {
|
|
25
|
-
const T = @TypeOf(x);
|
|
26
|
-
switch (T) {
|
|
27
|
-
f80 => {
|
|
28
|
-
const bits: U80 = @bitCast(x);
|
|
29
|
-
return @intCast((bits >> 48) & 0xFFFF);
|
|
30
|
-
},
|
|
31
|
-
f128 => {
|
|
32
|
-
const bits: u128 = @bitCast(x);
|
|
33
|
-
return @intCast((bits >> 96) & 0xFFFF);
|
|
34
|
-
},
|
|
35
|
-
else => @compileError("`mantissaTop` supports only `f80` and `f128`, got: " ++ @typeName(T)),
|
|
36
|
-
}
|
|
37
|
-
}
|