1
0
Fork 0
mirror of https://github.com/ton-blockchain/ton synced 2025-02-13 11:42:18 +00:00
ton/crypto/func/test/co3.fc
Starlight Duck 3c380e0a7b
Implement compilation and pre-computation of logical operations (#437)
* Implement compilation and pre-computation of logical operations (and, or, xor, not)

* Fix emulate_and optimization

* Fix variable flags in emulate_not

* Rename co2.fc to co3.fc

Co-authored-by: EmelyanenkoK <emelyanenko.kirill@gmail.com>
2022-09-20 14:19:42 +03:00

24 lines
703 B
Text

const val1 = 123456789;
const val2 = 987654321;
const val3 = 135792468;
const val4 = 246813579;
const prec_and = val1 & val2;
const prec_or = val1 | val2;
const prec_xor = val1 ^ val2;
const prec_logic = ((val1 & val2) | val3) ^ val4;
const prec_nand = val1 & (~ val2);
int get_and() { return prec_and; }
int get_or() { return prec_or; }
int get_xor() { return prec_xor; }
int get_logic() { return prec_logic; }
int get_nand() { return prec_nand; }
_ main() {
throw_unless(101, get_and() == 39471121);
throw_unless(102, get_or() == 1071639989);
throw_unless(103, get_xor() == 1032168868);
throw_unless(104, get_logic() == 82599134);
throw_unless(105, get_nand() == 83985668);
}