blob: e9eb9cceef95bff282fff2a0198e19cb5077b927 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
typedef unsigned int uint;
typedef signed int sint;
uint fact_and_shl(uint a, uint b, uint s)
{
return ((a << s) & (b << s)) == ((a & b) << s);
}
uint fact_and_lsr(uint a, uint b, uint s)
{
return ((a >> s) & (b >> s)) == ((a & b) >> s);
}
sint fact_and_asr(sint a, sint b, sint s)
{
return ((a >> s) & (b >> s)) == ((a & b) >> s);
}
/*
* check-name: fact-and-shift
* check-command: test-linearize -Wno-decl $file
*
* check-output-ignore
* check-output-returns: 1
*/
|