%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/lib/perl5/site_perl/mach/5.32/sys/
Upload File :
Create Path :
Current File : //usr/local/lib/perl5/site_perl/mach/5.32/sys/bitset.ph

require '_h2ph_pre.ph';

no warnings qw(redefine misc);

unless(defined(&_SYS_BITSET_H_)) {
    eval 'sub _SYS_BITSET_H_ () {1;}' unless defined(&_SYS_BITSET_H_);
    eval 'sub __constexpr_cond {
        my($expr) = @_;
	    eval q(( &__builtin_constant_p(($expr))  && ($expr)));
    }' unless defined(&__constexpr_cond);
    eval 'sub __bitset_mask {
        my($_s, $n) = @_;
	    eval q((1 << ( &__constexpr_cond( &__bitset_words(($_s)) == 1) ? ( &__size_t)($n) : (($n) %  &_BITSET_BITS))));
    }' unless defined(&__bitset_mask);
    eval 'sub __bitset_word {
        my($_s, $n) = @_;
	    eval q(( &__constexpr_cond( &__bitset_words(($_s)) == 1) ? 0: (($n) /  &_BITSET_BITS)));
    }' unless defined(&__bitset_word);
    eval 'sub BIT_CLR {
        my($_s, $n, $p) = @_;
	    eval q((($p)-> $__bits[ &__bitset_word($_s, $n)] &= ~ &__bitset_mask(($_s), ($n))));
    }' unless defined(&BIT_CLR);
    eval 'sub BIT_COPY {
        my($_s, $f, $t) = @_;
	    eval q(( &void)(*($t) = *($f)));
    }' unless defined(&BIT_COPY);
    eval 'sub BIT_ISSET {
        my($_s, $n, $p) = @_;
	    eval q((((($p)-> $__bits[ &__bitset_word($_s, $n)] &  &__bitset_mask(($_s), ($n))) != 0)));
    }' unless defined(&BIT_ISSET);
    eval 'sub BIT_SET {
        my($_s, $n, $p) = @_;
	    eval q((($p)-> $__bits[ &__bitset_word($_s, $n)] |=  &__bitset_mask(($_s), ($n))));
    }' unless defined(&BIT_SET);
    eval 'sub BIT_ZERO {
        my($_s, $p) = @_;
	    eval q( &do {  &__size_t  &__i;  &for ( &__i = 0;  &__i <  &__bitset_words(($_s));  &__i++) ($p)-> $__bits[ &__i] = 0; }  &while (0));
    }' unless defined(&BIT_ZERO);
    eval 'sub BIT_FILL {
        my($_s, $p) = @_;
	    eval q( &do {  &__size_t  &__i;  &for ( &__i = 0;  &__i <  &__bitset_words(($_s));  &__i++) ($p)-> $__bits[ &__i] = -1; }  &while (0));
    }' unless defined(&BIT_FILL);
    eval 'sub BIT_SETOF {
        my($_s, $n, $p) = @_;
	    eval q( &do {  &BIT_ZERO($_s, $p); ($p)-> $__bits[ &__bitset_word($_s, $n)] =  &__bitset_mask(($_s), ($n)); }  &while (0));
    }' unless defined(&BIT_SETOF);
    eval 'sub BIT_EMPTY {
        my($_s, $p) = @_;
	    eval q( &__extension__ ({  &__size_t  &__i;  &for ( &__i = 0;  &__i <  &__bitset_words(($_s));  &__i++)  &if (($p)-> $__bits[ &__i])  &break;  &__i ==  &__bitset_words(($_s)); }));
    }' unless defined(&BIT_EMPTY);
    eval 'sub BIT_ISFULLSET {
        my($_s, $p) = @_;
	    eval q( &__extension__ ({  &__size_t  &__i;  &for ( &__i = 0;  &__i <  &__bitset_words(($_s));  &__i++)  &if (($p)-> $__bits[ &__i] != -1)  &break;  &__i ==  &__bitset_words(($_s)); }));
    }' unless defined(&BIT_ISFULLSET);
    eval 'sub BIT_SUBSET {
        my($_s, $p, $c) = @_;
	    eval q( &__extension__ ({  &__size_t  &__i;  &for ( &__i = 0;  &__i <  &__bitset_words(($_s));  &__i++)  &if ((($c)-> $__bits[ &__i] & ($p)-> $__bits[ &__i]) != ($c)-> $__bits[ &__i])  &break;  &__i ==  &__bitset_words(($_s)); }));
    }' unless defined(&BIT_SUBSET);
    eval 'sub BIT_OVERLAP {
        my($_s, $p, $c) = @_;
	    eval q( &__extension__ ({  &__size_t  &__i;  &for ( &__i = 0;  &__i <  &__bitset_words(($_s));  &__i++)  &if ((($c)-> $__bits[ &__i] & ($p)-> $__bits[ &__i]) != 0)  &break;  &__i !=  &__bitset_words(($_s)); }));
    }' unless defined(&BIT_OVERLAP);
    eval 'sub BIT_CMP {
        my($_s, $p, $c) = @_;
	    eval q( &__extension__ ({  &__size_t  &__i;  &for ( &__i = 0;  &__i <  &__bitset_words(($_s));  &__i++)  &if ((($c)-> $__bits[ &__i] != ($p)-> $__bits[ &__i]))  &break;  &__i !=  &__bitset_words(($_s)); }));
    }' unless defined(&BIT_CMP);
    eval 'sub BIT_OR {
        my($_s, $d, $s) = @_;
	    eval q( &do {  &__size_t  &__i;  &for ( &__i = 0;  &__i <  &__bitset_words(($_s));  &__i++) ($d)-> $__bits[ &__i] |= ($s)-> $__bits[ &__i]; }  &while (0));
    }' unless defined(&BIT_OR);
    eval 'sub BIT_OR2 {
        my($_s, $d, $s1, $s2) = @_;
	    eval q( &do {  &__size_t  &__i;  &for ( &__i = 0;  &__i <  &__bitset_words(($_s));  &__i++) ($d)-> $__bits[ &__i] = ($s1)-> $__bits[ &__i] | ($s2)-> $__bits[ &__i];}  &while (0));
    }' unless defined(&BIT_OR2);
    eval 'sub BIT_AND {
        my($_s, $d, $s) = @_;
	    eval q( &do {  &__size_t  &__i;  &for ( &__i = 0;  &__i <  &__bitset_words(($_s));  &__i++) ($d)-> $__bits[ &__i] &= ($s)-> $__bits[ &__i]; }  &while (0));
    }' unless defined(&BIT_AND);
    eval 'sub BIT_AND2 {
        my($_s, $d, $s1, $s2) = @_;
	    eval q( &do {  &__size_t  &__i;  &for ( &__i = 0;  &__i <  &__bitset_words(($_s));  &__i++) ($d)-> $__bits[ &__i] = ($s1)-> $__bits[ &__i] & ($s2)-> $__bits[ &__i];}  &while (0));
    }' unless defined(&BIT_AND2);
    eval 'sub BIT_ANDNOT {
        my($_s, $d, $s) = @_;
	    eval q( &do {  &__size_t  &__i;  &for ( &__i = 0;  &__i <  &__bitset_words(($_s));  &__i++) ($d)-> $__bits[ &__i] &= ~($s)-> $__bits[ &__i]; }  &while (0));
    }' unless defined(&BIT_ANDNOT);
    eval 'sub BIT_ANDNOT2 {
        my($_s, $d, $s1, $s2) = @_;
	    eval q( &do {  &__size_t  &__i;  &for ( &__i = 0;  &__i <  &__bitset_words(($_s));  &__i++) ($d)-> $__bits[ &__i] = ($s1)-> $__bits[ &__i] & ~($s2)-> $__bits[ &__i];}  &while (0));
    }' unless defined(&BIT_ANDNOT2);
    eval 'sub BIT_XOR {
        my($_s, $d, $s) = @_;
	    eval q( &do {  &__size_t  &__i;  &for ( &__i = 0;  &__i <  &__bitset_words(($_s));  &__i++) ($d)-> $__bits[ &__i] ^= ($s)-> $__bits[ &__i]; }  &while (0));
    }' unless defined(&BIT_XOR);
    eval 'sub BIT_XOR2 {
        my($_s, $d, $s1, $s2) = @_;
	    eval q( &do {  &__size_t  &__i;  &for ( &__i = 0;  &__i <  &__bitset_words(($_s));  &__i++) ($d)-> $__bits[ &__i] = ($s1)-> $__bits[ &__i] ^ ($s2)-> $__bits[ &__i];}  &while (0));
    }' unless defined(&BIT_XOR2);
    eval 'sub BIT_CLR_ATOMIC {
        my($_s, $n, $p) = @_;
	    eval q( &atomic_clear_long(($p)-> $__bits[ &__bitset_word($_s, $n)],  &__bitset_mask(($_s), $n)));
    }' unless defined(&BIT_CLR_ATOMIC);
    eval 'sub BIT_SET_ATOMIC {
        my($_s, $n, $p) = @_;
	    eval q( &atomic_set_long(($p)-> $__bits[ &__bitset_word($_s, $n)],  &__bitset_mask(($_s), $n)));
    }' unless defined(&BIT_SET_ATOMIC);
    eval 'sub BIT_SET_ATOMIC_ACQ {
        my($_s, $n, $p) = @_;
	    eval q( &atomic_set_acq_long(($p)-> $__bits[ &__bitset_word($_s, $n)],  &__bitset_mask(($_s), $n)));
    }' unless defined(&BIT_SET_ATOMIC_ACQ);
    eval 'sub BIT_TEST_CLR_ATOMIC {
        my($_s, $n, $p) = @_;
	    eval q(( &atomic_testandclear_long( ($p)-> $__bits[ &__bitset_word(($_s), ($n))], ($n)) != 0));
    }' unless defined(&BIT_TEST_CLR_ATOMIC);
    eval 'sub BIT_TEST_SET_ATOMIC {
        my($_s, $n, $p) = @_;
	    eval q(( &atomic_testandset_long( ($p)-> $__bits[ &__bitset_word(($_s), ($n))], ($n)) != 0));
    }' unless defined(&BIT_TEST_SET_ATOMIC);
    eval 'sub BIT_AND_ATOMIC {
        my($_s, $d, $s) = @_;
	    eval q( &do {  &__size_t  &__i;  &for ( &__i = 0;  &__i <  &__bitset_words(($_s));  &__i++)  &atomic_clear_long(($d)-> $__bits[ &__i], ~($s)-> $__bits[ &__i]); }  &while (0));
    }' unless defined(&BIT_AND_ATOMIC);
    eval 'sub BIT_OR_ATOMIC {
        my($_s, $d, $s) = @_;
	    eval q( &do {  &__size_t  &__i;  &for ( &__i = 0;  &__i <  &__bitset_words(($_s));  &__i++)  &atomic_set_long(($d)-> $__bits[ &__i], ($s)-> $__bits[ &__i]); }  &while (0));
    }' unless defined(&BIT_OR_ATOMIC);
    eval 'sub BIT_COPY_STORE_REL {
        my($_s, $f, $t) = @_;
	    eval q( &do {  &__size_t  &__i;  &for ( &__i = 0;  &__i <  &__bitset_words(($_s));  &__i++)  &atomic_store_rel_long(($t)-> $__bits[ &__i], ($f)-> $__bits[ &__i]); }  &while (0));
    }' unless defined(&BIT_COPY_STORE_REL);
    eval 'sub BIT_FFS_AT {
        my($_s, $p, $start) = @_;
	    eval q( &__extension__ ({  &__size_t  &__i; \'long __bit\',  &__mask;  &__mask = ~0 << (($start) %  &_BITSET_BITS);  &__bit = 0;  &for ( &__i =  &__bitset_word(($_s), ($start));  &__i <  &__bitset_words(($_s));  &__i++) {  &if ((($p)-> $__bits[ &__i] &  &__mask) != 0) {  &__bit =  &ffsl(($p)-> $__bits[ &__i] &  &__mask);  &__bit +=  &__i *  &_BITSET_BITS;  &break; }  &__mask = ~0; }  &__bit; }));
    }' unless defined(&BIT_FFS_AT);
    eval 'sub BIT_FFS {
        my($_s, $p) = @_;
	    eval q( &BIT_FFS_AT(($_s), ($p), 0));
    }' unless defined(&BIT_FFS);
    eval 'sub BIT_FLS {
        my($_s, $p) = @_;
	    eval q( &__extension__ ({  &__size_t  &__i; \'long __bit\';  &__bit = 0;  &for ( &__i =  &__bitset_words(($_s));  &__i > 0;  &__i--) {  &if (($p)-> $__bits[ &__i - 1] != 0) {  &__bit =  &flsl(($p)-> $__bits[ &__i - 1]);  &__bit += ( &__i - 1) *  &_BITSET_BITS;  &break; } }  &__bit; }));
    }' unless defined(&BIT_FLS);
    eval 'sub BIT_COUNT {
        my($_s, $p) = @_;
	    eval q( &__extension__ ({  &__size_t  &__i; \'long __count\';  &__count = 0;  &for ( &__i = 0;  &__i <  &__bitset_words(($_s));  &__i++)  &__count +=  &__bitcountl(($p)-> $__bits[ &__i]);  &__count; }));
    }' unless defined(&BIT_COUNT);
    eval 'sub BITSET_T_INITIALIZER {
        my($x) = @_;
	    eval q({ . &__bits = { $x } });
    }' unless defined(&BITSET_T_INITIALIZER);
    eval 'sub BITSET_FSET {
        my($n) = @_;
	    eval q([ 0... (($n) - 1) ] = (-1));
    }' unless defined(&BITSET_FSET);
    eval 'sub BITSET_SIZE {
        my($_s) = @_;
	    eval q(( &__bitset_words(($_s)) * $sizeof{\'long\'}));
    }' unless defined(&BITSET_SIZE);
    eval 'sub BITSET_ALLOC {
        my($_s, $mt, $mf) = @_;
	    eval q( &malloc( &BITSET_SIZE(($_s)), $mt, ($mf)));
    }' unless defined(&BITSET_ALLOC);
}
1;

Zerion Mini Shell 1.0