003 File Manager
Current Path:
/usr/local/lib/perl5/site_perl/mach/5.32/sys
usr
/
local
/
lib
/
perl5
/
site_perl
/
mach
/
5.32
/
sys
/
📁
..
📄
_atomic64e.ph
(1.7 KB)
📄
_atomic_subword.ph
(5.32 KB)
📄
_bitset.ph
(834 B)
📄
_blockcount.ph
(809 B)
📄
_bus_dma.ph
(324 B)
📄
_callout.ph
(199 B)
📄
_cpuset.ph
(487 B)
📄
_cscan_atomic.ph
(29.03 KB)
📄
_cscan_bus.ph
(13.04 KB)
📄
_domainset.ph
(547 B)
📄
_eventhandler.ph
(738 B)
📄
_ffcounter.ph
(180 B)
📄
_iovec.ph
(316 B)
📄
_lock.ph
(1.19 KB)
📄
_lockmgr.ph
(276 B)
📄
_mutex.ph
(200 B)
📄
_null.ph
(651 B)
📄
_pctrie.ph
(171 B)
📄
_pthreadtypes.ph
(317 B)
📄
_rangeset.ph
(204 B)
📄
_rmlock.ph
(485 B)
📄
_rwlock.ph
(203 B)
📄
_semaphore.ph
(285 B)
📄
_seqc.ph
(165 B)
📄
_sigset.ph
(858 B)
📄
_smr.ph
(908 B)
📄
_sockaddr_storage.ph
(665 B)
📄
_stack.ph
(230 B)
📄
_stdarg.ph
(1.09 KB)
📄
_stdint.ph
(1.62 KB)
📄
_sx.ph
(159 B)
📄
_task.ph
(578 B)
📄
_termios.ph
(7.26 KB)
📄
_timespec.ph
(325 B)
📄
_timeval.ph
(456 B)
📄
_types.ph
(944 B)
📄
_ucontext.ph
(177 B)
📄
_uio.ph
(548 B)
📄
_umtx.ph
(265 B)
📄
_unrhdr.ph
(193 B)
📄
_winsize.ph
(174 B)
📄
aac_ioctl.ph
(7.36 KB)
📄
abi_compat.ph
(1.81 KB)
📄
acct.ph
(859 B)
📄
acl.ph
(6.91 KB)
📄
agpio.ph
(5.3 KB)
📄
aio.ph
(2.17 KB)
📄
alq.ph
(648 B)
📄
apm.ph
(87 B)
📄
arb.ph
(35.53 KB)
📄
assym.ph
(1.5 KB)
📄
ata.ph
(50.51 KB)
📄
atomic_common.ph
(3.28 KB)
📄
auxv.ph
(220 B)
📄
backlight.ph
(903 B)
📄
bio.ph
(2.23 KB)
📄
bitset.ph
(9.24 KB)
📄
bitstring.ph
(1.61 KB)
📄
blist.ph
(552 B)
📄
blockcount.ph
(1.6 KB)
📄
boot.ph
(247 B)
📄
buf.ph
(11.05 KB)
📄
buf_ring.ph
(1.55 KB)
📄
bufobj.ph
(2.18 KB)
📄
bus.ph
(24.54 KB)
📄
bus_dma.ph
(4.55 KB)
📄
bus_dma_internal.ph
(186 B)
📄
busdma_bufalloc.ph
(262 B)
📄
callout.ph
(5.06 KB)
📄
caprights.ph
(534 B)
📄
capsicum.ph
(12.44 KB)
📄
cdefs.ph
(33.03 KB)
📄
cdio.ph
(5.68 KB)
📄
cdrio.ph
(3.6 KB)
📄
cfictl.ph
(741 B)
📄
chio.ph
(6.57 KB)
📄
ck.ph
(503 B)
📄
clock.ph
(990 B)
📄
cnv.ph
(540 B)
📄
compressor.ph
(349 B)
📄
condvar.ph
(1.85 KB)
📄
conf.ph
(4.53 KB)
📄
cons.ph
(1.59 KB)
📄
consio.ph
(17.3 KB)
📄
copyright.ph
(608 B)
📄
counter.ph
(1.61 KB)
📄
coverage.ph
(745 B)
📄
cpu.ph
(2.36 KB)
📄
cpuctl.ph
(1.04 KB)
📄
cpuset.ph
(4.91 KB)
📄
csan.ph
(349 B)
📄
ctf.ph
(8.35 KB)
📄
ctf_api.ph
(1.04 KB)
📄
ctype.ph
(1.51 KB)
📄
devctl.ph
(168 B)
📄
devicestat.ph
(4.25 KB)
📄
devmap.ph
(352 B)
📄
dirent.ph
(1.88 KB)
📄
disk.ph
(2.75 KB)
📄
disk_zone.ph
(4.48 KB)
📄
disklabel.ph
(1.75 KB)
📄
diskmbr.ph
(329 B)
📄
dkstat.ph
(199 B)
📄
dnv.ph
(427 B)
📄
domain.ph
(1.16 KB)
📄
domainset.ph
(5.58 KB)
📄
dtrace.ph
(52.95 KB)
📄
dtrace_bsd.ph
(177 B)
📄
dvdio.ph
(2.61 KB)
📄
efi.ph
(3.33 KB)
📄
efiio.ph
(821 B)
📄
elf.ph
(273 B)
📄
elf32.ph
(1.41 KB)
📄
elf64.ph
(1.91 KB)
📄
elf_common.ph
(85.24 KB)
📄
elf_generic.ph
(2.06 KB)
📄
endian.ph
(5.87 KB)
📄
epoch.ph
(2.43 KB)
📄
errno.ph
(6.93 KB)
📄
eui64.ph
(323 B)
📄
event.ph
(7.54 KB)
📄
eventfd.ph
(458 B)
📄
eventhandler.ph
(4.88 KB)
📄
eventvar.ph
(858 B)
📄
exec.ph
(1.19 KB)
📄
extattr.ph
(1.12 KB)
📄
fail.ph
(5.77 KB)
📄
fbio.ph
(17.58 KB)
📄
fcntl.ph
(9.1 KB)
📄
fdcio.ph
(5.37 KB)
📄
file.ph
(6.54 KB)
📄
filedesc.ph
(6.85 KB)
📄
filio.ph
(1.99 KB)
📄
firmware.ph
(332 B)
📄
fnv_hash.ph
(1.52 KB)
📄
font.ph
(930 B)
📄
gmon.ph
(2.57 KB)
📄
gpio.ph
(3.4 KB)
📄
gpt.ph
(300 B)
📄
gsb_crc32.ph
(744 B)
📄
gtaskqueue.ph
(1.85 KB)
📄
hash.ph
(440 B)
📄
hhook.ph
(1.42 KB)
📄
iconv.ph
(4.33 KB)
📄
imgact.ph
(476 B)
📄
imgact_aout.ph
(4.63 KB)
📄
imgact_binmisc.ph
(1.75 KB)
📄
imgact_elf.ph
(1.45 KB)
📄
interrupt.ph
(1.45 KB)
📄
intr.ph
(1.61 KB)
📄
ioccom.ph
(2.62 KB)
📄
ioctl.ph
(387 B)
📄
ioctl_compat.ph
(5.35 KB)
📄
iov.ph
(1.34 KB)
📄
iov_schema.ph
(358 B)
📄
ipc.ph
(2.21 KB)
📄
ipmi.ph
(6.15 KB)
📄
jail.ph
(7.65 KB)
📄
joystick.ph
(819 B)
📄
kbio.ph
(8.69 KB)
📄
kcov.ph
(1.19 KB)
📄
kdb.ph
(2.3 KB)
📄
kenv.ph
(578 B)
📄
kern_prefetch.ph
(385 B)
📄
kernel.ph
(13.29 KB)
📄
kerneldump.ph
(3.28 KB)
📄
khelp.ph
(325 B)
📄
kobj.ph
(3.16 KB)
📄
kpilite.ph
(860 B)
📄
ksem.ph
(432 B)
📄
kthread.ph
(199 B)
📄
ktls.ph
(1.67 KB)
📄
ktr.ph
(12.26 KB)
📄
ktr_class.ph
(2.53 KB)
📄
ktrace.ph
(4.95 KB)
📄
libkern.ph
(3.61 KB)
📄
limits.ph
(2.99 KB)
📄
link_aout.ph
(4.54 KB)
📄
link_elf.ph
(971 B)
📄
linker.ph
(3.66 KB)
📄
linker_set.ph
(2.81 KB)
📄
lock.ph
(10.56 KB)
📄
lock_profile.ph
(1.31 KB)
📄
lockf.ph
(307 B)
📄
lockmgr.ph
(6.64 KB)
📄
lockstat.ph
(4.38 KB)
📄
loginclass.ph
(180 B)
📄
mac.ph
(740 B)
📄
malloc.ph
(3.64 KB)
📄
mbuf.ph
(33.44 KB)
📄
mchain.ph
(494 B)
📄
md4.ph
(213 B)
📄
md5.ph
(497 B)
📄
mdioctl.ph
(1.7 KB)
📄
memdesc.ph
(2.53 KB)
📄
memrange.ph
(1.99 KB)
📄
mman.ph
(9.09 KB)
📄
module.ph
(4.84 KB)
📄
module_khelp.ph
(1.18 KB)
📄
mount.ph
(22.18 KB)
📄
mouse.ph
(15.1 KB)
📄
mpt_ioctl.ph
(1.95 KB)
📄
mqueue.ph
(202 B)
📄
msg.ph
(1.24 KB)
📄
msgbuf.ph
(993 B)
📄
mtio.ph
(8.56 KB)
📄
mutex.ph
(17.47 KB)
📄
namei.ph
(7.81 KB)
📄
nlist_aout.ph
(1.88 KB)
📄
nv.ph
(2.02 KB)
📄
nvpair.ph
(4.36 KB)
📄
osd.ph
(3.22 KB)
📄
param.ph
(9.24 KB)
📄
pciio.ph
(2.92 KB)
📄
pcpu.ph
(6.97 KB)
📄
pctrie.ph
(2.74 KB)
📄
physmem.ph
(886 B)
📄
pidctrl.ph
(435 B)
📄
pipe.ph
(2.25 KB)
📄
pmc.ph
(22.72 KB)
📄
pmckern.ph
(6.13 KB)
📄
pmclog.ph
(3.2 KB)
📄
poll.ph
(1.58 KB)
📄
posix4.ph
(1.2 KB)
📄
power.ph
(986 B)
📄
priority.ph
(3.44 KB)
📄
priv.ph
(19.61 KB)
📄
prng.ph
(328 B)
📄
proc.ph
(30.83 KB)
📄
procctl.ph
(4.3 KB)
📄
procdesc.ph
(1.48 KB)
📄
procfs.ph
(535 B)
📄
protosw.ph
(4.83 KB)
📄
ptio.ph
(395 B)
📄
ptrace.ph
(4.63 KB)
📄
qmath.ph
(19.54 KB)
📄
queue.ph
(30.6 KB)
📄
racct.ph
(6.48 KB)
📄
random.ph
(4.47 KB)
📄
rangelock.ph
(1.45 KB)
📄
rangeset.ph
(234 B)
📄
rctl.ph
(4.19 KB)
📄
reboot.ph
(1.86 KB)
📄
refcount.ph
(4.03 KB)
📄
regression.ph
(218 B)
📄
resource.ph
(3.04 KB)
📄
resourcevar.ph
(1.14 KB)
📄
rman.ph
(1.89 KB)
📄
rmlock.ph
(4.18 KB)
📄
rtprio.ph
(1.44 KB)
📄
runq.ph
(296 B)
📄
rwlock.ph
(10.78 KB)
📄
sbuf.ph
(1.55 KB)
📄
sched.ph
(3.04 KB)
📄
sdt.ph
(21.91 KB)
📄
select.ph
(2.28 KB)
📄
selinfo.ph
(371 B)
📄
sem.ph
(1.97 KB)
📄
sema.ph
(919 B)
📄
seqc.ph
(2.19 KB)
📄
serial.ph
(2.12 KB)
📄
sf_buf.ph
(2.32 KB)
📄
sglist.ph
(715 B)
📄
shm.ph
(1.8 KB)
📄
sigio.ph
(323 B)
📄
signal.ph
(12.78 KB)
📄
signalvar.ph
(9.63 KB)
📄
sleepqueue.ph
(975 B)
📄
slicer.ph
(1000 B)
📄
smp.ph
(3.05 KB)
📄
smr.ph
(1.49 KB)
📄
smr_types.ph
(2.14 KB)
📄
snoop.ph
(625 B)
📄
sockbuf.ph
(4.14 KB)
📄
socket.ph
(20.01 KB)
📄
socketvar.ph
(7.29 KB)
📄
sockio.ph
(8.23 KB)
📄
sockopt.ph
(375 B)
📄
soundcard.ph
(66.67 KB)
📄
specialfd.ph
(257 B)
📄
spigenio.ph
(1.06 KB)
📄
stack.ph
(845 B)
📄
stat.ph
(9.2 KB)
📄
stats.ph
(30.3 KB)
📄
statvfs.ph
(485 B)
📄
stdatomic.ph
(15.26 KB)
📄
stddef.ph
(518 B)
📄
stdint.ph
(915 B)
📄
sx.ph
(10.75 KB)
📄
syscall.ph
(28.09 KB)
📄
syscallsubr.ph
(521 B)
📄
sysctl.ph
(46.96 KB)
📄
sysent.ph
(6.09 KB)
📄
syslimits.ph
(1.32 KB)
📄
syslog.ph
(4.03 KB)
📄
sysproto.ph
(43.73 KB)
📄
systm.ph
(12.58 KB)
📄
taskqueue.ph
(3.65 KB)
📄
terminal.ph
(5.68 KB)
📄
termios.ph
(223 B)
📄
thr.ph
(691 B)
📄
tiio.ph
(4.04 KB)
📄
tim_filter.ph
(540 B)
📄
time.ph
(12.88 KB)
📄
timeb.ph
(488 B)
📄
timeet.ph
(996 B)
📄
timeffc.ph
(3.86 KB)
📄
timepps.ph
(5.73 KB)
📄
timers.ph
(1.15 KB)
📄
times.ph
(379 B)
📄
timespec.ph
(735 B)
📄
timetc.ph
(444 B)
📄
timex.ph
(3.16 KB)
📄
tree.ph
(29.45 KB)
📄
tslog.ph
(2.24 KB)
📄
tty.ph
(3.84 KB)
📄
ttycom.ph
(5.65 KB)
📄
ttydefaults.ph
(2.62 KB)
📄
ttydevsw.ph
(2.84 KB)
📄
ttydisc.ph
(1.02 KB)
📄
ttyhook.ph
(2.25 KB)
📄
ttyqueue.ph
(2.15 KB)
📄
turnstile.ph
(357 B)
📄
types.ph
(7.97 KB)
📄
ucontext.ph
(695 B)
📄
ucred.ph
(1.19 KB)
📄
uio.ph
(681 B)
📄
umtx.ph
(6.12 KB)
📄
un.ph
(1.07 KB)
📄
unistd.ph
(7.59 KB)
📄
unpcb.ph
(1.19 KB)
📄
user.ph
(8.58 KB)
📄
utsname.ph
(553 B)
📄
uuid.ph
(543 B)
📄
vdso.ph
(1.28 KB)
📄
vmem.ph
(643 B)
📄
vmmeter.ph
(2.21 KB)
📄
vnode.ph
(24.18 KB)
📄
vtoc.ph
(88 B)
📄
wait.ph
(4.11 KB)
📄
watchdog.ph
(2.72 KB)
Editing: qmath.ph
require '_h2ph_pre.ph'; no warnings qw(redefine misc); unless(defined(&_SYS_QMATH_H_)) { eval 'sub _SYS_QMATH_H_ () {1;}' unless defined(&_SYS_QMATH_H_); require 'machine/_stdint.ph'; if(defined(&__GNUC__) && !defined(&__clang__)) { eval 'sub Q_BT { my($q) = @_; eval q( &__typeof(1* $q)); }' unless defined(&Q_BT); } else { eval 'sub Q_BT { my($q) = @_; eval q( &__typeof($q)); }' unless defined(&Q_BT); } eval 'sub Q_TC { my($q, $v) = @_; eval q((( &__typeof($q))($v))); }' unless defined(&Q_TC); eval 'sub Q_NTBITS { my($q) = @_; eval q((( &uint32_t)($sizeof{$q} << 3))); }' unless defined(&Q_NTBITS); eval 'sub Q_NCBITS () {(( &uint32_t)3);}' unless defined(&Q_NCBITS); eval 'sub Q_NFCBITS { my($q) = @_; eval q((( &uint32_t)((( &Q_GCRAW($q) & 0x3) + 1) << (( &Q_GCRAW($q) & 0x4) ? 4: 1)))); }' unless defined(&Q_NFCBITS); eval 'sub Q_MINNFBITS { my($q) = @_; eval q((( &uint32_t)(2))); }' unless defined(&Q_MINNFBITS); eval 'sub Q_MAXNFBITS { my($q) = @_; eval q((( &uint32_t)( &Q_NTBITS($q) - &Q_SIGNED($q) - &Q_NCBITS))); }' unless defined(&Q_MAXNFBITS); eval 'sub Q_NFBITS { my($q) = @_; eval q(( &Q_NFCBITS($q) > &Q_MAXNFBITS($q) ? &Q_MAXNFBITS($q) : &Q_NFCBITS($q))); }' unless defined(&Q_NFBITS); eval 'sub Q_NIBITS { my($q) = @_; eval q((( &uint32_t)( &Q_NTBITS($q) - &Q_RPSHFT($q) - &Q_SIGNED($q)))); }' unless defined(&Q_NIBITS); eval 'sub Q_RPSHFT { my($q) = @_; eval q(( &Q_NCBITS + &Q_NFBITS($q))); }' unless defined(&Q_RPSHFT); eval 'sub Q_SIGNSHFT { my($q) = @_; eval q(( &Q_NTBITS($q) - 1)); }' unless defined(&Q_SIGNSHFT); eval 'sub Q_SSIGN { my($q, $isneg) = @_; eval q((($q) = (( &Q_SIGNED($q) && ($isneg)) ? ($q) | (1 << &Q_SIGNSHFT($q)) : ($q) & ~(1 << &Q_SIGNSHFT($q))))); }' unless defined(&Q_SSIGN); eval 'sub Q_CRAWMASK { my($q) = @_; eval q(0x7); }' unless defined(&Q_CRAWMASK); eval 'sub Q_SRAWMASK { my($q) = @_; eval q((1 << &Q_SIGNSHFT($q))); }' unless defined(&Q_SRAWMASK); eval 'sub Q_GCRAW { my($q) = @_; eval q((($q) & &Q_CRAWMASK($q))); }' unless defined(&Q_GCRAW); eval 'sub Q_GCVAL { my($q) = @_; eval q( &Q_GCRAW($q)); }' unless defined(&Q_GCVAL); eval 'sub Q_SCVAL { my($q, $cv) = @_; eval q((($q) = (($q) & ~ &Q_CRAWMASK($q)) | ($cv))); }' unless defined(&Q_SCVAL); eval 'sub Q_IFRAWMASK { my($q) = @_; eval q( &Q_TC($q, &Q_SIGNED($q) ? ~( &Q_SRAWMASK($q) | &Q_CRAWMASK($q)) : ~ &Q_CRAWMASK($q))); }' unless defined(&Q_IFRAWMASK); eval 'sub Q_IFMAXVAL { my($q) = @_; eval q( &Q_TC($q, &Q_IFRAWMASK($q) >> &Q_NCBITS)); }' unless defined(&Q_IFMAXVAL); eval 'sub Q_IFMINVAL { my($q) = @_; eval q( &Q_TC($q, &Q_SIGNED($q) ? - &Q_IFMAXVAL($q) : 0)); }' unless defined(&Q_IFMINVAL); eval 'sub Q_IFVALIMASK { my($q) = @_; eval q( &Q_TC($q, ~ &Q_IFVALFMASK($q))); }' unless defined(&Q_IFVALIMASK); eval 'sub Q_IFVALFMASK { my($q) = @_; eval q( &Q_TC($q, (1 << &Q_NFBITS($q)) - 1)); }' unless defined(&Q_IFVALFMASK); eval 'sub Q_GIFRAW { my($q) = @_; eval q( &Q_TC($q, ($q) & &Q_IFRAWMASK($q))); }' unless defined(&Q_GIFRAW); eval 'sub Q_GIFABSVAL { my($q) = @_; eval q( &Q_TC($q, &Q_GIFRAW($q) >> &Q_NCBITS)); }' unless defined(&Q_GIFABSVAL); eval 'sub Q_GIFVAL { my($q) = @_; eval q( &Q_TC($q, &Q_LTZ($q) ? - &Q_GIFABSVAL($q) : &Q_GIFABSVAL($q))); }' unless defined(&Q_GIFVAL); eval 'sub Q_SIFVAL { my($q, $ifv) = @_; eval q((($q) = (($q) & (~( &Q_SRAWMASK($q) | &Q_IFRAWMASK($q)))) | ( &Q_TC($q, &Q_ABS($ifv)) << &Q_NCBITS) | ( &Q_LTZ($ifv) ? 1 << &Q_SIGNSHFT($q) : 0))); }' unless defined(&Q_SIFVAL); eval 'sub Q_SIFVALS { my($q, $iv, $fv) = @_; eval q((($q) = (($q) & (~( &Q_SRAWMASK($q) | &Q_IFRAWMASK($q)))) | ( &Q_TC($q, &Q_ABS($iv)) << &Q_RPSHFT($q)) | ( &Q_TC($q, &Q_ABS($fv)) << &Q_NCBITS) | ( &Q_LTZ($iv) || &Q_LTZ($fv) ? 1 << &Q_SIGNSHFT($q) : 0))); }' unless defined(&Q_SIFVALS); eval 'sub Q_IRAWMASK { my($q) = @_; eval q( &Q_TC($q, &Q_IFRAWMASK($q) & ~ &Q_FRAWMASK($q))); }' unless defined(&Q_IRAWMASK); eval 'sub Q_IMAXVAL { my($q) = @_; eval q( &Q_TC($q, &Q_IRAWMASK($q) >> &Q_RPSHFT($q))); }' unless defined(&Q_IMAXVAL); eval 'sub Q_IMINVAL { my($q) = @_; eval q( &Q_TC($q, &Q_SIGNED($q) ? - &Q_IMAXVAL($q) : 0)); }' unless defined(&Q_IMINVAL); eval 'sub Q_GIRAW { my($q) = @_; eval q( &Q_TC($q, ($q) & &Q_IRAWMASK($q))); }' unless defined(&Q_GIRAW); eval 'sub Q_GIABSVAL { my($q) = @_; eval q( &Q_TC($q, &Q_GIRAW($q) >> &Q_RPSHFT($q))); }' unless defined(&Q_GIABSVAL); eval 'sub Q_GIVAL { my($q) = @_; eval q( &Q_TC($q, &Q_LTZ($q) ? - &Q_GIABSVAL($q) : &Q_GIABSVAL($q))); }' unless defined(&Q_GIVAL); eval 'sub Q_SIVAL { my($q, $iv) = @_; eval q((($q) = (($q) & ~( &Q_SRAWMASK($q) | &Q_IRAWMASK($q))) | ( &Q_TC($q, &Q_ABS($iv)) << &Q_RPSHFT($q)) | ( &Q_LTZ($iv) ? 1 << &Q_SIGNSHFT($q) : 0))); }' unless defined(&Q_SIVAL); eval 'sub Q_FRAWMASK { my($q) = @_; eval q( &Q_TC($q, ((1 << &Q_NFBITS($q)) - 1) << &Q_NCBITS)); }' unless defined(&Q_FRAWMASK); eval 'sub Q_FMAXVAL { my($q) = @_; eval q( &Q_TC($q, &Q_FRAWMASK($q) >> &Q_NCBITS)); }' unless defined(&Q_FMAXVAL); eval 'sub Q_GFRAW { my($q) = @_; eval q( &Q_TC($q, ($q) & &Q_FRAWMASK($q))); }' unless defined(&Q_GFRAW); eval 'sub Q_GFABSVAL { my($q) = @_; eval q( &Q_TC($q, &Q_GFRAW($q) >> &Q_NCBITS)); }' unless defined(&Q_GFABSVAL); eval 'sub Q_GFVAL { my($q) = @_; eval q( &Q_TC($q, &Q_LTZ($q) ? - &Q_GFABSVAL($q) : &Q_GFABSVAL($q))); }' unless defined(&Q_GFVAL); eval 'sub Q_SFVAL { my($q, $fv) = @_; eval q((($q) = (($q) & ~( &Q_SRAWMASK($q) | &Q_FRAWMASK($q))) | ( &Q_TC($q, &Q_ABS($fv)) << &Q_NCBITS) | ( &Q_LTZ($fv) ? 1 << &Q_SIGNSHFT($q) : 0))); }' unless defined(&Q_SFVAL); eval 'sub Q_BITSPERBASEDOWN { my($base) = @_; eval q(( &flsll($base) - 1)); }' unless defined(&Q_BITSPERBASEDOWN); eval 'sub Q_BITSPERBASEUP { my($base) = @_; eval q(( &flsll($base) - ( &__builtin_popcountll($base) == 1))); }' unless defined(&Q_BITSPERBASEUP); eval 'sub Q_BITSPERBASE { my($base, $rnd) = @_; eval q( &Q_BITSPERBASE$rnd($base)); }' unless defined(&Q_BITSPERBASE); eval 'sub Q_NIBITS2NCHARS { my($nbits, $base) = @_; eval q(({ \'int\' &_bitsperbase = &Q_BITSPERBASE($base, &DOWN); ((($nbits) + &_bitsperbase - 1) / &_bitsperbase); })); }' unless defined(&Q_NIBITS2NCHARS); eval 'sub Q_NFBITS2NCHARS { my($nbits, $base) = @_; eval q(($nbits)); }' unless defined(&Q_NFBITS2NCHARS); eval 'sub Q_MAXSTRLEN { my($q, $base) = @_; eval q((2+ &Q_NIBITS2NCHARS( &Q_NIBITS($q), $base) + &Q_NFBITS2NCHARS( &Q_NFBITS($q), $base) + &Q_SIGNED($q))); }' unless defined(&Q_MAXSTRLEN); eval 'sub Q_IBITS2CH { my($q, $bits, $base) = @_; eval q(({ &__typeof($bits) &_tmp = ($bits) / ($base); \'int\' &_idx = ($bits) - ( &_tmp * ($base)); ($bits) = &_tmp; \\"0123456789abcdef\\"[ &_idx]; })); }' unless defined(&Q_IBITS2CH); eval 'sub Q_FBITS2CH { my($q, $bits, $base) = @_; eval q(({ \'int\' &_carry = 0, &_idx, &_nfbits = &Q_NFBITS($q), &_shift = 0; &if ( &_nfbits > &Q_BITSPERBASEUP($base)) { &_shift = &_nfbits >> 1; &_carry = ((($bits) & ((1 << &_shift) - 1)) * ($base)) >> &_shift; } &_idx = (((($bits) >> &_shift) * ($base)) + &_carry) >> ( &_nfbits - &_shift); ($bits) *= ($base); ($bits) &= (1 << &_nfbits) - 1; \\"0123456789abcdef\\"[ &_idx]; })); }' unless defined(&Q_FBITS2CH); eval 'sub Q_TOSTR { my($q, $prec, $base, $s, $slen) = @_; eval q(({ \'char\' * &_r, * &_s = $s; \'int\' &_i; &if ( &Q_LTZ($q) && (( &ptrdiff_t)($slen)) > 0) * &_s++ = ord(\'-\'; Q_BT(q) _part = Q_GIABSVAL(q); _r = _s; do { if ((_s - (s)) < ((ptrdiff_t)(slen))) *_s++ = Q_IBITS2CH(q, _part, base); else _r = NULL; } while (_part > 0 && _r != NULL); if (!((_s - (s)) < ((ptrdiff_t)(slen)))) _r = NULL; _i = (_s - _r) >> 1; while (_i-- > 0 && _r != NULL) { *_s = *(_r + _i); *(_r + _i) = *(_s - _i - 1); *(_s - _i - 1) = *_s; } _i = (prec); if (_i != 0 && _r != NULL) { if ((_s - (s)) < ((ptrdiff_t)(slen))) *_s++ = \'.\'; else _r = NULL; _part = Q_GFABSVAL(q); if (_i < 0 || _i > (int)Q_NFBITS(q)) _i = Q_NFBITS(q); while (_i-- > 0 && _r != NULL) { if ((_s - (s)) < ((ptrdiff_t)(slen))) *_s++ = Q_FBITS2CH(q, _part, base); else _r = NULL; } } if ((_s - (s)) < ((ptrdiff_t)(slen)) && _r != NULL) *_s = \'\\\\0\'; else { _r = NULL; if (((ptrdiff_t)(slen)) > 0) *(s) = \'\\\\0\'); } ( &_r != &NULL ? &_s : &_r); })); }' unless defined(&Q_TOSTR); eval 'sub Q_SHL { my($q, $iv) = @_; eval q(( &Q_LTZ($iv) ? -( &int64_t)( &Q_ABS($iv) << &Q_NFBITS($q)) : &Q_TC($q, $iv) << &Q_NFBITS($q))); }' unless defined(&Q_SHL); eval 'sub Q_RELPREC { my($a, $b) = @_; eval q(( &Q_NFBITS - &Q_NFBITS($b))); }' unless defined(&Q_RELPREC); eval 'sub Q_CTRLINI { my($rpshft) = @_; eval q(((($rpshft) <= 8) ? ((($rpshft) - 1) >> 1) : (0x4 | ((($rpshft) - 1) >> 4)))); }' unless defined(&Q_CTRLINI); eval 'sub Q_DFV2BFV { my($dfv, $nfbits) = @_; eval q(({ &uint64_t &_bfv = 0, &_thresh = 5, &_tmp = $dfv; \'int\' &_i = $sizeof{\\"\\"$dfv} - 1; &while (-- &_i > 0) { &_thresh *= 10;} &_i = ($nfbits) - 1; &while ( &_i >= 0) { &if ( &_thresh <= &_tmp) { &_bfv |= 1 << &_i; &_tmp = &_tmp - &_thresh; } &_i--; &_tmp <<= 1; } &_bfv; })); }' unless defined(&Q_DFV2BFV); eval 'sub Q_INI { my($q, $iv, $dfv, $rpshft) = @_; eval q(({ (*($q)) = &Q_CTRLINI($rpshft); &Q_SIFVALS(*($q), $iv, &Q_DFV2BFV($dfv, &Q_NFBITS(*($q)))); })); }' unless defined(&Q_INI); eval 'sub Q_PRECEQ { my($a, $b) = @_; eval q(( &Q_NFBITS($a) == &Q_NFBITS($b))); }' unless defined(&Q_PRECEQ); eval 'sub Q_SIGNED { my($n) = @_; eval q(( &Q_TC($n, -1) < 0)); }' unless defined(&Q_SIGNED); eval 'sub Q_LTZ { my($n) = @_; eval q(( &Q_SIGNED($n) && (($n) & &Q_SRAWMASK($n)))); }' unless defined(&Q_LTZ); eval 'sub Q_ABS { my($n) = @_; eval q(( &Q_LTZ($n) ? -($n) : ($n))); }' unless defined(&Q_ABS); eval 'sub Q_QABS { my($q) = @_; eval q(( &Q_SIGNED($q) ? ($q) & ~ &Q_SRAWMASK($q) : ($q))); }' unless defined(&Q_QABS); eval 'sub Q_Q2F { my($q) = @_; eval q(( &Q_GIFVAL / (1 << &Q_NFBITS($q)))); }' unless defined(&Q_Q2F); eval 'sub Q_Q2D { my($q) = @_; eval q(( &Q_GIFVAL / (1 << &Q_NFBITS($q)))); }' unless defined(&Q_Q2D); eval 'sub Q_QCMPQ { my($a, $b, $intcmp, $fraccmp) = @_; eval q((( &Q_GIVAL($a) $intcmp &Q_GIVAL($b)) || (( &Q_GIVAL($a) == &Q_GIVAL($b)) && ( &Q_GFVAL($a) $fraccmp &Q_GFVAL($b))))); }' unless defined(&Q_QCMPQ); eval 'sub Q_QLTQ { my($a, $b) = @_; eval q( &Q_QCMPQ($a, $b, <, <)); }' unless defined(&Q_QLTQ); eval 'sub Q_QLEQ { my($a, $b) = @_; eval q( &Q_QCMPQ($a, $b, <, <=)); }' unless defined(&Q_QLEQ); eval 'sub Q_QGTQ { my($a, $b) = @_; eval q( &Q_QCMPQ($a, $b, >, >)); }' unless defined(&Q_QGTQ); eval 'sub Q_QGEQ { my($a, $b) = @_; eval q( &Q_QCMPQ($a, $b, >, >=)); }' unless defined(&Q_QGEQ); eval 'sub Q_QEQ { my($a, $b) = @_; eval q( &Q_QCMPQ($a, $b, ==, ==)); }' unless defined(&Q_QEQ); eval 'sub Q_QNEQ { my($a, $b) = @_; eval q( &Q_QCMPQ($a, $b, !=, !=)); }' unless defined(&Q_QNEQ); eval 'sub Q_QMAXQ { my($a, $b) = @_; eval q(( &Q_GT($a, $b) ? ($a) : ($b))); }' unless defined(&Q_QMAXQ); eval 'sub Q_QMINQ { my($a, $b) = @_; eval q(( &Q_LT($a, $b) ? ($a) : ($b))); }' unless defined(&Q_QMINQ); eval 'sub Q_QCANREPQ { my($a, $b) = @_; eval q((((( &Q_LTZ($a) && &Q_SIGNED($b)) || ! &Q_LTZ($a)) && &Q_GIABSVAL($a) <= &Q_TC($a, &Q_IMAXVAL($b)) && &Q_GFABSVAL($a) <= &Q_TC($a, &Q_FMAXVAL($b))) ? 0: &EOVERFLOW)); }' unless defined(&Q_QCANREPQ); eval 'sub Q_QCANREPI { my($q, $i) = @_; eval q((((( &Q_LTZ($i) && &Q_SIGNED($q)) || ! &Q_LTZ($i)) && &Q_ABS($i) <= &Q_TC($i, &Q_IMAXVAL($q))) ? 0: &EOVERFLOW)); }' unless defined(&Q_QCANREPI); eval 'sub Q_DEBUGFMT_ { my($prefmt, $postfmt, $mod, $hexpad) = @_; eval q($prefmt \\"\\\\\\"%s\\\\\\"@%p\\" \\"\\\\n\\\\ttype=%c%dq_t, \\" \\"Qm.n=Q%d.%d, \\" \\"rpshft=%d, \\" \\"imin=0x%0\\" $mod \\"x, \\" \\"imax=0x%0\\" $mod \\"x\\" \\"\\\\n\\\\tqraw=0x%0\\" $hexpad $mod \\"x\\" \\"\\\\n\\\\timask=0x%0\\" $hexpad $mod \\"x, \\" \\"fmask=0x%0\\" $hexpad $mod \\"x, \\" \\"cmask=0x%0\\" $hexpad $mod \\"x, \\" \\"ifmask=0x%0\\" $hexpad $mod \\"x\\" \\"\\\\n\\\\tiraw=0x%0\\" $hexpad $mod \\"x, \\" \\"iabsval=0x%\\" $mod \\"x, \\" \\"ival=0x%\\" $mod \\"x\\" \\"\\\\n\\\\tfraw=0x%0\\" $hexpad $mod \\"x, \\" \\"fabsval=0x%\\" $mod \\"x, \\" \\"fval=0x%\\" $mod \\"x\\" \\"%s\\" $postfmt); }' unless defined(&Q_DEBUGFMT_); eval 'sub Q_DEBUGFMT { my($q, $prefmt, $postfmt) = @_; eval q($sizeof{$q} == 8? &Q_DEBUGFMT_($prefmt, $postfmt, &j, 16) : $sizeof{$q} == 4? &Q_DEBUGFMT_($prefmt, $postfmt, , 8) : $sizeof{$q} == 2? &Q_DEBUGFMT_($prefmt, $postfmt, &h, 4) : $sizeof{$q} == 1? &Q_DEBUGFMT_($prefmt, $postfmt, &hh, 2) : $prefmt \\"\\\\\\"%s\\\\\\"@%p: invalid\\" $postfmt); }' unless defined(&Q_DEBUGFMT); eval 'sub Q_DEBUG { my($q, $prefmt, $postfmt, $incfmt) = @_; eval q( &Q_DEBUGFMT($q, $prefmt, $postfmt) , $q , ($q) , &Q_SIGNED($q) ? ord(\'s\' : \'u\') , &Q_NTBITS($q) , &Q_NIBITS($q) , &Q_NFBITS($q) , &Q_RPSHFT($q) , &Q_IMINVAL($q) , &Q_IMAXVAL($q) , ($q) , &Q_IRAWMASK($q) , &Q_FRAWMASK($q) , &Q_TC($q, &Q_CRAWMASK($q)) , &Q_IFRAWMASK($q) , &Q_GIRAW($q) , &Q_GIABSVAL($q) , &Q_GIVAL($q) , &Q_GFRAW($q) , &Q_GFABSVAL($q) , &Q_GFVAL($q) , ($incfmt) ? &Q_DEBUGFMT($q, \\"\\\\nfmt:\\", \\"\\") : \\"\\"); }' unless defined(&Q_DEBUG); eval 'sub Q_NORMPREC { my($a, $b) = @_; eval q(({ \'int\' &_perr = 0, &_relprec = &Q_RELPREC(*($a), $b); &if ( &_relprec != 0) &_perr = &ERANGE; &_perr; })); }' unless defined(&Q_NORMPREC); eval 'sub Q_QCLONEQ { my($l, $r) = @_; eval q(({ &Q_BT(*($l)) &_l = &Q_GCVAL($r); \'int\' &_err = &Q_QCANREPQ($r, &_l); &if (! &_err) { *($l) = &_l; &Q_SIFVAL(*($l), &Q_GIFVAL($r)); } &_err; })); }' unless defined(&Q_QCLONEQ); eval 'sub Q_QCPYVALQ { my($l, $r) = @_; eval q(({ \'int\' &_err = &Q_QCANREPQ($r, *($l)); &if (! &_err) &Q_SIFVALS(*($l), &Q_GIVAL($r), &Q_GFVAL($r)); &_err; })); }' unless defined(&Q_QCPYVALQ); eval 'sub Q_QADDSUBQ { my($a, $b, $eop) = @_; eval q(({ \'int\' &_aserr; &if (( &_aserr = &Q_NORMPREC($a, $b))) &while(0); &else &if (($eop) == ord(\'+\')) { &if ( &Q_IFMAXVAL(*($a)) - &Q_GIFABSVAL($b) < &Q_GIFVAL(*($a))) &_aserr = &EOVERFLOW; &else &Q_SIFVAL(*($a), &Q_GIFVAL(*($a)) + &Q_TC(*($a), &Q_GIFABSVAL($b))); } &else { &if ( &Q_IFMINVAL(*($a)) + &Q_GIFABSVAL($b) > &Q_GIFVAL(*($a))) &_aserr = &EOVERFLOW; &else &Q_SIFVAL(*($a), &Q_GIFVAL(*($a)) - &Q_TC(*($a), &Q_GIFABSVAL($b))); } &_aserr; })); }' unless defined(&Q_QADDSUBQ); eval 'sub Q_QADDQ { my($a, $b) = @_; eval q( &Q_QADDSUBQ($a, $b, ( &Q_LTZ($b) ? ord(\'-\' : \'+\')))); }' unless defined(&Q_QADDQ); eval 'sub Q_QSUBQ { my($a, $b) = @_; eval q( &Q_QADDSUBQ($a, $b, ( &Q_LTZ($b) ? ord(\'+\' : \'-\')))); }' unless defined(&Q_QSUBQ); eval 'sub Q_QDIVQ { my($a, $b) = @_; eval q(({ \'int\' &_err; &if (( &_err = &Q_NORMPREC($a, $b))) &while(0); &else &if ( &Q_GIFABSVAL($b) == 0|| (! &Q_SIGNED(*($a)) && &Q_LTZ($b))) &_err = &EINVAL; &else &if ( &Q_GIFABSVAL(*($a)) != 0) { &Q_SIFVAL(*($a), (( &Q_GIVAL(*($a)) << &Q_NFBITS(*($a))) / &Q_GIFVAL($b)) + ( &Q_GFVAL($b) == 0? 0: (( &Q_GFVAL(*($a)) << &Q_NFBITS(*($a))) / &Q_GFVAL($b)))); } &_err; })); }' unless defined(&Q_QDIVQ); eval 'sub Q_QMULQ { my($a, $b) = @_; eval q(({ \'int\' &_mulerr; &if (( &_mulerr = &Q_NORMPREC($a, $b))) &while(0); &else &if (! &Q_SIGNED(*($a)) && &Q_LTZ($b)) &_mulerr = &EINVAL; &else &if ( &Q_GIFABSVAL($b) != 0 && &Q_IFMAXVAL(*($a)) / &Q_GIFABSVAL($b) < &Q_GIFABSVAL(*($a))) &_mulerr = &EOVERFLOW; &else &Q_SIFVAL(*($a), ( &Q_GIFVAL(*($a)) * &Q_GIFVAL($b)) >> &Q_NFBITS(*($a))); &_mulerr; })); }' unless defined(&Q_QMULQ); eval 'sub Q_QCPYVALI { my($q, $i) = @_; eval q(({ \'int\' &_err = &Q_QCANREPI(*($q), $i); &if (! &_err) &Q_SIFVAL(*($q), &Q_SHL(*($q), $i)); &_err; })); }' unless defined(&Q_QCPYVALI); eval 'sub Q_QADDSUBI { my($q, $i, $eop) = @_; eval q(({ \'int\' &_aserr = 0; &if ( &Q_NTBITS(*($q)) < ( &uint32_t) &flsll( &Q_ABS($i))) &_aserr = &EOVERFLOW; &else &if (($eop) == ord(\'+\')) { &if ( &Q_IMAXVAL(*($q)) - &Q_TC(*($q), &Q_ABS($i)) < &Q_GIVAL(*($q))) &_aserr = &EOVERFLOW; &else &Q_SIFVAL(*($q), &Q_GIFVAL(*($q)) + &Q_SHL(*($q), &Q_ABS($i))); } &else { &if ( &Q_IMINVAL(*($q)) + &Q_ABS($i) > &Q_GIVAL(*($q))) &_aserr = &EOVERFLOW; &else &Q_SIFVAL(*($q), &Q_GIFVAL(*($q)) - &Q_SHL(*($q), &Q_ABS($i))); } &_aserr; })); }' unless defined(&Q_QADDSUBI); eval 'sub Q_QADDI { my($q, $i) = @_; eval q( &Q_QADDSUBI($q, $i, ( &Q_LTZ($i) ? ord(\'-\' : \'+\')))); }' unless defined(&Q_QADDI); eval 'sub Q_QSUBI { my($q, $i) = @_; eval q( &Q_QADDSUBI($q, $i, ( &Q_LTZ($i) ? ord(\'+\' : \'-\')))); }' unless defined(&Q_QSUBI); eval 'sub Q_QDIVI { my($q, $i) = @_; eval q(({ \'int\' &_diverr = 0; &if (($i) == 0|| (! &Q_SIGNED(*($q)) && &Q_LTZ($i))) &_diverr = &EINVAL; &else &if ( &Q_GIFABSVAL(*($q)) != 0) { &Q_SIFVAL(*($q), &Q_GIFVAL(*($q)) / &Q_TC(*($q), $i)); &if ( &Q_GIFABSVAL(*($q)) == 0) &_diverr = &ERANGE; } &_diverr; })); }' unless defined(&Q_QDIVI); eval 'sub Q_QMULI { my($q, $i) = @_; eval q(({ \'int\' &_mulerr = 0; &if (! &Q_SIGNED(*($q)) && &Q_LTZ($i)) &_mulerr = &EINVAL; &else &if (($i) != 0 && &Q_IFMAXVAL(*($q)) / &Q_TC(*($q), &Q_ABS($i)) < &Q_GIFABSVAL(*($q))) &_mulerr = &EOVERFLOW; &else &Q_SIFVAL(*($q), &Q_GIFVAL(*($q)) * &Q_TC(*($q), $i)); &_mulerr; })); }' unless defined(&Q_QMULI); eval 'sub Q_QFRACI { my($q, $in, $id) = @_; eval q(({ &uint64_t &_tmp; \'int\' &_err = 0; &if (($id) == 0) &_err = &EINVAL; &else &if (($in) == 0) &Q_SIFVAL(*($q), $in); &else &if (( &_tmp = &Q_ABS($in)) > ( &UINT64_MAX >> &Q_RPSHFT(*($q)))) &_err = &EOVERFLOW; &else { &_tmp = &Q_SHL(*($q), &_tmp) / &Q_ABS($id); &if ( &Q_QCANREPI(*($q), &_tmp & &Q_IFVALIMASK(*($q)))) &_err = &EOVERFLOW; &else { &Q_SIFVAL(*($q), &_tmp); &Q_SSIGN(*($q), ( &Q_LTZ($in) && ! &Q_LTZ($id)) || (! &Q_LTZ($in) && &Q_LTZ($id))); &if ( &_tmp == 0) &_err = &ERANGE; } } &_err; })); }' unless defined(&Q_QFRACI); } 1;
Upload File
Create Folder