github.com/xiyichan/dm8@v0.0.0-20211213021639-be727be3e136/d.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_875 struct { 13 dm_build_876 *list.List 14 dm_build_877 *dm_build_929 15 dm_build_878 int 16 } 17 18 func Dm_build_879() *Dm_build_875 { 19 return &Dm_build_875{ 20 dm_build_876: list.New(), 21 dm_build_878: 0, 22 } 23 } 24 25 func (dm_build_881 *Dm_build_875) Dm_build_880() int { 26 return dm_build_881.dm_build_878 27 } 28 29 func (dm_build_883 *Dm_build_875) Dm_build_882(dm_build_884 *Dm_build_953, dm_build_885 int) int { 30 var dm_build_886 = 0 31 var dm_build_887 = 0 32 for dm_build_886 < dm_build_885 && dm_build_883.dm_build_877 != nil { 33 dm_build_887 = dm_build_883.dm_build_877.dm_build_937(dm_build_884, dm_build_885-dm_build_886) 34 if dm_build_883.dm_build_877.dm_build_932 == 0 { 35 dm_build_883.dm_build_919() 36 } 37 dm_build_886 += dm_build_887 38 dm_build_883.dm_build_878 -= dm_build_887 39 } 40 return dm_build_886 41 } 42 43 func (dm_build_889 *Dm_build_875) Dm_build_888(dm_build_890 []byte, dm_build_891 int, dm_build_892 int) int { 44 var dm_build_893 = 0 45 var dm_build_894 = 0 46 for dm_build_893 < dm_build_892 && dm_build_889.dm_build_877 != nil { 47 dm_build_894 = dm_build_889.dm_build_877.dm_build_941(dm_build_890, dm_build_891, dm_build_892-dm_build_893) 48 if dm_build_889.dm_build_877.dm_build_932 == 0 { 49 dm_build_889.dm_build_919() 50 } 51 dm_build_893 += dm_build_894 52 dm_build_889.dm_build_878 -= dm_build_894 53 dm_build_891 += dm_build_894 54 } 55 return dm_build_893 56 } 57 58 func (dm_build_896 *Dm_build_875) Dm_build_895(dm_build_897 io.Writer, dm_build_898 int) int { 59 var dm_build_899 = 0 60 var dm_build_900 = 0 61 for dm_build_899 < dm_build_898 && dm_build_896.dm_build_877 != nil { 62 dm_build_900 = dm_build_896.dm_build_877.dm_build_946(dm_build_897, dm_build_898-dm_build_899) 63 if dm_build_896.dm_build_877.dm_build_932 == 0 { 64 dm_build_896.dm_build_919() 65 } 66 dm_build_899 += dm_build_900 67 dm_build_896.dm_build_878 -= dm_build_900 68 } 69 return dm_build_899 70 } 71 72 func (dm_build_902 *Dm_build_875) Dm_build_901(dm_build_903 []byte, dm_build_904 int, dm_build_905 int) { 73 if dm_build_905 == 0 { 74 return 75 } 76 var dm_build_906 = dm_build_933(dm_build_903, dm_build_904, dm_build_905) 77 if dm_build_902.dm_build_877 == nil { 78 dm_build_902.dm_build_877 = dm_build_906 79 } else { 80 dm_build_902.dm_build_876.PushBack(dm_build_906) 81 } 82 dm_build_902.dm_build_878 += dm_build_905 83 } 84 85 func (dm_build_908 *Dm_build_875) dm_build_907(dm_build_909 int) byte { 86 var dm_build_910 = dm_build_909 87 var dm_build_911 = dm_build_908.dm_build_877 88 for dm_build_910 > 0 && dm_build_911 != nil { 89 if dm_build_911.dm_build_932 == 0 { 90 continue 91 } 92 if dm_build_910 > dm_build_911.dm_build_932-1 { 93 dm_build_910 -= dm_build_911.dm_build_932 94 dm_build_911 = dm_build_908.dm_build_876.Front().Value.(*dm_build_929) 95 } else { 96 break 97 } 98 } 99 return dm_build_911.dm_build_950(dm_build_910) 100 } 101 func (dm_build_913 *Dm_build_875) Dm_build_912(dm_build_914 *Dm_build_875) { 102 if dm_build_914.dm_build_878 == 0 { 103 return 104 } 105 var dm_build_915 = dm_build_914.dm_build_877 106 for dm_build_915 != nil { 107 dm_build_913.dm_build_916(dm_build_915) 108 dm_build_914.dm_build_919() 109 dm_build_915 = dm_build_914.dm_build_877 110 } 111 dm_build_914.dm_build_878 = 0 112 } 113 func (dm_build_917 *Dm_build_875) dm_build_916(dm_build_918 *dm_build_929) { 114 if dm_build_918.dm_build_932 == 0 { 115 return 116 } 117 if dm_build_917.dm_build_877 == nil { 118 dm_build_917.dm_build_877 = dm_build_918 119 } else { 120 dm_build_917.dm_build_876.PushBack(dm_build_918) 121 } 122 dm_build_917.dm_build_878 += dm_build_918.dm_build_932 123 } 124 125 func (dm_build_920 *Dm_build_875) dm_build_919() { 126 var dm_build_921 = dm_build_920.dm_build_876.Front() 127 if dm_build_921 == nil { 128 dm_build_920.dm_build_877 = nil 129 } else { 130 dm_build_920.dm_build_877 = dm_build_921.Value.(*dm_build_929) 131 dm_build_920.dm_build_876.Remove(dm_build_921) 132 } 133 } 134 135 func (dm_build_923 *Dm_build_875) Dm_build_922() []byte { 136 var dm_build_924 = make([]byte, dm_build_923.dm_build_878) 137 var dm_build_925 = dm_build_923.dm_build_877 138 var dm_build_926 = 0 139 var dm_build_927 = len(dm_build_924) 140 var dm_build_928 = 0 141 for dm_build_925 != nil { 142 if dm_build_925.dm_build_932 > 0 { 143 if dm_build_927 > dm_build_925.dm_build_932 { 144 dm_build_928 = dm_build_925.dm_build_932 145 } else { 146 dm_build_928 = dm_build_927 147 } 148 copy(dm_build_924[dm_build_926:dm_build_926+dm_build_928], dm_build_925.dm_build_930[dm_build_925.dm_build_931:dm_build_925.dm_build_931+dm_build_928]) 149 dm_build_926 += dm_build_928 150 dm_build_927 -= dm_build_928 151 } 152 if dm_build_923.dm_build_876.Front() == nil { 153 dm_build_925 = nil 154 } else { 155 dm_build_925 = dm_build_923.dm_build_876.Front().Value.(*dm_build_929) 156 } 157 } 158 return dm_build_924 159 } 160 161 type dm_build_929 struct { 162 dm_build_930 []byte 163 dm_build_931 int 164 dm_build_932 int 165 } 166 167 func dm_build_933(dm_build_934 []byte, dm_build_935 int, dm_build_936 int) *dm_build_929 { 168 return &dm_build_929{ 169 dm_build_934, 170 dm_build_935, 171 dm_build_936, 172 } 173 } 174 175 func (dm_build_938 *dm_build_929) dm_build_937(dm_build_939 *Dm_build_953, dm_build_940 int) int { 176 if dm_build_938.dm_build_932 <= dm_build_940 { 177 dm_build_940 = dm_build_938.dm_build_932 178 } 179 dm_build_939.Dm_build_1032(dm_build_938.dm_build_930[dm_build_938.dm_build_931 : dm_build_938.dm_build_931+dm_build_940]) 180 dm_build_938.dm_build_931 += dm_build_940 181 dm_build_938.dm_build_932 -= dm_build_940 182 return dm_build_940 183 } 184 185 func (dm_build_942 *dm_build_929) dm_build_941(dm_build_943 []byte, dm_build_944 int, dm_build_945 int) int { 186 if dm_build_942.dm_build_932 <= dm_build_945 { 187 dm_build_945 = dm_build_942.dm_build_932 188 } 189 copy(dm_build_943[dm_build_944:dm_build_944+dm_build_945], dm_build_942.dm_build_930[dm_build_942.dm_build_931:dm_build_942.dm_build_931+dm_build_945]) 190 dm_build_942.dm_build_931 += dm_build_945 191 dm_build_942.dm_build_932 -= dm_build_945 192 return dm_build_945 193 } 194 195 func (dm_build_947 *dm_build_929) dm_build_946(dm_build_948 io.Writer, dm_build_949 int) int { 196 if dm_build_947.dm_build_932 <= dm_build_949 { 197 dm_build_949 = dm_build_947.dm_build_932 198 } 199 dm_build_948.Write(dm_build_947.dm_build_930[dm_build_947.dm_build_931 : dm_build_947.dm_build_931+dm_build_949]) 200 dm_build_947.dm_build_931 += dm_build_949 201 dm_build_947.dm_build_932 -= dm_build_949 202 return dm_build_949 203 } 204 func (dm_build_951 *dm_build_929) dm_build_950(dm_build_952 int) byte { 205 return dm_build_951.dm_build_930[dm_build_951.dm_build_931+dm_build_952] 206 }