Skip to content

Commit 81f383a

Browse files
committed
Reverted change (moved to branch). Back to 1.40.
This reverts commit 67f1637.
1 parent 67f1637 commit 81f383a

File tree

3 files changed

+77
-135
lines changed

3 files changed

+77
-135
lines changed

README.md

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Mapcode Library for C/C++
22

3-
Copyright (C) 2014-2015 Stichting Mapcode Foundation (http://www.mapcode.com)
3+
Copyright (C) 2014 Stichting Mapcode Foundation (http://www.mapcode.com)
44

55
----
66

@@ -45,10 +45,6 @@ decode Mapcodes.
4545

4646
## Release Notes
4747

48-
* 1.41
49-
50-
Added the India state Telangana (IN-TG), until 2014 a region in Adhra Pradesh.
51-
5248
* 1.40
5349

5450
Added extraDigits parameter to allow high-precision mapcodes to be generated.

mapcode_library_c.doc

-2.5 KB
Binary file not shown.

mapcodelib/basics.h

Lines changed: 76 additions & 130 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
#define UWORD unsigned short int // 2-byte unsigned integer
1818

19-
#define mapcode_cversion "1.41"
19+
#define mapcode_cversion "1.40"
2020
#define MAXWIDE 10
2121
#define BASEX 31
2222
#define MAXFITLONG 6
@@ -25,7 +25,7 @@
2525

2626
#define ALIASES "2UK=2UT,2CG=2CT,1GU=GUM,1UM=UMI,1VI=VIR,1PR=PRI,1AS=ASM,1MP=MNP,4JB=JBT,4QL=QLD,4TS=TAS,4CX=CXR,4CC=CCK,4NF=NFK,4HM=HMD,4NI=NFK,COL=5CL,5ME=5MX,MEX=5MX,5TM=TAM,5AG=AGU,5BC=BCN,5BS=BCS,5CM=CAM,5CS=CHP,5CH=CHH,5CO=COA,5DF=DIF,5DG=DUR,5GT=GUA,5GR=GRO,5HG=HID,5JA=JAL,5MI=MIC,5MO=MOR,5NA=NAY,5NL=NLE,5OA=OAX,5PB=PUE,5QE=QUE,5QR=ROO,5SL=SLP,5SI=SIN,5SO=SON,5TB=TAB,5TL=TLA,5VE=VER,5YU=YUC,5ZA=ZAC,811=8BJ,812=8TJ,813=8HE,814=8SX,815=8NM,821=8LN,822=8JL,823=8HL,831=8SH,832=8JS,833=8ZJ,834=8AH,835=8FJ,836=8JX,837=8SD,841=8HA,842=8HB,843=8HN,844=8GD,845=8GX,846=8HI,850=8CQ,851=8SC,852=8GZ,853=8YN,854=8XZ,861=8SN,862=8GS,863=8QH,864=8NX,865=8XJ,871=TWN,891=HKG,892=MAC,8TW=TWN,8HK=HKG,8MC=MAC,BEL=7BE,KIR=7KI,PRI=7PO,CHE=7CH,KHM=7KM,PER=7PM,TAM=7TT,0US=USA,0AU=AUS,0RU=RUS,0CN=CHN,EAZ=TZA,SKM=2SK,TAA=SHN,ASC=SHN,DGA=IOT,WAK=MHL,JTN=UMI,MID=1HI,2OD=2OR,"
2727

28-
#define MAX_CCODE 542 // total number of areas (i.e. recognised iso codes) in this database
28+
#define MAX_CCODE 541 // total number of areas (i.e. recognised iso codes) in this database
2929
static const char *entity_iso = ""
3030
"VAT,MCO,GIB,TKL,CCK,BLM,NRU,TUV,MAC,SXM,"
3131
"MAF,NFK,PCN,BVT,BMU,IOT,SMR,GGY,AIA,MSR,"
@@ -57,58 +57,58 @@ static const char *entity_iso = ""
5757
"ARG,2DD,2DN,2CH,2AN,2LD,2DL,2ML,2NL,2MN,"
5858
"2TR,2MZ,2SK,2PB,2HR,2AR,2AS,2BR,2UT,2GA,"
5959
"2KL,2TN,2HP,2JK,2CT,2JH,2KA,2RJ,2OR,2GJ,"
60-
"2WB,2MP,2TG,2AP,2MH,2UP,2PY,NSW,ACT,JBT,"
61-
"4NT,4SA,TAS,VIC,4WA,QLD,6DF,6SE,6AL,6RJ,"
62-
"6ES,6RN,6PB,6SC,6PE,6AP,6CE,6AC,6PR,6RR,"
63-
"6RO,6SP,6PI,6TO,6RS,6MA,6GO,6MS,6BA,6MG,"
64-
"6MT,6PA,6AM,1DC,1RI,1DE,1CT,1NJ,1NH,1VT,"
65-
"1MA,1HI,1MD,1WV,1SC,1ME,1IN,1KY,1TN,1VA,"
66-
"1OH,1PA,1MS,1LA,1AL,1AR,1NC,1NY,1IA,1IL,"
67-
"1GA,1WI,1FL,1MO,1OK,1ND,1WA,1SD,1NE,1KS,"
68-
"1ID,1UT,1MN,1MI,1WY,1OR,1CO,1NV,1AZ,1NM,"
69-
"1MT,1CA,1TX,1AK,3BC,3AB,3ON,3QC,3SK,3MB,"
70-
"3NL,3NB,3NS,3PE,3YT,3NT,3NU,IND,AUS,BRA,"
71-
"USA,MEX,MOW,SPE,KGD,7IN,7AD,7SE,7KB,7KC,"
72-
"7CE,7CU,IVA,LIP,ORL,TUL,7BE,VLA,KRS,KLU,"
73-
"7TT,BRY,YAR,RYA,AST,MOS,SMO,7DA,VOR,NGR,"
74-
"PSK,KOS,STA,KDA,7KL,TVE,LEN,ROS,VGG,VLG,"
75-
"MUR,7KR,NEN,7KO,ARK,7MO,NIZ,PNZ,7KI,7ME,"
76-
"ORE,ULY,7PM,7BA,7UD,7TA,SAM,SAR,YAN,7KM,"
77-
"SVE,TYU,KGN,7CH,7BU,ZAB,IRK,NVS,TOM,OMS,"
78-
"7KK,KEM,7AL,ALT,7TY,KYA,MAG,CHU,KAM,SAK,"
79-
"7PO,YEV,KHA,AMU,7SA,CAN,RUS,8SH,8TJ,8BJ,"
80-
"8HI,8NX,8CQ,8ZJ,8JS,8FJ,8AH,8LN,8SD,8SX,"
81-
"8JX,8HA,8GZ,8GD,8HB,8JL,8HE,8SN,8NM,8HL,"
82-
"8HN,8GX,8SC,8YN,8XZ,8GS,8QH,8XJ,CHN,UMI,"
83-
"CPT,AT0,AT1,AT2,AT3,AT4,AT5,AT6,AT7,AT8,"
84-
"ATA,AAA,";
60+
"2WB,2MP,2AP,2MH,2UP,2PY,NSW,ACT,JBT,4NT,"
61+
"4SA,TAS,VIC,4WA,QLD,6DF,6SE,6AL,6RJ,6ES,"
62+
"6RN,6PB,6SC,6PE,6AP,6CE,6AC,6PR,6RR,6RO,"
63+
"6SP,6PI,6TO,6RS,6MA,6GO,6MS,6BA,6MG,6MT,"
64+
"6PA,6AM,1DC,1RI,1DE,1CT,1NJ,1NH,1VT,1MA,"
65+
"1HI,1MD,1WV,1SC,1ME,1IN,1KY,1TN,1VA,1OH,"
66+
"1PA,1MS,1LA,1AL,1AR,1NC,1NY,1IA,1IL,1GA,"
67+
"1WI,1FL,1MO,1OK,1ND,1WA,1SD,1NE,1KS,1ID,"
68+
"1UT,1MN,1MI,1WY,1OR,1CO,1NV,1AZ,1NM,1MT,"
69+
"1CA,1TX,1AK,3BC,3AB,3ON,3QC,3SK,3MB,3NL,"
70+
"3NB,3NS,3PE,3YT,3NT,3NU,IND,AUS,BRA,USA,"
71+
"MEX,MOW,SPE,KGD,7IN,7AD,7SE,7KB,7KC,7CE,"
72+
"7CU,IVA,LIP,ORL,TUL,7BE,VLA,KRS,KLU,7TT,"
73+
"BRY,YAR,RYA,AST,MOS,SMO,7DA,VOR,NGR,PSK,"
74+
"KOS,STA,KDA,7KL,TVE,LEN,ROS,VGG,VLG,MUR,"
75+
"7KR,NEN,7KO,ARK,7MO,NIZ,PNZ,7KI,7ME,ORE,"
76+
"ULY,7PM,7BA,7UD,7TA,SAM,SAR,YAN,7KM,SVE,"
77+
"TYU,KGN,7CH,7BU,ZAB,IRK,NVS,TOM,OMS,7KK,"
78+
"KEM,7AL,ALT,7TY,KYA,MAG,CHU,KAM,SAK,7PO,"
79+
"YEV,KHA,AMU,7SA,CAN,RUS,8SH,8TJ,8BJ,8HI,"
80+
"8NX,8CQ,8ZJ,8JS,8FJ,8AH,8LN,8SD,8SX,8JX,"
81+
"8HA,8GZ,8GD,8HB,8JL,8HE,8SN,8NM,8HL,8HN,"
82+
"8GX,8SC,8YN,8XZ,8GS,8QH,8XJ,CHN,UMI,CPT,"
83+
"AT0,AT1,AT2,AT3,AT4,AT5,AT6,AT7,AT8,ATA,"
84+
"AAA,";
8585

86-
#define usa_from 343
87-
#define usa_upto 393
88-
#define ccode_usa 410
86+
#define usa_from 342
87+
#define usa_upto 392
88+
#define ccode_usa 409
8989
#define ind_from 271
90-
#define ind_upto 306
91-
#define ccode_ind 407
92-
#define can_from 394
93-
#define can_upto 406
94-
#define ccode_can 495
95-
#define aus_from 307
96-
#define aus_upto 315
97-
#define ccode_aus 408
90+
#define ind_upto 305
91+
#define ccode_ind 406
92+
#define can_from 393
93+
#define can_upto 405
94+
#define ccode_can 494
95+
#define aus_from 306
96+
#define aus_upto 314
97+
#define ccode_aus 407
9898
#define mex_from 233
9999
#define mex_upto 264
100-
#define ccode_mex 411
101-
#define bra_from 316
102-
#define bra_upto 342
103-
#define ccode_bra 409
104-
#define chn_from 497
105-
#define chn_upto 527
106-
#define ccode_chn 528
107-
#define rus_from 412
108-
#define rus_upto 494
109-
#define ccode_rus 496
110-
#define ccode_ata 540
111-
#define ccode_earth 541
100+
#define ccode_mex 410
101+
#define bra_from 315
102+
#define bra_upto 341
103+
#define ccode_bra 408
104+
#define chn_from 496
105+
#define chn_upto 526
106+
#define ccode_chn 527
107+
#define rus_from 411
108+
#define rus_upto 493
109+
#define ccode_rus 495
110+
#define ccode_ata 539
111+
#define ccode_earth 540
112112

113113
#define parents3 "USA,IND,CAN,AUS,MEX,BRA,RUS,CHN,"
114114
#define parents2 "US,IN,CA,AU,MX,BR,RU,CN,"
@@ -199,34 +199,34 @@ static const UWORD data_start[MAX_CCODE+1] = {
199199
10242,10437,10440,10443,10446,10456,10461,10464,10476,10489,
200200
10500,10516,10525,10531,10565,10593,10612,10680,10772,10787,
201201
10791,10827,10914,10925,10943,10960,11024,11056,11097,11117,
202-
11222,11302,11366,11420,11479,11535,11595,11601,11643,11647,
203-
11650,11660,11675,11686,11724,11787,11833,11838,11845,11850,
204-
11869,11879,11886,11894,11908,11924,11931,11939,11947,11995,
205-
12004,12015,12065,12076,12086,12105,12121,12134,12146,12165,
206-
12199,12208,12220,12232,12236,12242,12248,12260,12271,12280,
207-
12286,12300,12318,12329,12371,12422,12472,12528,12541,12554,
208-
12617,12677,12738,12803,12874,12939,13008,13083,13150,13229,
209-
13303,13317,13332,13377,13390,13418,13432,13445,13461,13477,
210-
13489,13531,13543,13554,13589,13604,13616,13633,13641,13679,
211-
13692,13707,13827,13873,13917,13957,13981,14022,14061,14081,
212-
14097,14115,14127,14141,14149,14160,14177,14190,14245,14246,
213-
14247,14248,14287,14293,14298,14303,14308,14314,14321,14327,
214-
14336,14342,14350,14356,14363,14372,14380,14389,14401,14410,
215-
14418,14429,14440,14449,14459,14466,14516,14550,14559,14571,
216-
14582,14621,14632,14646,14663,14675,14688,14702,14717,14730,
217-
14751,14759,14778,14787,14799,14810,14824,14839,14852,14866,
218-
14879,14893,14908,14926,14946,14958,14978,14991,15006,15020,
219-
15038,15054,15068,15081,15098,15118,15135,15153,15168,15182,
220-
15198,15209,15225,15238,15253,15268,15314,15328,15337,15347,
221-
15360,15374,15385,15398,15414,15429,15430,15457,15463,15471,
222-
15477,15493,15530,15547,15571,15594,15611,15631,15657,15683,
223-
15702,15719,15772,15813,15835,15862,15882,15903,15921,15951,
224-
15977,15997,16018,16036,16054,16073,16089,16105,16133,16159,
225-
16166,16168,16169,16171,16172,16174,16176,16178,16180,16182,
226-
16183,16184,16216
202+
11222,11302,11366,11425,11481,11541,11547,11589,11593,11596,
203+
11606,11621,11632,11670,11733,11779,11784,11791,11796,11815,
204+
11825,11832,11840,11854,11870,11877,11885,11893,11941,11950,
205+
11961,12011,12022,12032,12051,12067,12080,12092,12111,12145,
206+
12154,12166,12178,12182,12188,12194,12206,12217,12226,12232,
207+
12246,12264,12275,12317,12368,12418,12474,12487,12500,12563,
208+
12623,12684,12749,12820,12885,12954,13029,13096,13175,13249,
209+
13263,13278,13323,13336,13364,13378,13391,13407,13423,13435,
210+
13477,13489,13500,13535,13550,13562,13579,13587,13625,13638,
211+
13653,13773,13819,13863,13903,13927,13968,14007,14027,14043,
212+
14061,14073,14087,14095,14106,14123,14136,14191,14192,14193,
213+
14194,14233,14239,14244,14249,14254,14260,14267,14273,14282,
214+
14288,14296,14302,14309,14318,14326,14335,14347,14356,14364,
215+
14375,14386,14395,14405,14412,14462,14496,14505,14517,14528,
216+
14567,14578,14592,14609,14621,14634,14648,14663,14676,14697,
217+
14705,14724,14733,14745,14756,14770,14785,14798,14812,14825,
218+
14839,14854,14872,14892,14904,14924,14937,14952,14966,14984,
219+
15000,15014,15027,15044,15064,15081,15099,15114,15128,15144,
220+
15155,15171,15184,15199,15214,15260,15274,15283,15293,15306,
221+
15320,15331,15344,15360,15375,15376,15403,15409,15417,15423,
222+
15439,15476,15493,15517,15540,15557,15577,15603,15629,15648,
223+
15665,15718,15759,15781,15808,15828,15849,15867,15897,15923,
224+
15943,15964,15982,16000,16019,16035,16051,16079,16105,16112,
225+
16114,16115,16117,16118,16120,16122,16124,16126,16128,16129,
226+
16130,16162
227227
};
228228

229-
#define NR_RECS 16216
229+
#define NR_RECS 16162
230230
#define WORST_RECS_PER_CCODE 195 // 8 Argentina @43
231231

232232
typedef struct { long minx; long miny; long maxx; long maxy; unsigned long flags; } mminforec;
@@ -11647,60 +11647,6 @@ static const mminforec mminfo[NR_RECS+1] = {
1164711647
{ 80136671, 16065940, 80199128, 16126059,0x29c004b},
1164811648
{ 76745000, 13250000, 79111000, 16100000,0x022040d},
1164911649
{ 79111000, 15400000, 82440000, 17450000,0x0860411},
11650-
{ 79334269, 17746524, 79823821, 18237564,0x0b01090},
11651-
{ 77855219, 18434524, 78344771, 18925564,0x0b12090},
11652-
{ 79060709, 18345104, 79550261, 18836144,0x0b13090},
11653-
{ 77767031, 16500479, 78251375, 16991519,0x0b14090},
11654-
{ 78283033, 19426379, 78777793, 19917419,0x0b15090},
11655-
{ 76722000, 15777000, 81320000, 19920000,0x0020236},
11656-
{ 78440933, 17339555, 78531267, 17426045,0x001000a},
11657-
{ 78209624, 17172880, 78699176, 17663920,0x001000c},
11658-
{ 83265613, 17686800, 83356186, 17773289,0x3c1004b},
11659-
{ 83175040, 17682475, 83265613, 17768964,0x3c1004b},
11660-
{ 83145713, 17637800, 83236286, 17724289,0x3c1004b},
11661-
{ 80566954, 16476800, 80657046, 16563289,0x3c1004b},
11662-
{ 80653442, 16450853, 80743534, 16537342,0x3c1004b},
11663-
{ 80394954, 16258200, 80485046, 16344689,0x3c1004b},
11664-
{ 79566693, 17934800, 79657506, 18021289,0x3c1004b},
11665-
{ 79500593, 17962800, 79591406, 18049289,0x3c1004b},
11666-
{ 79935434, 14390900, 80024565, 14477389,0x3c1004b},
11667-
{ 77991374, 15778200, 78081226, 15864689,0x3c1004b},
11668-
{ 81753833, 16968200, 81844166, 17054689,0x3c1004b},
11669-
{ 78780434, 14428800, 78869565, 14515289,0x3c1004b},
11670-
{ 82195833, 16967700, 82286166, 17054189,0x3c1004b},
11671-
{ 82195833, 16881211, 82286166, 16967700,0x3c1004b},
11672-
{ 78054473, 18636800, 78145526, 18723289,0x3c1004b},
11673-
{ 79392254, 13586800, 79481145, 13673289,0x3c1004b},
11674-
{ 77559734, 14630900, 77648865, 14717389,0x3c1004b},
11675-
{ 79084473, 18398200, 79175526, 18484689,0x3c1004b},
11676-
{ 79461112, 18720950, 79526488, 18783049,0x2b2004b},
11677-
{ 83368437, 18089940, 83431562, 18150059,0x29c004b},
11678-
{ 81059557, 16685250, 81124243, 16747349,0x2b2004b},
11679-
{ 79999555, 15479240, 80061845, 15539359,0x29c004b},
11680-
{ 78448229, 15444850, 78512570, 15506949,0x2b2004b},
11681-
{ 80112304, 17213940, 80175095, 17274059,0x29c004b},
11682-
{ 81101243, 16152750, 81165757, 16214849,0x2b2004b},
11683-
{ 77243555, 15597940, 77305845, 15658059,0x29c004b},
11684-
{ 80598343, 16208950, 80662857, 16271049,0x2b2004b},
11685-
{ 78518938, 14725940, 78581061, 14786059,0x29c004b},
11686-
{ 77971657, 16714950, 78036343, 16777049,0x2b2004b},
11687-
{ 79069105, 13189940, 79130894, 13250059,0x29c004b},
11688-
{ 77466088, 13801950, 77529912, 13864049,0x2b2004b},
11689-
{ 81490988, 16510640, 81553612, 16570759,0x29c004b},
11690-
{ 78477088, 13525850, 78540912, 13587949,0x2b2004b},
11691-
{ 79241104, 17026940, 79303895, 17087059,0x29c004b},
11692-
{ 77339015, 15133950, 77403184, 15196049,0x2b2004b},
11693-
{ 83861137, 18269840, 83924262, 18329959,0x29c004b},
11694-
{ 77687602, 14385950, 77751598, 14448049,0x2b2004b},
11695-
{ 80964188, 16404940, 81026812, 16465059,0x29c004b},
11696-
{ 78492253, 19640850, 78558147, 19702949,0x2b2004b},
11697-
{ 80018671, 16203940, 80081128, 16264059,0x29c004b},
11698-
{ 77963515, 14890550, 78027684, 14952649,0x2b2004b},
11699-
{ 79589404, 17110940, 79652195, 17171059,0x29c004b},
11700-
{ 81493970, 16782950, 81558829, 16845049,0x2b2004b},
11701-
{ 80136671, 16065940, 80199128, 16126059,0x29c004b},
11702-
{ 76745000, 13250000, 79111000, 16100000,0x022040d},
11703-
{ 79111000, 15400000, 82440000, 17450000,0x0860411},
1170411650
{ 83006169, 17460024, 83495721, 17951064,0x0b00890},
1170511651
{ 79334269, 17746524, 79823821, 18237564,0x0b01090},
1170611652
{ 79740427, 14188624, 80219563, 14679664,0x0b11890},

0 commit comments

Comments
 (0)