~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to mysys/my_bitmap.c

Merged in Jay's tree.

Show diffs side-by-side

added added

removed removed

Lines of Context:
287
287
  *map->last_word_ptr |= map->last_word_mask;
288
288
  for (; data_ptr <= end; data_ptr++)
289
289
    if (*data_ptr != 0xFFFFFFFF)
290
 
      return FALSE;
291
 
  return TRUE;
 
290
      return false;
 
291
  return true;
292
292
}
293
293
 
294
294
 
297
297
  my_bitmap_map *data_ptr= map->bitmap;
298
298
  my_bitmap_map *end;
299
299
  if (*map->last_word_ptr & ~map->last_word_mask)
300
 
    return FALSE;
 
300
    return false;
301
301
  end= map->last_word_ptr;
302
302
  for (; data_ptr < end; data_ptr++)
303
303
    if (*data_ptr)
304
 
      return FALSE;
305
 
  return TRUE;
 
304
      return false;
 
305
  return true;
306
306
}
307
307
 
308
 
/* Return TRUE if map1 is a subset of map2 */
 
308
/* Return true if map1 is a subset of map2 */
309
309
 
310
310
bool bitmap_is_subset(const MY_BITMAP *map1, const MY_BITMAP *map2)
311
311
{
765
765
    if (bitmap_is_set(map, test_bit))
766
766
      goto error2;
767
767
  }
768
 
  return FALSE;
 
768
  return false;
769
769
error1:
770
770
  printf("Error in set bit, bit %u, bitsize = %u", test_bit, bitsize);
771
 
  return TRUE;
 
771
  return true;
772
772
error2:
773
773
  printf("Error in clear bit, bit %u, bitsize = %u", test_bit, bitsize);
774
 
  return TRUE;
 
774
  return true;
775
775
}
776
776
 
777
777
bool test_flip_bit(MY_BITMAP *map, uint bitsize)
788
788
    if (bitmap_is_set(map, test_bit))
789
789
      goto error2;
790
790
  }
791
 
  return FALSE;
 
791
  return false;
792
792
error1:
793
793
  printf("Error in flip bit 1, bit %u, bitsize = %u", test_bit, bitsize);
794
 
  return TRUE;
 
794
  return true;
795
795
error2:
796
796
  printf("Error in flip bit 2, bit %u, bitsize = %u", test_bit, bitsize);
797
 
  return TRUE;
 
797
  return true;
798
798
}
799
799
 
800
800
bool test_operators(MY_BITMAP *map __attribute__((unused)),
801
801
                    uint bitsize __attribute__((unused)))
802
802
{
803
 
  return FALSE;
 
803
  return false;
804
804
}
805
805
 
806
806
bool test_get_all_bits(MY_BITMAP *map, uint bitsize)
824
824
    bitmap_clear_bit(map, i);
825
825
  if (!bitmap_is_clear_all(map))
826
826
    goto error4;
827
 
  return FALSE;
 
827
  return false;
828
828
error1:
829
829
  printf("Error in set_all, bitsize = %u", bitsize);
830
 
  return TRUE;
 
830
  return true;
831
831
error2:
832
832
  printf("Error in clear_all, bitsize = %u", bitsize);
833
 
  return TRUE;
 
833
  return true;
834
834
error3:
835
835
  printf("Error in bitmap_is_set_all, bitsize = %u", bitsize);
836
 
  return TRUE;
 
836
  return true;
837
837
error4:
838
838
  printf("Error in bitmap_is_clear_all, bitsize = %u", bitsize);
839
 
  return TRUE;
 
839
  return true;
840
840
error5:
841
841
  printf("Error in set_all through set_prefix, bitsize = %u", bitsize);
842
 
  return TRUE;
 
842
  return true;
843
843
error6:
844
844
  printf("Error in clear_all through set_prefix, bitsize = %u", bitsize);
845
 
  return TRUE;
 
845
  return true;
846
846
}
847
847
 
848
848
bool test_compare_operators(MY_BITMAP *map, uint bitsize)
853
853
  MY_BITMAP *map2= &map2_obj, *map3= &map3_obj;
854
854
  my_bitmap_map map2buf[1024];
855
855
  my_bitmap_map map3buf[1024];
856
 
  bitmap_init(&map2_obj, map2buf, bitsize, FALSE);
857
 
  bitmap_init(&map3_obj, map3buf, bitsize, FALSE);
 
856
  bitmap_init(&map2_obj, map2buf, bitsize, false);
 
857
  bitmap_init(&map3_obj, map3buf, bitsize, false);
858
858
  bitmap_clear_all(map2);
859
859
  bitmap_clear_all(map3);
860
860
  for (i=0; i < no_loops; i++)
928
928
    bitmap_clear_all(map);
929
929
    bitmap_clear_all(map3);
930
930
  }
931
 
  return FALSE;
 
931
  return false;
932
932
error1:
933
933
  printf("intersect error  bitsize=%u,size1=%u,size2=%u", bitsize,
934
934
  test_bit1,test_bit2);
935
 
  return TRUE;
 
935
  return true;
936
936
error2:
937
937
  printf("union error  bitsize=%u,size1=%u,size2=%u", bitsize,
938
938
  test_bit1,test_bit2);
939
 
  return TRUE;
 
939
  return true;
940
940
error3:
941
941
  printf("xor error  bitsize=%u,size1=%u,size2=%u", bitsize,
942
942
  test_bit1,test_bit2);
943
 
  return TRUE;
 
943
  return true;
944
944
error4:
945
945
  printf("subtract error  bitsize=%u,size1=%u,size2=%u", bitsize,
946
946
  test_bit1,test_bit2);
947
 
  return TRUE;
 
947
  return true;
948
948
error5:
949
949
  printf("invert error  bitsize=%u,size=%u", bitsize,
950
950
  test_bit1);
951
 
  return TRUE;
 
951
  return true;
952
952
}
953
953
 
954
954
bool test_count_bits_set(MY_BITMAP *map, uint bitsize)
968
968
    goto error1;
969
969
  if (bitmap_bits_set(map) != bit_count)
970
970
    goto error2;
971
 
  return FALSE;
 
971
  return false;
972
972
error1:
973
973
  printf("No bits set  bitsize = %u", bitsize);
974
 
  return TRUE;
 
974
  return true;
975
975
error2:
976
976
  printf("Wrong count of bits set, bitsize = %u", bitsize);
977
 
  return TRUE;
 
977
  return true;
978
978
}
979
979
 
980
980
bool test_get_first_bit(MY_BITMAP *map, uint bitsize)
993
993
      goto error2;
994
994
    bitmap_clear_all(map);
995
995
  }
996
 
  return FALSE;
 
996
  return false;
997
997
error1:
998
998
  printf("get_first_set error bitsize=%u,prefix_size=%u",bitsize,test_bit);
999
 
  return TRUE;
 
999
  return true;
1000
1000
error2:
1001
1001
  printf("get_first error bitsize= %u, prefix_size= %u",bitsize,test_bit);
1002
 
  return TRUE;
 
1002
  return true;
1003
1003
}
1004
1004
 
1005
1005
bool test_get_next_bit(MY_BITMAP *map, uint bitsize)
1015
1015
      goto error1;
1016
1016
    bitmap_clear_all(map);
1017
1017
  }
1018
 
  return FALSE;
 
1018
  return false;
1019
1019
error1:
1020
1020
  printf("get_next error  bitsize= %u, prefix_size= %u", bitsize,test_bit);
1021
 
  return TRUE;
 
1021
  return true;
1022
1022
}
1023
1023
 
1024
1024
bool test_prefix(MY_BITMAP *map, uint bitsize)
1043
1043
      goto error3;
1044
1044
    bitmap_clear_all(map);
1045
1045
  }
1046
 
  return FALSE;
 
1046
  return false;
1047
1047
error1:
1048
1048
  printf("prefix1 error  bitsize = %u, prefix_size = %u", bitsize,test_bit);
1049
 
  return TRUE;
 
1049
  return true;
1050
1050
error2:
1051
1051
  printf("prefix2 error  bitsize = %u, prefix_size = %u", bitsize,test_bit);
1052
 
  return TRUE;
 
1052
  return true;
1053
1053
error3:
1054
1054
  printf("prefix3 error  bitsize = %u, prefix_size = %u", bitsize,test_bit);
1055
 
  return TRUE;
 
1055
  return true;
1056
1056
}
1057
1057
 
1058
1058
 
1060
1060
{
1061
1061
  MY_BITMAP map;
1062
1062
  my_bitmap_map buf[1024];
1063
 
  if (bitmap_init(&map, buf, bitsize, FALSE))
 
1063
  if (bitmap_init(&map, buf, bitsize, false))
1064
1064
  {
1065
1065
    printf("init error for bitsize %d", bitsize);
1066
1066
    goto error;
1090
1090
    goto error;
1091
1091
  if (test_prefix(&map,bitsize))
1092
1092
    goto error;
1093
 
  return FALSE;
 
1093
  return false;
1094
1094
error:
1095
1095
  printf("\n");
1096
 
  return TRUE;
 
1096
  return true;
1097
1097
}
1098
1098
 
1099
1099
int main()