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  }