github.com/primecitizens/pcz/std@v0.2.1/core/array/octo.go (about)

     1  // SPDX-License-Identifier: Apache-2.0
     2  // Copyright 2023 The Prime Citizens
     3  
     4  package array
     5  
     6  // gap 40
     7  type (
     8  	Octo8To40[T any] interface {
     9  		~[octo0]T | ~[octo1]T | ~[octo2]T | ~[octo3]T | ~[octo4]T
    10  	}
    11  	Octo48To80[T any] interface {
    12  		~[octo5]T | ~[octo6]T | ~[octo7]T | ~[octo8]T | ~[octo9]T
    13  	}
    14  	Octo88To120[T any] interface {
    15  		~[octo10]T | ~[octo11]T | ~[octo12]T | ~[octo13]T | ~[octo14]T
    16  	}
    17  	Octo128To160[T any] interface {
    18  		~[octo15]T | ~[octo16]T | ~[octo17]T | ~[octo18]T | ~[octo19]T
    19  	}
    20  	Octo168To200[T any] interface {
    21  		~[octo20]T | ~[octo21]T | ~[octo22]T | ~[octo23]T | ~[octo24]T
    22  	}
    23  	Octo208To240[T any] interface {
    24  		~[octo25]T | ~[octo26]T | ~[octo27]T | ~[octo28]T | ~[octo29]T
    25  	}
    26  	Octo248To280[T any] interface {
    27  		~[octo30]T | ~[octo31]T | ~[octo32]T | ~[octo33]T | ~[octo34]T
    28  	}
    29  	Octo288To320[T any] interface {
    30  		~[octo35]T | ~[octo36]T | ~[octo37]T | ~[octo38]T | ~[octo39]T
    31  	}
    32  	Octo328To360[T any] interface {
    33  		~[octo40]T | ~[octo41]T | ~[octo42]T | ~[octo43]T | ~[octo44]T
    34  	}
    35  	Octo368To400[T any] interface {
    36  		~[octo45]T | ~[octo46]T | ~[octo47]T | ~[octo48]T | ~[octo49]T
    37  	}
    38  	Octo408To440[T any] interface {
    39  		~[octo50]T | ~[octo51]T | ~[octo52]T | ~[octo53]T | ~[octo54]T
    40  	}
    41  	Octo448To480[T any] interface {
    42  		~[octo55]T | ~[octo56]T | ~[octo57]T | ~[octo58]T | ~[octo59]T
    43  	}
    44  	Octo488To520[T any] interface {
    45  		~[octo60]T | ~[octo61]T | ~[octo62]T | ~[octo63]T | ~[octo48]T
    46  	}
    47  	Octo528To560[T any] interface {
    48  		~[octo65]T | ~[octo66]T | ~[octo67]T | ~[octo68]T | ~[octo69]T
    49  	}
    50  	Octo568To600[T any] interface {
    51  		~[octo70]T | ~[octo71]T | ~[octo72]T | ~[octo73]T | ~[octo74]T
    52  	}
    53  	Octo608To640[T any] interface {
    54  		~[octo75]T | ~[octo76]T | ~[octo77]T | ~[octo78]T | ~[octo79]T
    55  	}
    56  	Octo648To680[T any] interface {
    57  		~[octo80]T | ~[octo81]T | ~[octo82]T | ~[octo83]T | ~[octo84]T
    58  	}
    59  	Octo688To720[T any] interface {
    60  		~[octo85]T | ~[octo86]T | ~[octo87]T | ~[octo88]T | ~[octo89]T
    61  	}
    62  	Octo728To760[T any] interface {
    63  		~[octo90]T | ~[octo91]T | ~[octo92]T | ~[octo93]T | ~[octo94]T
    64  	}
    65  	Octo768To800[T any] interface {
    66  		~[octo95]T | ~[octo96]T | ~[octo97]T | ~[octo98]T | ~[octo99]T
    67  	}
    68  	Octo808To840[T any] interface {
    69  		~[octo100]T | ~[octo101]T | ~[octo102]T | ~[octo103]T | ~[octo104]T
    70  	}
    71  	Octo848To880[T any] interface {
    72  		~[octo105]T | ~[octo106]T | ~[octo107]T | ~[octo108]T | ~[octo109]T
    73  	}
    74  	Octo888To920[T any] interface {
    75  		~[octo110]T | ~[octo111]T | ~[octo112]T | ~[octo113]T | ~[octo114]T
    76  	}
    77  	Octo928To960[T any] interface {
    78  		~[octo115]T | ~[octo116]T | ~[octo117]T | ~[octo118]T | ~[octo119]T
    79  	}
    80  	Octo968To1000[T any] interface {
    81  		~[octo120]T | ~[octo121]T | ~[octo122]T | ~[octo123]T | ~[octo124]T
    82  	}
    83  )
    84  
    85  // gap 128
    86  type (
    87  	Octo8To128[T any] interface {
    88  		Octo8To40[T] | Octo48To80[T] | Octo88To120[T] | ~[octo15]T
    89  	}
    90  	Octo136To256[T any] interface {
    91  		~[octo16]T | ~[octo17]T | ~[octo18]T | ~[octo19]T | Octo168To200[T] | Octo208To240[T] | ~[octo30]T | ~[octo31]T
    92  	}
    93  	Octo264To384[T any] interface {
    94  		~[octo32]T | ~[octo33]T | ~[octo34]T | Octo288To320[T] | Octo328To360[T] | ~[octo45]T | ~[octo46]T | ~[octo47]T
    95  	}
    96  	Octo392To512[T any] interface {
    97  		~[octo48]T | ~[octo49]T | Octo408To440[T] | Octo448To480[T] | ~[octo60]T | ~[octo61]T | ~[octo62]T | ~[octo63]T
    98  	}
    99  	Octo520To640[T any] interface {
   100  		~[octo64]T | Octo528To560[T] | Octo568To600[T] | Octo608To640[T]
   101  	}
   102  	Octo648To768[T any] interface {
   103  		Octo648To680[T] | Octo688To720[T] | Octo728To760[T] | ~[octo95]T
   104  	}
   105  	Octo776To896[T any] interface {
   106  		~[octo96]T | ~[octo97]T | ~[octo98]T | ~[octo99]T | Octo808To840[T] | Octo848To880[T] | ~[octo110]T | ~[octo111]T
   107  	}
   108  )
   109  
   110  type Octo8To768[T any] interface {
   111  	Octo8To128[T] | Octo136To256[T] | Octo264To384[T] | Octo392To512[T] | Octo520To640[T] | Octo648To768[T]
   112  }
   113  
   114  const (
   115  	octo0 = 8 * (iota + 1)
   116  
   117  	octo1
   118  	octo2
   119  	octo3
   120  	octo4
   121  	octo5
   122  	octo6
   123  	octo7
   124  	octo8
   125  	octo9
   126  
   127  	octo10
   128  	octo11
   129  	octo12
   130  	octo13
   131  	octo14
   132  	octo15
   133  	octo16
   134  	octo17
   135  	octo18
   136  	octo19
   137  
   138  	octo20
   139  	octo21
   140  	octo22
   141  	octo23
   142  	octo24
   143  	octo25
   144  	octo26
   145  	octo27
   146  	octo28
   147  	octo29
   148  
   149  	octo30
   150  	octo31
   151  	octo32
   152  	octo33
   153  	octo34
   154  	octo35
   155  	octo36
   156  	octo37
   157  	octo38
   158  	octo39
   159  
   160  	octo40
   161  	octo41
   162  	octo42
   163  	octo43
   164  	octo44
   165  	octo45
   166  	octo46
   167  	octo47
   168  	octo48
   169  	octo49
   170  
   171  	octo50
   172  	octo51
   173  	octo52
   174  	octo53
   175  	octo54
   176  	octo55
   177  	octo56
   178  	octo57
   179  	octo58
   180  	octo59
   181  
   182  	octo60
   183  	octo61
   184  	octo62
   185  	octo63
   186  	octo64
   187  	octo65
   188  	octo66
   189  	octo67
   190  	octo68
   191  	octo69
   192  
   193  	octo70
   194  	octo71
   195  	octo72
   196  	octo73
   197  	octo74
   198  	octo75
   199  	octo76
   200  	octo77
   201  	octo78
   202  	octo79
   203  
   204  	octo80
   205  	octo81
   206  	octo82
   207  	octo83
   208  	octo84
   209  	octo85
   210  	octo86
   211  	octo87
   212  	octo88
   213  	octo89
   214  
   215  	octo90
   216  	octo91
   217  	octo92
   218  	octo93
   219  	octo94
   220  	octo95
   221  	octo96
   222  	octo97
   223  	octo98
   224  	octo99
   225  
   226  	octo100
   227  	octo101
   228  	octo102
   229  	octo103
   230  	octo104
   231  	octo105
   232  	octo106
   233  	octo107
   234  	octo108
   235  	octo109
   236  
   237  	octo110
   238  	octo111
   239  	octo112
   240  	octo113
   241  	octo114
   242  	octo115
   243  	octo116
   244  	octo117
   245  	octo118
   246  	octo119
   247  
   248  	octo120
   249  	octo121
   250  	octo122
   251  	octo123
   252  	octo124
   253  	octo125
   254  	octo126
   255  	octo127
   256  	octo128
   257  	octo129
   258  
   259  	octo130
   260  	octo131
   261  	octo132
   262  	octo133
   263  	octo134
   264  	octo135
   265  	octo136
   266  	octo137
   267  	octo138
   268  	octo139
   269  
   270  	octo140
   271  	octo141
   272  	octo142
   273  	octo143
   274  	octo144
   275  	octo145
   276  	octo146
   277  	octo147
   278  	octo148
   279  	octo149
   280  
   281  	octo150
   282  	octo151
   283  	octo152
   284  	octo153
   285  	octo154
   286  	octo155
   287  	octo156
   288  	octo157
   289  	octo158
   290  	octo159
   291  
   292  	octo160
   293  	octo161
   294  	octo162
   295  	octo163
   296  	octo164
   297  	octo165
   298  	octo166
   299  	octo167
   300  	octo168
   301  	octo169
   302  
   303  	octo170
   304  	octo171
   305  	octo172
   306  	octo173
   307  	octo174
   308  	octo175
   309  	octo176
   310  	octo177
   311  	octo178
   312  	octo179
   313  
   314  	octo180
   315  	octo181
   316  	octo182
   317  	octo183
   318  	octo184
   319  	octo185
   320  	octo186
   321  	octo187
   322  	octo188
   323  	octo189
   324  
   325  	octo190
   326  	octo191
   327  	octo192
   328  	octo193
   329  	octo194
   330  	octo195
   331  	octo196
   332  	octo197
   333  	octo198
   334  	octo199
   335  )