1- using System . Collections . Generic ;
1+
2+
3+ using System ;
4+ using System . Collections . Generic ;
5+
26
37// ReSharper disable once CheckNamespace
48namespace StructLinq
59{
10+
11+ public static partial class StructEnumerable
12+ {
13+ #region private fields
14+ private static Int16 Int16Sum < TEnumerator > ( TEnumerator enumerator )
15+ where TEnumerator : IEnumerator < Int16 >
16+ {
17+ Int16 result = 0 ;
18+ while ( enumerator . MoveNext ( ) )
19+ {
20+ result += enumerator . Current ;
21+ }
22+ return result ;
23+ }
24+ #endregion
25+ public static Int16 Sum < TEnumerator > ( this ITypedEnumerable < Int16 , TEnumerator > enumerable )
26+ where TEnumerator : IEnumerator < Int16 >
27+ {
28+ using ( var enumerator = enumerable . GetTypedEnumerator ( ) )
29+ {
30+ return Int16Sum ( enumerator ) ;
31+ }
32+ }
33+ }
34+
35+
36+ public static partial class StructEnumerable
37+ {
38+ #region private fields
39+ private static Int32 Int32Sum < TEnumerator > ( TEnumerator enumerator )
40+ where TEnumerator : IEnumerator < Int32 >
41+ {
42+ Int32 result = 0 ;
43+ while ( enumerator . MoveNext ( ) )
44+ {
45+ result += enumerator . Current ;
46+ }
47+ return result ;
48+ }
49+ #endregion
50+ public static Int32 Sum < TEnumerator > ( this ITypedEnumerable < Int32 , TEnumerator > enumerable )
51+ where TEnumerator : IEnumerator < Int32 >
52+ {
53+ using ( var enumerator = enumerable . GetTypedEnumerator ( ) )
54+ {
55+ return Int32Sum ( enumerator ) ;
56+ }
57+ }
58+ }
59+
60+
61+ public static partial class StructEnumerable
62+ {
63+ #region private fields
64+ private static Int64 Int64Sum < TEnumerator > ( TEnumerator enumerator )
65+ where TEnumerator : IEnumerator < Int64 >
66+ {
67+ Int64 result = 0 ;
68+ while ( enumerator . MoveNext ( ) )
69+ {
70+ result += enumerator . Current ;
71+ }
72+ return result ;
73+ }
74+ #endregion
75+ public static Int64 Sum < TEnumerator > ( this ITypedEnumerable < Int64 , TEnumerator > enumerable )
76+ where TEnumerator : IEnumerator < Int64 >
77+ {
78+ using ( var enumerator = enumerable . GetTypedEnumerator ( ) )
79+ {
80+ return Int64Sum ( enumerator ) ;
81+ }
82+ }
83+ }
84+
85+
86+ public static partial class StructEnumerable
87+ {
88+ #region private fields
89+ private static UInt16 UInt16Sum < TEnumerator > ( TEnumerator enumerator )
90+ where TEnumerator : IEnumerator < UInt16 >
91+ {
92+ UInt16 result = 0 ;
93+ while ( enumerator . MoveNext ( ) )
94+ {
95+ result += enumerator . Current ;
96+ }
97+ return result ;
98+ }
99+ #endregion
100+ public static UInt16 Sum < TEnumerator > ( this ITypedEnumerable < UInt16 , TEnumerator > enumerable )
101+ where TEnumerator : IEnumerator < UInt16 >
102+ {
103+ using ( var enumerator = enumerable . GetTypedEnumerator ( ) )
104+ {
105+ return UInt16Sum ( enumerator ) ;
106+ }
107+ }
108+ }
109+
110+
111+ public static partial class StructEnumerable
112+ {
113+ #region private fields
114+ private static UInt32 UInt32Sum < TEnumerator > ( TEnumerator enumerator )
115+ where TEnumerator : IEnumerator < UInt32 >
116+ {
117+ UInt32 result = 0 ;
118+ while ( enumerator . MoveNext ( ) )
119+ {
120+ result += enumerator . Current ;
121+ }
122+ return result ;
123+ }
124+ #endregion
125+ public static UInt32 Sum < TEnumerator > ( this ITypedEnumerable < UInt32 , TEnumerator > enumerable )
126+ where TEnumerator : IEnumerator < UInt32 >
127+ {
128+ using ( var enumerator = enumerable . GetTypedEnumerator ( ) )
129+ {
130+ return UInt32Sum ( enumerator ) ;
131+ }
132+ }
133+ }
134+
135+
136+ public static partial class StructEnumerable
137+ {
138+ #region private fields
139+ private static UInt64 UInt64Sum < TEnumerator > ( TEnumerator enumerator )
140+ where TEnumerator : IEnumerator < UInt64 >
141+ {
142+ UInt64 result = 0 ;
143+ while ( enumerator . MoveNext ( ) )
144+ {
145+ result += enumerator . Current ;
146+ }
147+ return result ;
148+ }
149+ #endregion
150+ public static UInt64 Sum < TEnumerator > ( this ITypedEnumerable < UInt64 , TEnumerator > enumerable )
151+ where TEnumerator : IEnumerator < UInt64 >
152+ {
153+ using ( var enumerator = enumerable . GetTypedEnumerator ( ) )
154+ {
155+ return UInt64Sum ( enumerator ) ;
156+ }
157+ }
158+ }
159+
160+
6161 public static partial class StructEnumerable
7162 {
8163 #region private fields
9- private static int Sum < TEnumerator > ( TEnumerator enumerator )
10- where TEnumerator : IEnumerator < int >
164+ private static Single SingleSum < TEnumerator > ( TEnumerator enumerator )
165+ where TEnumerator : IEnumerator < Single >
11166 {
12- int result = 0 ;
167+ Single result = 0 ;
13168 while ( enumerator . MoveNext ( ) )
14169 {
15170 result += enumerator . Current ;
16171 }
17172 return result ;
18173 }
19174 #endregion
20- public static int Sum < TEnumerator > ( this ITypedEnumerable < int , TEnumerator > enumerable )
21- where TEnumerator : IEnumerator < int >
175+ public static Single Sum < TEnumerator > ( this ITypedEnumerable < Single , TEnumerator > enumerable )
176+ where TEnumerator : IEnumerator < Single >
22177 {
23178 using ( var enumerator = enumerable . GetTypedEnumerator ( ) )
24179 {
25- return Sum ( enumerator ) ;
180+ return SingleSum ( enumerator ) ;
26181 }
27182 }
28183 }
29- }
184+
185+
186+ public static partial class StructEnumerable
187+ {
188+ #region private fields
189+ private static Double DoubleSum < TEnumerator > ( TEnumerator enumerator )
190+ where TEnumerator : IEnumerator < Double >
191+ {
192+ Double result = 0 ;
193+ while ( enumerator . MoveNext ( ) )
194+ {
195+ result += enumerator . Current ;
196+ }
197+ return result ;
198+ }
199+ #endregion
200+ public static Double Sum < TEnumerator > ( this ITypedEnumerable < Double , TEnumerator > enumerable )
201+ where TEnumerator : IEnumerator < Double >
202+ {
203+ using ( var enumerator = enumerable . GetTypedEnumerator ( ) )
204+ {
205+ return DoubleSum ( enumerator ) ;
206+ }
207+ }
208+ }
209+
210+
211+ public static partial class StructEnumerable
212+ {
213+ #region private fields
214+ private static Byte ByteSum < TEnumerator > ( TEnumerator enumerator )
215+ where TEnumerator : IEnumerator < Byte >
216+ {
217+ Byte result = 0 ;
218+ while ( enumerator . MoveNext ( ) )
219+ {
220+ result += enumerator . Current ;
221+ }
222+ return result ;
223+ }
224+ #endregion
225+ public static Byte Sum < TEnumerator > ( this ITypedEnumerable < Byte , TEnumerator > enumerable )
226+ where TEnumerator : IEnumerator < Byte >
227+ {
228+ using ( var enumerator = enumerable . GetTypedEnumerator ( ) )
229+ {
230+ return ByteSum ( enumerator ) ;
231+ }
232+ }
233+ }
234+
235+
236+ public static partial class StructEnumerable
237+ {
238+ #region private fields
239+ private static SByte SByteSum < TEnumerator > ( TEnumerator enumerator )
240+ where TEnumerator : IEnumerator < SByte >
241+ {
242+ SByte result = 0 ;
243+ while ( enumerator . MoveNext ( ) )
244+ {
245+ result += enumerator . Current ;
246+ }
247+ return result ;
248+ }
249+ #endregion
250+ public static SByte Sum < TEnumerator > ( this ITypedEnumerable < SByte , TEnumerator > enumerable )
251+ where TEnumerator : IEnumerator < SByte >
252+ {
253+ using ( var enumerator = enumerable . GetTypedEnumerator ( ) )
254+ {
255+ return SByteSum ( enumerator ) ;
256+ }
257+ }
258+ }
259+
260+ }
0 commit comments