xor 接口

public interface xor

set1 中的位设置为 set1set2 中原始位的按位 异或。这些集合必须具有相同数量的位,否则结果将是未定义的。 (规范)

示例

    program example_xor
        use stdlib_bitsets
        type(bitset_large) :: set0, set1
        call set0 % init(166)
        call set1 % init(166)
        call xor( set0, set1 ) ! none none
        if ( none(set0) ) write(*,*) 'First test of XOR worked.'
        call set0 % not()
        call xor( set0, set1 ) ! all none
        if ( all(set0) ) write(*,*) 'Second test of XOR worked.'
        call set0 % not()
        call set1 % not()
        call xor( set0, set1 ) ! none all
        if ( all(set0) ) write(*,*) 'Third test of XOR worked.'
        call set0 % not()
        call xor( set0, set1 ) ! all all
        if ( none(set0) ) write(*,*) 'Fourth test of XOR worked.'
    end program example_xor

子程序

private elemental module subroutine xor_64(set1, set2)

参数

类型 意图可选 属性 名称
type(bitset_64), intent(inout) :: set1
type(bitset_64), intent(in) :: set2

private elemental module subroutine xor_large(set1, set2)

参数

类型 意图可选 属性 名称
type(bitset_large), intent(inout) :: set1
type(bitset_large), intent(in) :: set2