#!/usr/bin/perl -s use v5.16; use Test2::V0; use experimental 'signatures'; our ($tests, $examples); run_tests() if $tests || $examples; # does not return die <> 1 | ($n & $odd) << 1; } ### Examples and tests sub run_tests { SKIP: { skip "examples" unless $examples; is swap_bits(101), 154, 'example 1'; is swap_bits(18), 33, 'example 2'; } SKIP: { skip "tests" unless $tests; is swap_bits(0), 0, 'no bit set'; is swap_bits(~0), ~0, 'all bits set'; is swap_bits(0x55555555), 0xaaaaaaaa, 'odd to even'; is swap_bits(0xaaaaaaaa), 0x55555555, 'even to odd'; } done_testing; exit; }