github.com/dolthub/go-mysql-server@v0.18.0/sql/encodings/utf8mb4_ja_0900_as_cs.go (about)

     1  // Copyright 2023 Dolthub, Inc.
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  package encodings
    16  
    17  // Utf8mb4_ja_0900_as_cs_RuneWeight returns the weight of a given rune based on its relational sort order from
    18  // the `utf8mb4_ja_0900_as_cs` collation.
    19  func Utf8mb4_ja_0900_as_cs_RuneWeight(r rune) int32 {
    20  	weight, ok := utf8mb4_ja_0900_as_cs_Weights()[r]
    21  	if ok {
    22  		return weight
    23  	} else if r >= 9003 && r <= 9214 {
    24  		return r - 7136
    25  	} else if r >= 9475 && r <= 9632 {
    26  		return r - 7343
    27  	} else if r >= 9676 && r <= 9775 {
    28  		return r - 7343
    29  	} else if r >= 9872 && r <= 9983 {
    30  		return r - 7360
    31  	} else if r >= 9984 && r <= 10087 {
    32  		return r - 7334
    33  	} else if r >= 10496 && r <= 10626 {
    34  		return r - 7646
    35  	} else if r >= 10765 && r <= 10867 {
    36  		return r - 7675
    37  	} else if r >= 10872 && r <= 10971 {
    38  		return r - 7678
    39  	} else if r >= 10974 && r <= 11123 {
    40  		return r - 7678
    41  	} else if r >= 10240 && r <= 10495 {
    42  		return r - 6698
    43  	} else if r >= 118784 && r <= 119029 {
    44  		return r - 114672
    45  	} else if r >= 127024 && r <= 127123 {
    46  		return r - 122371
    47  	} else if r >= 127744 && r <= 128511 {
    48  		return r - 122909
    49  	} else if r >= 128512 && r <= 128722 {
    50  		return r - 122827
    51  	} else if r >= 128768 && r <= 128883 {
    52  		return r - 122852
    53  	} else if r >= 120832 && r <= 121343 {
    54  		return r - 114567
    55  	} else if r >= 94208 && r <= 101119 {
    56  		return r - 78492
    57  	} else if r >= 32416 && r <= 32565 {
    58  		return r - 805
    59  	} else if r >= 35745 && r <= 35894 {
    60  		return r - 1669
    61  	} else if r >= 38022 && r <= 38262 {
    62  		return r - 2196
    63  	} else if r >= 40061 && r <= 40164 {
    64  		return r - 2618
    65  	} else if r >= 13312 && r <= 13470 {
    66  		return r + 24883
    67  	} else if r >= 13590 && r <= 14062 {
    68  		return r + 24883
    69  	} else if r >= 14077 && r <= 14209 {
    70  		return r + 24883
    71  	} else if r >= 14210 && r <= 14383 {
    72  		return r + 24883
    73  	} else if r >= 14651 && r <= 14894 {
    74  		return r + 24883
    75  	} else if r >= 14957 && r <= 15076 {
    76  		return r + 24883
    77  	} else if r >= 15262 && r <= 15384 {
    78  		return r + 24883
    79  	} else if r >= 15439 && r <= 15667 {
    80  		return r + 24883
    81  	} else if r >= 15767 && r <= 16044 {
    82  		return r + 24883
    83  	} else if r >= 16156 && r <= 16380 {
    84  		return r + 24883
    85  	} else if r >= 16688 && r <= 16898 {
    86  		return r + 24883
    87  	} else if r >= 16936 && r <= 17056 {
    88  		return r + 24883
    89  	} else if r >= 17242 && r <= 17365 {
    90  		return r + 24883
    91  	} else if r >= 17516 && r <= 17707 {
    92  		return r + 24883
    93  	} else if r >= 17772 && r <= 17879 {
    94  		return r + 24883
    95  	} else if r >= 17974 && r <= 18110 {
    96  		return r + 24883
    97  	} else if r >= 18120 && r <= 18837 {
    98  		return r + 24883
    99  	} else if r >= 18919 && r <= 19054 {
   100  		return r + 24883
   101  	} else if r >= 19123 && r <= 19251 {
   102  		return r + 24883
   103  	} else if r >= 19252 && r <= 19406 {
   104  		return r + 24883
   105  	} else if r >= 19407 && r <= 19662 {
   106  		return r + 24883
   107  	} else if r >= 131072 && r <= 131362 {
   108  		return r - 86295
   109  	} else if r >= 131363 && r <= 132380 {
   110  		return r - 86295
   111  	} else if r >= 132428 && r <= 132666 {
   112  		return r - 86295
   113  	} else if r >= 132667 && r <= 133124 {
   114  		return r - 86295
   115  	} else if r >= 133125 && r <= 133342 {
   116  		return r - 86295
   117  	} else if r >= 133343 && r <= 133676 {
   118  		return r - 86295
   119  	} else if r >= 133677 && r <= 133987 {
   120  		return r - 86295
   121  	} else if r >= 133988 && r <= 136420 {
   122  		return r - 86295
   123  	} else if r >= 136421 && r <= 136872 {
   124  		return r - 86295
   125  	} else if r >= 136939 && r <= 137672 {
   126  		return r - 86295
   127  	} else if r >= 137673 && r <= 138008 {
   128  		return r - 86295
   129  	} else if r >= 138009 && r <= 138507 {
   130  		return r - 86295
   131  	} else if r >= 138508 && r <= 138724 {
   132  		return r - 86295
   133  	} else if r >= 138727 && r <= 139651 {
   134  		return r - 86295
   135  	} else if r >= 139680 && r <= 140081 {
   136  		return r - 86295
   137  	} else if r >= 140082 && r <= 141012 {
   138  		return r - 86295
   139  	} else if r >= 141013 && r <= 141379 {
   140  		return r - 86295
   141  	} else if r >= 141386 && r <= 142092 {
   142  		return r - 86295
   143  	} else if r >= 142093 && r <= 142321 {
   144  		return r - 86295
   145  	} else if r >= 142322 && r <= 143370 {
   146  		return r - 86295
   147  	} else if r >= 143371 && r <= 144056 {
   148  		return r - 86295
   149  	} else if r >= 144057 && r <= 144223 {
   150  		return r - 86295
   151  	} else if r >= 144341 && r <= 144493 {
   152  		return r - 86295
   153  	} else if r >= 144494 && r <= 145059 {
   154  		return r - 86295
   155  	} else if r >= 145060 && r <= 145575 {
   156  		return r - 86295
   157  	} else if r >= 145576 && r <= 146061 {
   158  		return r - 86295
   159  	} else if r >= 146062 && r <= 146170 {
   160  		return r - 86295
   161  	} else if r >= 146171 && r <= 146620 {
   162  		return r - 86295
   163  	} else if r >= 146719 && r <= 147153 {
   164  		return r - 86295
   165  	} else if r >= 147154 && r <= 147294 {
   166  		return r - 86295
   167  	} else if r >= 147343 && r <= 148067 {
   168  		return r - 86295
   169  	} else if r >= 148068 && r <= 148205 {
   170  		return r - 86295
   171  	} else if r >= 148206 && r <= 148395 {
   172  		return r - 86295
   173  	} else if r >= 148396 && r <= 149000 {
   174  		return r - 86295
   175  	} else if r >= 149001 && r <= 149301 {
   176  		return r - 86295
   177  	} else if r >= 149302 && r <= 149524 {
   178  		return r - 86295
   179  	} else if r >= 149525 && r <= 150582 {
   180  		return r - 86295
   181  	} else if r >= 150675 && r <= 151457 {
   182  		return r - 86295
   183  	} else if r >= 151481 && r <= 151620 {
   184  		return r - 86295
   185  	} else if r >= 151621 && r <= 151794 {
   186  		return r - 86295
   187  	} else if r >= 151860 && r <= 152136 {
   188  		return r - 86295
   189  	} else if r >= 152137 && r <= 152605 {
   190  		return r - 86295
   191  	} else if r >= 152606 && r <= 153126 {
   192  		return r - 86295
   193  	} else if r >= 153127 && r <= 153242 {
   194  		return r - 86295
   195  	} else if r >= 153286 && r <= 153980 {
   196  		return r - 86295
   197  	} else if r >= 153981 && r <= 154279 {
   198  		return r - 86295
   199  	} else if r >= 154280 && r <= 154539 {
   200  		return r - 86295
   201  	} else if r >= 154540 && r <= 154752 {
   202  		return r - 86295
   203  	} else if r >= 154832 && r <= 155526 {
   204  		return r - 86295
   205  	} else if r >= 155527 && r <= 156122 {
   206  		return r - 86295
   207  	} else if r >= 156232 && r <= 156377 {
   208  		return r - 86295
   209  	} else if r >= 156378 && r <= 156478 {
   210  		return r - 86295
   211  	} else if r >= 156479 && r <= 156890 {
   212  		return r - 86295
   213  	} else if r >= 156964 && r <= 157096 {
   214  		return r - 86295
   215  	} else if r >= 157097 && r <= 157607 {
   216  		return r - 86295
   217  	} else if r >= 157622 && r <= 158524 {
   218  		return r - 86295
   219  	} else if r >= 158525 && r <= 158774 {
   220  		return r - 86295
   221  	} else if r >= 158775 && r <= 158933 {
   222  		return r - 86295
   223  	} else if r >= 158934 && r <= 159083 {
   224  		return r - 86295
   225  	} else if r >= 159084 && r <= 159532 {
   226  		return r - 86295
   227  	} else if r >= 159533 && r <= 159665 {
   228  		return r - 86295
   229  	} else if r >= 159666 && r <= 159954 {
   230  		return r - 86295
   231  	} else if r >= 159955 && r <= 160714 {
   232  		return r - 86295
   233  	} else if r >= 160715 && r <= 161383 {
   234  		return r - 86295
   235  	} else if r >= 161384 && r <= 161966 {
   236  		return r - 86295
   237  	} else if r >= 161967 && r <= 162150 {
   238  		return r - 86295
   239  	} else if r >= 162151 && r <= 162984 {
   240  		return r - 86295
   241  	} else if r >= 162985 && r <= 163538 {
   242  		return r - 86295
   243  	} else if r >= 163632 && r <= 165330 {
   244  		return r - 86295
   245  	} else if r >= 165358 && r <= 165678 {
   246  		return r - 86295
   247  	} else if r >= 165679 && r <= 166906 {
   248  		return r - 86295
   249  	} else if r >= 166907 && r <= 167287 {
   250  		return r - 86295
   251  	} else if r >= 167288 && r <= 168261 {
   252  		return r - 86295
   253  	} else if r >= 168262 && r <= 168415 {
   254  		return r - 86295
   255  	} else if r >= 168475 && r <= 168970 {
   256  		return r - 86295
   257  	} else if r >= 168971 && r <= 169110 {
   258  		return r - 86295
   259  	} else if r >= 169111 && r <= 169398 {
   260  		return r - 86295
   261  	} else if r >= 169399 && r <= 170800 {
   262  		return r - 86295
   263  	} else if r >= 170801 && r <= 172238 {
   264  		return r - 86295
   265  	} else if r >= 172294 && r <= 172558 {
   266  		return r - 86295
   267  	} else if r >= 172559 && r <= 172689 {
   268  		return r - 86295
   269  	} else if r >= 172690 && r <= 172946 {
   270  		return r - 86295
   271  	} else if r >= 172947 && r <= 173568 {
   272  		return r - 86295
   273  	} else if r >= 173569 && r <= 173782 {
   274  		return r - 86295
   275  	} else if r >= 173825 && r <= 177972 {
   276  		return r - 86336
   277  	} else if r >= 177985 && r <= 178205 {
   278  		return r - 86347
   279  	} else if r >= 178209 && r <= 183969 {
   280  		return r - 86349
   281  	} else if r >= 5121 && r <= 5499 {
   282  		return r + 99258
   283  	} else if r >= 5543 && r <= 5740 {
   284  		return r + 99266
   285  	} else if r >= 92160 && r <= 92728 {
   286  		return r + 13580
   287  	} else if r >= 124928 && r <= 125124 {
   288  		return r - 18589
   289  	} else if r >= 44033 && r <= 44619 {
   290  		return r + 62575
   291  	} else if r >= 44620 && r <= 45207 {
   292  		return r + 62576
   293  	} else if r >= 45209 && r <= 45795 {
   294  		return r + 62579
   295  	} else if r >= 45797 && r <= 46383 {
   296  		return r + 62582
   297  	} else if r >= 46384 && r <= 46971 {
   298  		return r + 62583
   299  	} else if r >= 46973 && r <= 47559 {
   300  		return r + 62586
   301  	} else if r >= 47561 && r <= 48147 {
   302  		return r + 62589
   303  	} else if r >= 48149 && r <= 48735 {
   304  		return r + 62592
   305  	} else if r >= 48736 && r <= 49323 {
   306  		return r + 62593
   307  	} else if r >= 49325 && r <= 49911 {
   308  		return r + 62596
   309  	} else if r >= 49912 && r <= 50499 {
   310  		return r + 62597
   311  	} else if r >= 50501 && r <= 50864 {
   312  		return r + 62600
   313  	} else if r >= 50865 && r <= 51087 {
   314  		return r + 62601
   315  	} else if r >= 51089 && r <= 51452 {
   316  		return r + 62604
   317  	} else if r >= 51453 && r <= 51675 {
   318  		return r + 62605
   319  	} else if r >= 51676 && r <= 52263 {
   320  		return r + 62606
   321  	} else if r >= 52281 && r <= 52851 {
   322  		return r + 62610
   323  	} else if r >= 52853 && r <= 53439 {
   324  		return r + 62613
   325  	} else if r >= 53441 && r <= 54027 {
   326  		return r + 62616
   327  	} else if r >= 54029 && r <= 54615 {
   328  		return r + 62619
   329  	} else if r >= 54617 && r <= 55203 {
   330  		return r + 62622
   331  	} else if r >= 40960 && r <= 42124 {
   332  		return r + 77326
   333  	} else if r >= 113664 && r <= 113770 {
   334  		return r + 6469
   335  	} else if r >= 65664 && r <= 65786 {
   336  		return r + 54874
   337  	} else if r >= 67073 && r <= 67382 {
   338  		return r + 53589
   339  	} else if r >= 73728 && r <= 74338 {
   340  		return r + 47708
   341  	} else if r >= 74339 && r <= 74451 {
   342  		return r + 47710
   343  	} else if r >= 74455 && r <= 74649 {
   344  		return r + 47708
   345  	} else if r >= 74881 && r <= 75075 {
   346  		return r + 47478
   347  	} else if r >= 77825 && r <= 78894 {
   348  		return r + 44730
   349  	} else if r >= 82944 && r <= 83526 {
   350  		return r + 40739
   351  	} else if r >= 57344 && r <= 63743 {
   352  		return r + 68581
   353  	} else if r >= 66046 && r <= 66175 {
   354  		return r + 66563
   355  	} else if r >= 66928 && r <= 67071 {
   356  		return r + 65937
   357  	} else if r >= 67432 && r <= 67583 {
   358  		return r + 65596
   359  	} else if r >= 68864 && r <= 69215 {
   360  		return r + 64726
   361  	} else if r >= 69248 && r <= 69631 {
   362  		return r + 64695
   363  	} else if r >= 70517 && r <= 70655 {
   364  		return r + 64011
   365  	} else if r >= 70874 && r <= 71039 {
   366  		return r + 63837
   367  	} else if r >= 71488 && r <= 71839 {
   368  		return r + 63530
   369  	} else if r >= 71936 && r <= 72383 {
   370  		return r + 63446
   371  	} else if r >= 72442 && r <= 72703 {
   372  		return r + 63389
   373  	} else if r >= 72887 && r <= 73727 {
   374  		return r + 63224
   375  	} else if r >= 74651 && r <= 74751 {
   376  		return r + 62302
   377  	} else if r >= 75076 && r <= 77823 {
   378  		return r + 61990
   379  	} else if r >= 78896 && r <= 82943 {
   380  		return r + 60919
   381  	} else if r >= 83528 && r <= 92159 {
   382  		return r + 60336
   383  	} else if r >= 93072 && r <= 93951 {
   384  		return r + 59561
   385  	} else if r >= 101120 && r <= 110591 {
   386  		return r + 52515
   387  	} else if r >= 110595 && r <= 113663 {
   388  		return r + 52513
   389  	} else if r >= 113828 && r <= 118783 {
   390  		return r + 52366
   391  	} else if r >= 119366 && r <= 119551 {
   392  		return r + 51819
   393  	} else if r >= 119666 && r <= 119807 {
   394  		return r + 51714
   395  	} else if r >= 121520 && r <= 122879 {
   396  		return r + 50046
   397  	} else if r >= 122923 && r <= 124927 {
   398  		return r + 50008
   399  	} else if r >= 125280 && r <= 126463 {
   400  		return r + 49708
   401  	} else if r >= 126706 && r <= 126975 {
   402  		return r + 49565
   403  	} else if r >= 127570 && r <= 127743 {
   404  		return r + 49090
   405  	} else if r >= 129473 && r <= 131071 {
   406  		return r + 47660
   407  	} else if r >= 183970 && r <= 194559 {
   408  		return r - 5184
   409  	} else if r >= 195103 && r <= 917504 {
   410  		return r - 5726
   411  	} else if r >= 917632 && r <= 917759 {
   412  		return r - 5823
   413  	} else if r >= 918001 && r <= 1114111 {
   414  		return r - 6063
   415  	} else if r >= 917760 && r <= 917999 {
   416  		return 0
   417  	} else {
   418  		return 2147483647
   419  	}
   420  }