### SUBSTRAIT_SCALAR_TEST: v1.0
### SUBSTRAIT_INCLUDE: extension:io.substrait:functions_arithmetic_decimal
# basic: Basic examples without any special cases
bitwise_and(0::dec<1, 0>, 1::dec<1, 0>) = 0::dec<1, 0>
bitwise_and(127::dec<3, 0>, 127::dec<3, 0>) = 127::dec<3, 0>
bitwise_and(-127::dec<3, 0>, -10::dec<2, 0>) = -128::dec<3, 0>
bitwise_and(31766::dec<5, 0>, 900::dec<3, 0>) = 4::dec<5, 0>
bitwise_and(-31766::dec<5, 0>, 900::dec<3, 0>) = 896::dec<5, 0>
bitwise_and(2147483647::dec<10, 0>, 1234567::dec<7, 0>) = 1234567::dec<10, 0>
bitwise_and(-2147483647::dec<10, 0>, 1234567::dec<7, 0>) = 1::dec<10, 0>
bitwise_and(9223372036854775807::dec<19, 0>, 127::dec<3, 0>) = 127::dec<19, 0>
bitwise_and(-9223372036854775807::dec<19, 0>, 127::dec<3, 0>) = 1::dec<19, 0>
# max_values: test with max values
bitwise_and(99999999999999999999999999999999999999::dec<38, 0>, 99999999999999999999999999999999999999::dec<38, 0>) = 99999999999999999999999999999999999999::dec<38, 0>
bitwise_and(99999999999999999999999999999999999999::dec<38, 0>, 00000000000000000000000000000000000000::dec<38, 0>) = 0::dec<38, 0>
bitwise_and(-99999999999999999999999999999999999999::dec<38, 0>, -99999999999999999999999999999999999999::dec<38, 0>) = -99999999999999999999999999999999999999::dec<38, 0>
# null_values: test with null values
bitwise_and(null::dec?<1, 0>, 127::dec<3, 0>) = null::dec?<3, 0>
bitwise_and(null::dec?<1, 0>, null::dec?<1, 0>) = null::dec?<1, 0>