luft/z-fiber-benchmark-tests.lisp
defpackage#:luft.z-fiber-benchmark.tests
:use#:cl#:rove
:local-nicknames
#:z#:luft.z-fiber-benchmark
in-package#:luft.z-fiber-benchmark.tests
deftestscalar-fibers-match-the-cell-oracle
deftestnative-simd-matches-scalar-fibers
let
families
okfamilies"A native SIMD family is available"
dolist
familyfamilies
dolist
pattern'
:solid:terrain:architecture:caves:checkerboard
let*
case
scalar
ok
equalpscalar
z::fiber-case-outputcase
formatnil"~A agrees for ~A"familypattern
deftestcamera-air-algorithms-find-the-same-boundary
deftestcamera-air-excludes-the-ground-underside
deftestmaintained-atmosphere-chain-matches-rebuilds
let*
maintained
rebuilt
maintained-case
z::atmosphere-edit-case-casemaintained
rebuilt-case
z::atmosphere-edit-case-caserebuilt
dotimes
edit32
z::maintain-atmosphere-surface-editmaintained
ok
equalp
z::fiber-case-occupancymaintained-case
z::fiber-case-occupancyrebuilt-case
formatnil"occupancy after surface edit ~D"edit
ok
equalp
z::fiber-case-outputmaintained-case
z::fiber-case-outputrebuilt-case
formatnil"atmosphere chain after surface edit ~D"edit
ok
formatnil"solid count after surface edit ~D"edit
let
maintained-air
z::fiber-case-air-workspacemaintained-case
rebuilt-air
z::fiber-case-air-workspacerebuilt-case
ok
equalp
z::air-workspace-run-offsetsmaintained-air
z::air-workspace-run-offsetsrebuilt-air
formatnil"air-run offsets after surface edit ~D"edit
ok
equalp
z::air-workspace-run-startsmaintained-air
z::air-workspace-run-startsrebuilt-air
formatnil"air-run starts after surface edit ~D"edit
ok
equalp
z::air-workspace-run-endsmaintained-air
z::air-workspace-run-endsrebuilt-air
formatnil"air-run ends after surface edit ~D"edit
deftestfull-height-solid-and-checkerboard-have-expected-shape
let
solid
checkerboard
ok
ok
ok
ok
ok
ok
loopforindexfrom3below
"Bit 255 remains the air sentinel"length
byz::+fiber-words+alwaysz::fiber-case-occupancysolid
not
logbitp63
aref
z::fiber-case-occupancysolid
indexdefun make-fiber-case
(width pattern)defun copy-output
(case)defun input-base
(stride local-x local-y)define-arithmetic-operator =
Test whether two compatible scalars are equal.
defun fiber-run-count-scan
(occupancy base)defun fiber-run-count-bits
(occupancy base)defun surface-kernel
(family)defun output-face-count
(output)define-arithmetic-operator -
Subtraction or unary negation.
define-arithmetic-operator *
Multiplication and scalar scaling.
define-arithmetic-operator not
Logical negation of one test or raw truth value.