/bitfield/trunk

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/bitfield/trunk

« back to all changes in this revision

Viewing changes to src/main.vala

  • Committer: Gustav Hartvigsson
  • Date: 2020-11-04 16:06:51 UTC
  • Revision ID: gustav.hartvigsson@gmail.com-20201104160651-tmrxis4vm27s4ion
* Added new project location.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
enum TestFields {
 
2
  A,
 
3
  B,
 
4
  C,
 
5
}
 
6
 
 
7
int main (string[] args) {
 
8
  
 
9
  BitField.init ();
 
10
  
 
11
  BitField.FieldInfo[] info = {
 
12
    BitField.FieldInfo (TestFields.A, 0, 5, 6),
 
13
    BitField.FieldInfo (TestFields.B, 6, 7, 2),
 
14
    BitField.FieldInfo (TestFields.C, 8, 15, 8),
 
15
  };
 
16
  
 
17
  BitField.add_type ("foo", info);
 
18
  
 
19
  uint16 t1 = 0;
 
20
  BitField.set (ref t1, "foo", TestFields.C, 137);
 
21
  print ("%i\n", t1);
 
22
 
 
23
  BitField.set (ref t1, "foo", TestFields.B, 3);
 
24
  print ("%i\n", t1);
 
25
 
 
26
  BitField.set (ref t1, "foo", TestFields.A, 7);
 
27
  print ("%i\n", t1);
 
28
 
 
29
  uint16 t2 = BitField.get (t1 ,"foo", TestFields.C);
 
30
  print ("C: %i\n", t2);
 
31
  t2 = BitField.get (t1 ,"foo", TestFields.B);
 
32
  print ("B: %i\n", t2);
 
33
  t2 = BitField.get (t1 ,"foo", TestFields.A);
 
34
  print ("A: %i\n", t2);
 
35
 
 
36
  var my_var1 = BitField.FieldInfo.static_overlap (info[0], info[1]);
 
37
  
 
38
  var my_var2 = BitField.FieldInfo.static_compare (info[0], info[1]);
 
39
 
 
40
  stdout.printf ("%s\n", my_var1.to_string ());
 
41
  stdout.printf ("%s\n", my_var2.to_string ());
 
42
  
 
43
  BitField.deinit ();
 
44
  return 0;
 
45
}