gitee.com/runner.mei/dm@v0.0.0-20220207044607-a9ba0dc20bf7/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_902 struct { 13 dm_build_903 *list.List 14 dm_build_904 *dm_build_956 15 dm_build_905 int 16 } 17 18 func Dm_build_906() *Dm_build_902 { 19 return &Dm_build_902{ 20 dm_build_903: list.New(), 21 dm_build_905: 0, 22 } 23 } 24 25 func (dm_build_908 *Dm_build_902) Dm_build_907() int { 26 return dm_build_908.dm_build_905 27 } 28 29 func (dm_build_910 *Dm_build_902) Dm_build_909(dm_build_911 *Dm_build_980, dm_build_912 int) int { 30 var dm_build_913 = 0 31 var dm_build_914 = 0 32 for dm_build_913 < dm_build_912 && dm_build_910.dm_build_904 != nil { 33 dm_build_914 = dm_build_910.dm_build_904.dm_build_964(dm_build_911, dm_build_912-dm_build_913) 34 if dm_build_910.dm_build_904.dm_build_959 == 0 { 35 dm_build_910.dm_build_946() 36 } 37 dm_build_913 += dm_build_914 38 dm_build_910.dm_build_905 -= dm_build_914 39 } 40 return dm_build_913 41 } 42 43 func (dm_build_916 *Dm_build_902) Dm_build_915(dm_build_917 []byte, dm_build_918 int, dm_build_919 int) int { 44 var dm_build_920 = 0 45 var dm_build_921 = 0 46 for dm_build_920 < dm_build_919 && dm_build_916.dm_build_904 != nil { 47 dm_build_921 = dm_build_916.dm_build_904.dm_build_968(dm_build_917, dm_build_918, dm_build_919-dm_build_920) 48 if dm_build_916.dm_build_904.dm_build_959 == 0 { 49 dm_build_916.dm_build_946() 50 } 51 dm_build_920 += dm_build_921 52 dm_build_916.dm_build_905 -= dm_build_921 53 dm_build_918 += dm_build_921 54 } 55 return dm_build_920 56 } 57 58 func (dm_build_923 *Dm_build_902) Dm_build_922(dm_build_924 io.Writer, dm_build_925 int) int { 59 var dm_build_926 = 0 60 var dm_build_927 = 0 61 for dm_build_926 < dm_build_925 && dm_build_923.dm_build_904 != nil { 62 dm_build_927 = dm_build_923.dm_build_904.dm_build_973(dm_build_924, dm_build_925-dm_build_926) 63 if dm_build_923.dm_build_904.dm_build_959 == 0 { 64 dm_build_923.dm_build_946() 65 } 66 dm_build_926 += dm_build_927 67 dm_build_923.dm_build_905 -= dm_build_927 68 } 69 return dm_build_926 70 } 71 72 func (dm_build_929 *Dm_build_902) Dm_build_928(dm_build_930 []byte, dm_build_931 int, dm_build_932 int) { 73 if dm_build_932 == 0 { 74 return 75 } 76 var dm_build_933 = dm_build_960(dm_build_930, dm_build_931, dm_build_932) 77 if dm_build_929.dm_build_904 == nil { 78 dm_build_929.dm_build_904 = dm_build_933 79 } else { 80 dm_build_929.dm_build_903.PushBack(dm_build_933) 81 } 82 dm_build_929.dm_build_905 += dm_build_932 83 } 84 85 func (dm_build_935 *Dm_build_902) dm_build_934(dm_build_936 int) byte { 86 var dm_build_937 = dm_build_936 87 var dm_build_938 = dm_build_935.dm_build_904 88 for dm_build_937 > 0 && dm_build_938 != nil { 89 if dm_build_938.dm_build_959 == 0 { 90 continue 91 } 92 if dm_build_937 > dm_build_938.dm_build_959-1 { 93 dm_build_937 -= dm_build_938.dm_build_959 94 dm_build_938 = dm_build_935.dm_build_903.Front().Value.(*dm_build_956) 95 } else { 96 break 97 } 98 } 99 return dm_build_938.dm_build_977(dm_build_937) 100 } 101 func (dm_build_940 *Dm_build_902) Dm_build_939(dm_build_941 *Dm_build_902) { 102 if dm_build_941.dm_build_905 == 0 { 103 return 104 } 105 var dm_build_942 = dm_build_941.dm_build_904 106 for dm_build_942 != nil { 107 dm_build_940.dm_build_943(dm_build_942) 108 dm_build_941.dm_build_946() 109 dm_build_942 = dm_build_941.dm_build_904 110 } 111 dm_build_941.dm_build_905 = 0 112 } 113 func (dm_build_944 *Dm_build_902) dm_build_943(dm_build_945 *dm_build_956) { 114 if dm_build_945.dm_build_959 == 0 { 115 return 116 } 117 if dm_build_944.dm_build_904 == nil { 118 dm_build_944.dm_build_904 = dm_build_945 119 } else { 120 dm_build_944.dm_build_903.PushBack(dm_build_945) 121 } 122 dm_build_944.dm_build_905 += dm_build_945.dm_build_959 123 } 124 125 func (dm_build_947 *Dm_build_902) dm_build_946() { 126 var dm_build_948 = dm_build_947.dm_build_903.Front() 127 if dm_build_948 == nil { 128 dm_build_947.dm_build_904 = nil 129 } else { 130 dm_build_947.dm_build_904 = dm_build_948.Value.(*dm_build_956) 131 dm_build_947.dm_build_903.Remove(dm_build_948) 132 } 133 } 134 135 func (dm_build_950 *Dm_build_902) Dm_build_949() []byte { 136 var dm_build_951 = make([]byte, dm_build_950.dm_build_905) 137 var dm_build_952 = dm_build_950.dm_build_904 138 var dm_build_953 = 0 139 var dm_build_954 = len(dm_build_951) 140 var dm_build_955 = 0 141 for dm_build_952 != nil { 142 if dm_build_952.dm_build_959 > 0 { 143 if dm_build_954 > dm_build_952.dm_build_959 { 144 dm_build_955 = dm_build_952.dm_build_959 145 } else { 146 dm_build_955 = dm_build_954 147 } 148 copy(dm_build_951[dm_build_953:dm_build_953+dm_build_955], dm_build_952.dm_build_957[dm_build_952.dm_build_958:dm_build_952.dm_build_958+dm_build_955]) 149 dm_build_953 += dm_build_955 150 dm_build_954 -= dm_build_955 151 } 152 if dm_build_950.dm_build_903.Front() == nil { 153 dm_build_952 = nil 154 } else { 155 dm_build_952 = dm_build_950.dm_build_903.Front().Value.(*dm_build_956) 156 } 157 } 158 return dm_build_951 159 } 160 161 type dm_build_956 struct { 162 dm_build_957 []byte 163 dm_build_958 int 164 dm_build_959 int 165 } 166 167 func dm_build_960(dm_build_961 []byte, dm_build_962 int, dm_build_963 int) *dm_build_956 { 168 return &dm_build_956{ 169 dm_build_961, 170 dm_build_962, 171 dm_build_963, 172 } 173 } 174 175 func (dm_build_965 *dm_build_956) dm_build_964(dm_build_966 *Dm_build_980, dm_build_967 int) int { 176 if dm_build_965.dm_build_959 <= dm_build_967 { 177 dm_build_967 = dm_build_965.dm_build_959 178 } 179 dm_build_966.Dm_build_1059(dm_build_965.dm_build_957[dm_build_965.dm_build_958 : dm_build_965.dm_build_958+dm_build_967]) 180 dm_build_965.dm_build_958 += dm_build_967 181 dm_build_965.dm_build_959 -= dm_build_967 182 return dm_build_967 183 } 184 185 func (dm_build_969 *dm_build_956) dm_build_968(dm_build_970 []byte, dm_build_971 int, dm_build_972 int) int { 186 if dm_build_969.dm_build_959 <= dm_build_972 { 187 dm_build_972 = dm_build_969.dm_build_959 188 } 189 copy(dm_build_970[dm_build_971:dm_build_971+dm_build_972], dm_build_969.dm_build_957[dm_build_969.dm_build_958:dm_build_969.dm_build_958+dm_build_972]) 190 dm_build_969.dm_build_958 += dm_build_972 191 dm_build_969.dm_build_959 -= dm_build_972 192 return dm_build_972 193 } 194 195 func (dm_build_974 *dm_build_956) dm_build_973(dm_build_975 io.Writer, dm_build_976 int) int { 196 if dm_build_974.dm_build_959 <= dm_build_976 { 197 dm_build_976 = dm_build_974.dm_build_959 198 } 199 dm_build_975.Write(dm_build_974.dm_build_957[dm_build_974.dm_build_958 : dm_build_974.dm_build_958+dm_build_976]) 200 dm_build_974.dm_build_958 += dm_build_976 201 dm_build_974.dm_build_959 -= dm_build_976 202 return dm_build_976 203 } 204 func (dm_build_978 *dm_build_956) dm_build_977(dm_build_979 int) byte { 205 return dm_build_978.dm_build_957[dm_build_978.dm_build_958+dm_build_979] 206 }