gitee.com/curryzheng/dm@v0.0.1/e.go (about) 1 /* 2 * Copyright (c) 2000-2018, 达梦数据库有限公司. 3 * All rights reserved. 4 */ 5 package dm 6 7 import ( 8 "container/list" 9 "io" 10 ) 11 12 type Dm_build_280 struct { 13 dm_build_281 *list.List 14 dm_build_282 *dm_build_334 15 dm_build_283 int 16 } 17 18 func Dm_build_284() *Dm_build_280 { 19 return &Dm_build_280{ 20 dm_build_281: list.New(), 21 dm_build_283: 0, 22 } 23 } 24 25 func (dm_build_286 *Dm_build_280) Dm_build_285() int { 26 return dm_build_286.dm_build_283 27 } 28 29 func (dm_build_288 *Dm_build_280) Dm_build_287(dm_build_289 *Dm_build_358, dm_build_290 int) int { 30 var dm_build_291 = 0 31 var dm_build_292 = 0 32 for dm_build_291 < dm_build_290 && dm_build_288.dm_build_282 != nil { 33 dm_build_292 = dm_build_288.dm_build_282.dm_build_342(dm_build_289, dm_build_290-dm_build_291) 34 if dm_build_288.dm_build_282.dm_build_337 == 0 { 35 dm_build_288.dm_build_324() 36 } 37 dm_build_291 += dm_build_292 38 dm_build_288.dm_build_283 -= dm_build_292 39 } 40 return dm_build_291 41 } 42 43 func (dm_build_294 *Dm_build_280) Dm_build_293(dm_build_295 []byte, dm_build_296 int, dm_build_297 int) int { 44 var dm_build_298 = 0 45 var dm_build_299 = 0 46 for dm_build_298 < dm_build_297 && dm_build_294.dm_build_282 != nil { 47 dm_build_299 = dm_build_294.dm_build_282.dm_build_346(dm_build_295, dm_build_296, dm_build_297-dm_build_298) 48 if dm_build_294.dm_build_282.dm_build_337 == 0 { 49 dm_build_294.dm_build_324() 50 } 51 dm_build_298 += dm_build_299 52 dm_build_294.dm_build_283 -= dm_build_299 53 dm_build_296 += dm_build_299 54 } 55 return dm_build_298 56 } 57 58 func (dm_build_301 *Dm_build_280) Dm_build_300(dm_build_302 io.Writer, dm_build_303 int) int { 59 var dm_build_304 = 0 60 var dm_build_305 = 0 61 for dm_build_304 < dm_build_303 && dm_build_301.dm_build_282 != nil { 62 dm_build_305 = dm_build_301.dm_build_282.dm_build_351(dm_build_302, dm_build_303-dm_build_304) 63 if dm_build_301.dm_build_282.dm_build_337 == 0 { 64 dm_build_301.dm_build_324() 65 } 66 dm_build_304 += dm_build_305 67 dm_build_301.dm_build_283 -= dm_build_305 68 } 69 return dm_build_304 70 } 71 72 func (dm_build_307 *Dm_build_280) Dm_build_306(dm_build_308 []byte, dm_build_309 int, dm_build_310 int) { 73 if dm_build_310 == 0 { 74 return 75 } 76 var dm_build_311 = dm_build_338(dm_build_308, dm_build_309, dm_build_310) 77 if dm_build_307.dm_build_282 == nil { 78 dm_build_307.dm_build_282 = dm_build_311 79 } else { 80 dm_build_307.dm_build_281.PushBack(dm_build_311) 81 } 82 dm_build_307.dm_build_283 += dm_build_310 83 } 84 85 func (dm_build_313 *Dm_build_280) dm_build_312(dm_build_314 int) byte { 86 var dm_build_315 = dm_build_314 87 var dm_build_316 = dm_build_313.dm_build_282 88 for dm_build_315 > 0 && dm_build_316 != nil { 89 if dm_build_316.dm_build_337 == 0 { 90 continue 91 } 92 if dm_build_315 > dm_build_316.dm_build_337-1 { 93 dm_build_315 -= dm_build_316.dm_build_337 94 dm_build_316 = dm_build_313.dm_build_281.Front().Value.(*dm_build_334) 95 } else { 96 break 97 } 98 } 99 return dm_build_316.dm_build_355(dm_build_315) 100 } 101 func (dm_build_318 *Dm_build_280) Dm_build_317(dm_build_319 *Dm_build_280) { 102 if dm_build_319.dm_build_283 == 0 { 103 return 104 } 105 var dm_build_320 = dm_build_319.dm_build_282 106 for dm_build_320 != nil { 107 dm_build_318.dm_build_321(dm_build_320) 108 dm_build_319.dm_build_324() 109 dm_build_320 = dm_build_319.dm_build_282 110 } 111 dm_build_319.dm_build_283 = 0 112 } 113 func (dm_build_322 *Dm_build_280) dm_build_321(dm_build_323 *dm_build_334) { 114 if dm_build_323.dm_build_337 == 0 { 115 return 116 } 117 if dm_build_322.dm_build_282 == nil { 118 dm_build_322.dm_build_282 = dm_build_323 119 } else { 120 dm_build_322.dm_build_281.PushBack(dm_build_323) 121 } 122 dm_build_322.dm_build_283 += dm_build_323.dm_build_337 123 } 124 125 func (dm_build_325 *Dm_build_280) dm_build_324() { 126 var dm_build_326 = dm_build_325.dm_build_281.Front() 127 if dm_build_326 == nil { 128 dm_build_325.dm_build_282 = nil 129 } else { 130 dm_build_325.dm_build_282 = dm_build_326.Value.(*dm_build_334) 131 dm_build_325.dm_build_281.Remove(dm_build_326) 132 } 133 } 134 135 func (dm_build_328 *Dm_build_280) Dm_build_327() []byte { 136 var dm_build_329 = make([]byte, dm_build_328.dm_build_283) 137 var dm_build_330 = dm_build_328.dm_build_282 138 var dm_build_331 = 0 139 var dm_build_332 = len(dm_build_329) 140 var dm_build_333 = 0 141 for dm_build_330 != nil { 142 if dm_build_330.dm_build_337 > 0 { 143 if dm_build_332 > dm_build_330.dm_build_337 { 144 dm_build_333 = dm_build_330.dm_build_337 145 } else { 146 dm_build_333 = dm_build_332 147 } 148 copy(dm_build_329[dm_build_331:dm_build_331+dm_build_333], dm_build_330.dm_build_335[dm_build_330.dm_build_336:dm_build_330.dm_build_336+dm_build_333]) 149 dm_build_331 += dm_build_333 150 dm_build_332 -= dm_build_333 151 } 152 if dm_build_328.dm_build_281.Front() == nil { 153 dm_build_330 = nil 154 } else { 155 dm_build_330 = dm_build_328.dm_build_281.Front().Value.(*dm_build_334) 156 } 157 } 158 return dm_build_329 159 } 160 161 type dm_build_334 struct { 162 dm_build_335 []byte 163 dm_build_336 int 164 dm_build_337 int 165 } 166 167 func dm_build_338(dm_build_339 []byte, dm_build_340 int, dm_build_341 int) *dm_build_334 { 168 return &dm_build_334{ 169 dm_build_339, 170 dm_build_340, 171 dm_build_341, 172 } 173 } 174 175 func (dm_build_343 *dm_build_334) dm_build_342(dm_build_344 *Dm_build_358, dm_build_345 int) int { 176 if dm_build_343.dm_build_337 <= dm_build_345 { 177 dm_build_345 = dm_build_343.dm_build_337 178 } 179 dm_build_344.Dm_build_437(dm_build_343.dm_build_335[dm_build_343.dm_build_336 : dm_build_343.dm_build_336+dm_build_345]) 180 dm_build_343.dm_build_336 += dm_build_345 181 dm_build_343.dm_build_337 -= dm_build_345 182 return dm_build_345 183 } 184 185 func (dm_build_347 *dm_build_334) dm_build_346(dm_build_348 []byte, dm_build_349 int, dm_build_350 int) int { 186 if dm_build_347.dm_build_337 <= dm_build_350 { 187 dm_build_350 = dm_build_347.dm_build_337 188 } 189 copy(dm_build_348[dm_build_349:dm_build_349+dm_build_350], dm_build_347.dm_build_335[dm_build_347.dm_build_336:dm_build_347.dm_build_336+dm_build_350]) 190 dm_build_347.dm_build_336 += dm_build_350 191 dm_build_347.dm_build_337 -= dm_build_350 192 return dm_build_350 193 } 194 195 func (dm_build_352 *dm_build_334) dm_build_351(dm_build_353 io.Writer, dm_build_354 int) int { 196 if dm_build_352.dm_build_337 <= dm_build_354 { 197 dm_build_354 = dm_build_352.dm_build_337 198 } 199 dm_build_353.Write(dm_build_352.dm_build_335[dm_build_352.dm_build_336 : dm_build_352.dm_build_336+dm_build_354]) 200 dm_build_352.dm_build_336 += dm_build_354 201 dm_build_352.dm_build_337 -= dm_build_354 202 return dm_build_354 203 } 204 func (dm_build_356 *dm_build_334) dm_build_355(dm_build_357 int) byte { 205 return dm_build_356.dm_build_335[dm_build_356.dm_build_336+dm_build_357] 206 }