Numworks Epsilon  1.4.1
Graphing Calculator Operating System
aeabi.c
Go to the documentation of this file.
1 #include <quiz.h>
2 #include <stdint.h>
3 #include <assert.h>
4 
5 long long __aeabi_llsl(long long value, int shift);
6 long long __aeabi_llsr(long long value, int shift);
7 
8 QUIZ_CASE(liba_llsl) {
9  assert(__aeabi_llsl((uint64_t)1, 1) == (uint64_t)0x2);
10  assert(__aeabi_llsl((uint64_t)1, 2) == (uint64_t)0x4);
11  assert(__aeabi_llsl((uint64_t)1, 10) == (uint64_t)0x400);
12  assert(__aeabi_llsl((uint64_t)1, 20) == (uint64_t)0x100000);
13  assert(__aeabi_llsl((uint64_t)1, 30) == (uint64_t)0x40000000);
14  assert(__aeabi_llsl((uint64_t)1, 31) == (uint64_t)0x80000000);
15  assert(__aeabi_llsl((uint64_t)1, 32) == (uint64_t)0x100000000);
16  assert(__aeabi_llsl((uint64_t)1, 33) == (uint64_t)0x200000000);
17  assert(__aeabi_llsl((uint64_t)1, 40) == (uint64_t)0x10000000000);
18  assert(__aeabi_llsl((uint64_t)1, 50) == (uint64_t)0x4000000000000);
19  assert(__aeabi_llsl((uint64_t)1, 60) == (uint64_t)0x1000000000000000);
20  assert(__aeabi_llsl((uint64_t)1, 61) == (uint64_t)0x2000000000000000);
21  assert(__aeabi_llsl((uint64_t)1, 62) == (uint64_t)0x4000000000000000);
22  assert(__aeabi_llsl((uint64_t)1, 63) == (uint64_t)0x8000000000000000);
23  assert(__aeabi_llsl((uint64_t)1, 64) == (uint64_t)0);
24 }
25 
26 QUIZ_CASE(liba_llsr) {
27  assert(__aeabi_llsr((uint64_t)0x8000000000000000, 1) == (uint64_t)0x4000000000000000);
28  assert(__aeabi_llsr((uint64_t)0x8000000000000000, 2) == (uint64_t)0x2000000000000000);
29  assert(__aeabi_llsr((uint64_t)0x8000000000000000, 10) == (uint64_t)0x20000000000000);
30  assert(__aeabi_llsr((uint64_t)0x8000000000000000, 20) == (uint64_t)0x80000000000);
31  assert(__aeabi_llsr((uint64_t)0x8000000000000000, 30) == (uint64_t)0x200000000);
32  assert(__aeabi_llsr((uint64_t)0x8000000000000000, 31) == (uint64_t)0x100000000);
33  assert(__aeabi_llsr((uint64_t)0x8000000000000000, 32) == (uint64_t)0x80000000);
34  assert(__aeabi_llsr((uint64_t)0x8000000000000000, 33) == (uint64_t)0x40000000);
35  assert(__aeabi_llsr((uint64_t)0x8000000000000000, 40) == (uint64_t)0x800000);
36  assert(__aeabi_llsr((uint64_t)0x8000000000000000, 50) == (uint64_t)0x2000);
37  assert(__aeabi_llsr((uint64_t)0x8000000000000000, 60) == (uint64_t)0x8);
38  assert(__aeabi_llsr((uint64_t)0x8000000000000000, 61) == (uint64_t)0x4);
39  assert(__aeabi_llsr((uint64_t)0x8000000000000000, 62) == (uint64_t)0x2);
40  assert(__aeabi_llsr((uint64_t)0x8000000000000000, 63) == (uint64_t)0x1);
41  assert(__aeabi_llsr((uint64_t)0x8000000000000000, 64) == (uint64_t)0);
42 }
QUIZ_CASE(liba_llsl)
Definition: aeabi.c:8
#define assert(e)
Definition: assert.h:9
long long __aeabi_llsl(long long value, int shift)
Definition: llsl.c:6
unsigned long long uint64_t
Definition: stdint.h:7
long long __aeabi_llsr(long long value, int shift)
Definition: llsr.c:6