BitXor

BitXor( value_1, [ value_2, ... ] )
BitXor( value_1, [ value_2, ... ] )
BitXor( value_1, [ value_2, ... ] )
BitXor( value_1, [ value_2, ... ] )
bitxor( value_1, [ value_2, ... ] )
BitXor( value_1, [ value_2, ... ] )

Description

The BitXor function returns the bit in the result if the bit exists in only one argument. The arguments must be numbers, and the fractional portion is truncated before the XOR operation is applied. The result is the bitwise exclusive OR of all of the arguments.

Parameters

Argument Type Definition and Requirements

value

List of Numbers

One or more numbers to bitwise exclusive OR.

Returns

A number which is the bitwise exclusive OR of all supplied values.

Examples

The following query executes an array of independent bitwise exclusive OR operations and returns results in the result array. The result array position matches the position in the execution array.

Value result = await client.Query(
    Arr(
        BitXor(7),
        BitXor(0, 0),
        BitXor(1, 0),
        BitXor(1, 1),
        BitXor(6, 3)
    )
);

Console.WriteLine(result);
Arr(LongV(7), LongV(0), LongV(1), LongV(0), LongV(5))
result, err := client.Query(
	f.Arr{
		f.BitXor(7),
		f.BitXor(0, 0),
		f.BitXor(1, 0),
		f.BitXor(1, 1),
		f.BitXor(6, 3),
	})

if err != nil {
	fmt.Fprintln(os.Stderr, err)
} else {
	fmt.Println(result)
}
[7 0 1 0 5]
System.out.println(
    client.query(
        Arr(
            BitXor(Value(7)),
            BitXor(Value(0), Value(0)),
            BitXor(Value(1), Value(0)),
            BitXor(Value(1), Value(1)),
            BitXor(Value(6), Value(3))
        )
    ).get());
[7, 0, 1, 0, 5]
client.query(
  [
    q.BitXor(7),
    q.BitXor(0, 0),
    q.BitXor(1, 0),
    q.BitXor(1, 1),
    q.BitXor(6, 3),
  ]
)
.then((ret) => console.log(ret))
.catch((err) => console.error('Error: %s', err))
[ 7, 0, 1, 0, 5 ]
result = client.query(
  [
    q.bitxor(7),
    q.bitxor(0, 0),
    q.bitxor(1, 0),
    q.bitxor(1, 1),
    q.bitxor(6, 3),
  ]
)
print(result)
[7, 0, 1, 0, 5]
println(Await.result(
    client.query(
        Arr(
            BitXor(7),
            BitXor(0, 0),
            BitXor(1, 0),
            BitXor(1, 1),
            BitXor(6, 3)
        )
    ),
    5.seconds
))
[7, 0, 1, 0, 5]

Was this article helpful?

We're sorry to hear that.
Tell us how we can improve!
Visit Fauna's Discourse forums or email docs@fauna.com

Thank you for your feedback!