~ubuntu-branches/ubuntu/maverick/avr-libc/maverick

« back to all changes in this revision

Viewing changes to tests/simulate/string/ffsll-1.c

  • Committer: Bazaar Package Importer
  • Author(s): Hakan Ardo
  • Date: 2009-10-31 11:52:10 UTC
  • mfrom: (1.2.2 upstream)
  • mto: This revision was merged to the branch mainline in revision 10.
  • Revision ID: james.westby@ubuntu.com-20091031115210-crjd42sn6ezrj52c
* New upstream relese (closes: #544030)
* Added lintian overrides (closes: #553265)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* $Id: ffsll-1.c,v 1.1 2007/02/06 12:29:21 dmix Exp $  */
2
 
 
3
 
#ifndef __AVR__
4
 
# define _GNU_SOURCE
5
 
#endif
6
 
#include <stdlib.h>
7
 
#include <string.h>
8
 
 
9
 
int main ()
10
 
{
11
 
    static struct t_s {
12
 
        long long val;
13
 
        unsigned char pattern;
14
 
    } t[] = {
15
 
        { 0LL, 0 },
16
 
        { 1LL, 1 },
17
 
        { 0xffffffffffffffffLL, 1 },
18
 
        { 0x0000000000000002LL, 2 },
19
 
        { 0x8000000000000002LL, 2 },
20
 
        { 0x7ffffffffffffff2LL, 2 },
21
 
        { 0xfffffffffffffff2LL, 2 },
22
 
        { 0x0000000000000040LL, 7 },
23
 
        { 0xffffffffffffff40LL, 7 },
24
 
        { 0x0000000000000080LL, 8 },
25
 
        { 0xffffffffffffff80LL, 8 },
26
 
 
27
 
        { 0x0000000000000100LL, 9 },
28
 
        { 0xffffffffffffff00LL, 9 },
29
 
        { 0x0000000000008000LL, 16 },
30
 
        { 0xffffffffffff8000LL, 16 },
31
 
        
32
 
        { 0x0000000000010000LL, 17 },
33
 
        { 0xffffffffffff0000LL, 17 },
34
 
        { 0x0000000000800000LL, 24 },
35
 
        { 0xffffffffff800000LL, 24 },
36
 
        
37
 
        { 0x0000000001000000LL, 25 },
38
 
        { 0xffffffffff000000LL, 25 },
39
 
        { 0x0000000080000000LL, 32 },
40
 
        { 0xffffffff80000000LL, 32 },
41
 
        
42
 
        { 0x0000000100000000LL, 33 },
43
 
        { 0xffffffff00000000LL, 33 },
44
 
        { 0x0000008000000000LL, 40 },
45
 
        { 0xffffff8000000000LL, 40 },
46
 
        
47
 
        { 0x0000010000000000LL, 41 },
48
 
        { 0xffffff0000000000LL, 41 },
49
 
        { 0x0000800000000000LL, 48 },
50
 
        { 0xffff800000000000LL, 48 },
51
 
        
52
 
        { 0x0001000000000000LL, 49 },
53
 
        { 0xffff000000000000LL, 49 },
54
 
        { 0x0080000000000000LL, 56 },
55
 
        { 0xff80000000000000LL, 56 },
56
 
 
57
 
        { 0x0100000000000000LL, 57 },
58
 
        { 0xff00000000000000LL, 57 },
59
 
        { 0x8000000000000000LL, 64 },
60
 
    };
61
 
    int i;
62
 
    
63
 
    for (i = 0; i != (int)(sizeof(t)/sizeof(t[0])); i++) {
64
 
        if (ffsll (t[i].val) != t[i].pattern)
65
 
            exit (1 + i);
66
 
    }
67
 
    return 0;
68
 
}