blob: 918117520140ec69b4928e0b72a993675e3dfe2a [file] [log] [blame]
/*
* Some lookup tables of powers of 2, used for describing the number of
* hosts or networks in a given group.
* XXX This isn't really well suited for localization...
*/
#ifndef __LIBCIDR__POW2_P_H
#define __LIBCIDR__POW2_P_H
/* Powers of two */
static const char *__cidr_pow2[] = {
"1",
"2",
"4",
"8",
"16",
"32",
"64",
"128",
"256",
"512",
"1,024",
"2,048",
"4,096",
"8,192",
"16,384",
"32,768",
"65,536",
"131,072",
"262,144",
"524,288",
"1,048,576",
"2,097,152",
"4,194,304",
"8,388,608",
"16,777,216",
"33,554,432",
"67,108,864",
"134,217,728",
"268,435,456",
"536,870,912",
"1,073,741,824",
"2,147,483,648",
"4,294,967,296",
"8,589,934,592",
"17,179,869,184",
"34,359,738,368",
"68,719,476,736",
"137,438,953,472",
"274,877,906,944",
"549,755,813,888",
"1,099,511,627,776",
"2,199,023,255,552",
"4,398,046,511,104",
"8,796,093,022,208",
"17,592,186,044,416",
"35,184,372,088,832",
"70,368,744,177,664",
"140,737,488,355,328",
"281,474,976,710,656",
"562,949,953,421,312",
"1,125,899,906,842,624",
"2,251,799,813,685,248",
"4,503,599,627,370,496",
"9,007,199,254,740,992",
"18,014,398,509,481,984",
"36,028,797,018,963,968",
"72,057,594,037,927,936",
"144,115,188,075,855,872",
"288,230,376,151,711,744",
"576,460,752,303,423,488",
"1,152,921,504,606,846,976",
"2,305,843,009,213,693,952",
"4,611,686,018,427,387,904",
"9,223,372,036,854,775,808",
"18,446,744,073,709,551,616",
"36,893,488,147,419,103,232",
"73,786,976,294,838,206,464",
"147,573,952,589,676,412,928",
"295,147,905,179,352,825,856",
"590,295,810,358,705,651,712",
"1,180,591,620,717,411,303,424",
"2,361,183,241,434,822,606,848",
"4,722,366,482,869,645,213,696",
"9,444,732,965,739,290,427,392",
"18,889,465,931,478,580,854,784",
"37,778,931,862,957,161,709,568",
"75,557,863,725,914,323,419,136",
"151,115,727,451,828,646,838,272",
"302,231,454,903,657,293,676,544",
"604,462,909,807,314,587,353,088",
"1,208,925,819,614,629,174,706,176",
"2,417,851,639,229,258,349,412,352",
"4,835,703,278,458,516,698,824,704",
"9,671,406,556,917,033,397,649,408",
"19,342,813,113,834,066,795,298,816",
"38,685,626,227,668,133,590,597,632",
"77,371,252,455,336,267,181,195,264",
"154,742,504,910,672,534,362,390,528",
"309,485,009,821,345,068,724,781,056",
"618,970,019,642,690,137,449,562,112",
"1,237,940,039,285,380,274,899,124,224",
"2,475,880,078,570,760,549,798,248,448",
"4,951,760,157,141,521,099,596,496,896",
"9,903,520,314,283,042,199,192,993,792",
"19,807,040,628,566,084,398,385,987,584",
"39,614,081,257,132,168,796,771,975,168",
"79,228,162,514,264,337,593,543,950,336",
"158,456,325,028,528,675,187,087,900,672",
"316,912,650,057,057,350,374,175,801,344",
"633,825,300,114,114,700,748,351,602,688",
"1,267,650,600,228,229,401,496,703,205,376",
"2,535,301,200,456,458,802,993,406,410,752",
"5,070,602,400,912,917,605,986,812,821,504",
"10,141,204,801,825,835,211,973,625,643,008",
"20,282,409,603,651,670,423,947,251,286,016",
"40,564,819,207,303,340,847,894,502,572,032",
"81,129,638,414,606,681,695,789,005,144,064",
"162,259,276,829,213,363,391,578,010,288,128",
"324,518,553,658,426,726,783,156,020,576,256",
"649,037,107,316,853,453,566,312,041,152,512",
"1,298,074,214,633,706,907,132,624,082,305,024",
"2,596,148,429,267,413,814,265,248,164,610,048",
"5,192,296,858,534,827,628,530,496,329,220,096",
"10,384,593,717,069,655,257,060,992,658,440,192",
"20,769,187,434,139,310,514,121,985,316,880,384",
"41,538,374,868,278,621,028,243,970,633,760,768",
"83,076,749,736,557,242,056,487,941,267,521,536",
"166,153,499,473,114,484,112,975,882,535,043,072",
"332,306,998,946,228,968,225,951,765,070,086,144",
"664,613,997,892,457,936,451,903,530,140,172,288",
"1,329,227,995,784,915,872,903,807,060,280,344,576",
"2,658,455,991,569,831,745,807,614,120,560,689,152",
"5,316,911,983,139,663,491,615,228,241,121,378,304",
"10,633,823,966,279,326,983,230,456,482,242,756,608",
"21,267,647,932,558,653,966,460,912,964,485,513,216",
"42,535,295,865,117,307,932,921,825,928,971,026,432",
"85,070,591,730,234,615,865,843,651,857,942,052,864",
"170,141,183,460,469,231,731,687,303,715,884,105,728",
"340,282,366,920,938,463,463,374,607,431,768,211,456"
};
/* Powers of 2 minus two; hosts in a subnet with this many host bit */
static const char *__cidr_pow2m2[] = {
"1", /* Special */
"2", /* Special */
"2",
"6",
"14",
"30",
"62",
"126",
"254",
"510",
"1,022",
"2,046",
"4,094",
"8,190",
"16,382",
"32,766",
"65,534",
"131,070",
"262,142",
"524,286",
"1,048,574",
"2,097,150",
"4,194,302",
"8,388,606",
"16,777,214",
"33,554,430",
"67,108,862",
"134,217,726",
"268,435,454",
"536,870,910",
"1,073,741,822",
"2,147,483,646",
"4,294,967,294",
"8,589,934,590",
"17,179,869,182",
"34,359,738,366",
"68,719,476,734",
"137,438,953,470",
"274,877,906,942",
"549,755,813,886",
"1,099,511,627,774",
"2,199,023,255,550",
"4,398,046,511,102",
"8,796,093,022,206",
"17,592,186,044,414",
"35,184,372,088,830",
"70,368,744,177,662",
"140,737,488,355,326",
"281,474,976,710,654",
"562,949,953,421,310",
"1,125,899,906,842,622",
"2,251,799,813,685,246",
"4,503,599,627,370,494",
"9,007,199,254,740,990",
"18,014,398,509,481,982",
"36,028,797,018,963,966",
"72,057,594,037,927,934",
"144,115,188,075,855,870",
"288,230,376,151,711,742",
"576,460,752,303,423,486",
"1,152,921,504,606,846,974",
"2,305,843,009,213,693,950",
"4,611,686,018,427,387,902",
"9,223,372,036,854,775,806",
"18,446,744,073,709,551,614",
"36,893,488,147,419,103,230",
"73,786,976,294,838,206,462",
"147,573,952,589,676,412,926",
"295,147,905,179,352,825,854",
"590,295,810,358,705,651,710",
"1,180,591,620,717,411,303,422",
"2,361,183,241,434,822,606,846",
"4,722,366,482,869,645,213,694",
"9,444,732,965,739,290,427,390",
"18,889,465,931,478,580,854,782",
"37,778,931,862,957,161,709,566",
"75,557,863,725,914,323,419,134",
"151,115,727,451,828,646,838,270",
"302,231,454,903,657,293,676,542",
"604,462,909,807,314,587,353,086",
"1,208,925,819,614,629,174,706,174",
"2,417,851,639,229,258,349,412,350",
"4,835,703,278,458,516,698,824,702",
"9,671,406,556,917,033,397,649,406",
"19,342,813,113,834,066,795,298,814",
"38,685,626,227,668,133,590,597,630",
"77,371,252,455,336,267,181,195,262",
"154,742,504,910,672,534,362,390,526",
"309,485,009,821,345,068,724,781,054",
"618,970,019,642,690,137,449,562,110",
"1,237,940,039,285,380,274,899,124,222",
"2,475,880,078,570,760,549,798,248,446",
"4,951,760,157,141,521,099,596,496,894",
"9,903,520,314,283,042,199,192,993,790",
"19,807,040,628,566,084,398,385,987,582",
"39,614,081,257,132,168,796,771,975,166",
"79,228,162,514,264,337,593,543,950,334",
"158,456,325,028,528,675,187,087,900,670",
"316,912,650,057,057,350,374,175,801,342",
"633,825,300,114,114,700,748,351,602,686",
"1,267,650,600,228,229,401,496,703,205,374",
"2,535,301,200,456,458,802,993,406,410,750",
"5,070,602,400,912,917,605,986,812,821,502",
"10,141,204,801,825,835,211,973,625,643,006",
"20,282,409,603,651,670,423,947,251,286,014",
"40,564,819,207,303,340,847,894,502,572,030",
"81,129,638,414,606,681,695,789,005,144,062",
"162,259,276,829,213,363,391,578,010,288,126",
"324,518,553,658,426,726,783,156,020,576,254",
"649,037,107,316,853,453,566,312,041,152,510",
"1,298,074,214,633,706,907,132,624,082,305,022",
"2,596,148,429,267,413,814,265,248,164,610,046",
"5,192,296,858,534,827,628,530,496,329,220,094",
"10,384,593,717,069,655,257,060,992,658,440,190",
"20,769,187,434,139,310,514,121,985,316,880,382",
"41,538,374,868,278,621,028,243,970,633,760,766",
"83,076,749,736,557,242,056,487,941,267,521,534",
"166,153,499,473,114,484,112,975,882,535,043,070",
"332,306,998,946,228,968,225,951,765,070,086,142",
"664,613,997,892,457,936,451,903,530,140,172,286",
"1,329,227,995,784,915,872,903,807,060,280,344,574",
"2,658,455,991,569,831,745,807,614,120,560,689,150",
"5,316,911,983,139,663,491,615,228,241,121,378,302",
"10,633,823,966,279,326,983,230,456,482,242,756,606",
"21,267,647,932,558,653,966,460,912,964,485,513,214",
"42,535,295,865,117,307,932,921,825,928,971,026,430",
"85,070,591,730,234,615,865,843,651,857,942,052,862",
"170,141,183,460,469,231,731,687,303,715,884,105,726",
"340,282,366,920,938,463,463,374,607,431,768,211,454"
};
#endif /* __LIBCIDR__POW2_P_H */