00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef MTL_PREDEFINED_MASKS_INCLUDE
00013 #define MTL_PREDEFINED_MASKS_INCLUDE
00014
00015 #include <boost/numeric/mtl/recursion/bit_masking.hpp>
00016
00017 namespace mtl { namespace recursion {
00018
00019
00020 const unsigned long morton_mask= generate_mask<true, 0, row_major, 0>::value,
00021 morton_z_mask= generate_mask<false, 0, row_major, 0>::value,
00022 doppled_2_row_mask= generate_mask<true, 1, row_major, 0>::value,
00023 doppled_2_col_mask= generate_mask<true, 1, col_major, 0>::value,
00024 doppled_4_row_mask= generate_mask<true, 2, row_major, 0>::value,
00025 doppled_4_col_mask= generate_mask<true, 2, col_major, 0>::value,
00026 doppled_16_row_mask= generate_mask<true, 4, row_major, 0>::value,
00027 doppled_16_col_mask= generate_mask<true, 4, col_major, 0>::value,
00028 doppled_z_16_row_mask= generate_mask<false, 4, row_major, 0>::value,
00029 doppled_z_16_col_mask= generate_mask<false, 4, col_major, 0>::value,
00030 doppled_32_row_mask= generate_mask<true, 5, row_major, 0>::value,
00031 doppled_32_col_mask= generate_mask<true, 5, col_major, 0>::value,
00032 doppled_z_32_row_mask= generate_mask<false, 5, row_major, 0>::value,
00033 doppled_z_32_col_mask= generate_mask<false, 5, col_major, 0>::value,
00034 doppled_64_row_mask= generate_mask<true, 6, row_major, 0>::value,
00035 doppled_64_col_mask= generate_mask<true, 6, col_major, 0>::value,
00036 doppled_z_64_row_mask= generate_mask<false, 6, row_major, 0>::value,
00037 doppled_z_64_col_mask= generate_mask<false, 6, col_major, 0>::value,
00038 doppled_128_row_mask= generate_mask<true, 7, row_major, 0>::value,
00039 doppled_128_col_mask= generate_mask<true, 7, col_major, 0>::value,
00040 doppled_z_128_row_mask= generate_mask<false, 7, row_major, 0>::value,
00041 doppled_z_128_col_mask= generate_mask<false, 7, col_major, 0>::value,
00042 shark_32_row_mask= generate_mask<true, 5, row_major, 1>::value,
00043 shark_32_col_mask= generate_mask<true, 5, col_major, 1>::value,
00044 shark_z_32_row_mask= generate_mask<false, 5, row_major, 1>::value,
00045 shark_z_32_col_mask= generate_mask<false, 5, col_major, 1>::value,
00046 shark_64_row_mask= generate_mask<true, 6, row_major, 1>::value,
00047 shark_64_col_mask= generate_mask<true, 6, col_major, 1>::value,
00048 shark_z_64_row_mask= generate_mask<false, 6, row_major, 1>::value,
00049 shark_z_64_col_mask= generate_mask<false, 6, col_major, 1>::value;
00050
00051
00052 }
00053
00054
00055
00056 using recursion::morton_mask;
00057 using recursion::morton_z_mask;
00058 using recursion::doppled_2_row_mask;
00059 using recursion::doppled_2_col_mask;
00060 using recursion::doppled_4_row_mask;
00061 using recursion::doppled_4_col_mask;
00062 using recursion::doppled_16_row_mask;
00063 using recursion::doppled_16_col_mask;
00064 using recursion::doppled_z_16_row_mask;
00065 using recursion::doppled_z_16_col_mask;
00066 using recursion::doppled_32_row_mask;
00067 using recursion::doppled_32_col_mask;
00068 using recursion::doppled_z_32_row_mask;
00069 using recursion::doppled_z_32_col_mask;
00070 using recursion::doppled_64_row_mask;
00071 using recursion::doppled_64_col_mask;
00072 using recursion::doppled_z_64_row_mask;
00073 using recursion::doppled_z_64_col_mask;
00074 using recursion::doppled_128_row_mask;
00075 using recursion::doppled_128_col_mask;
00076 using recursion::doppled_z_128_row_mask;
00077 using recursion::doppled_z_128_col_mask;
00078 using recursion::shark_32_row_mask;
00079 using recursion::shark_32_col_mask;
00080 using recursion::shark_z_32_row_mask;
00081 using recursion::shark_z_32_col_mask;
00082 using recursion::shark_64_row_mask;
00083 using recursion::shark_64_col_mask;
00084 using recursion::shark_z_64_row_mask;
00085 using recursion::shark_z_64_col_mask;
00086
00087 }
00088
00089 #endif // MTL_PREDEFINED_MASKS_INCLUDE