Skip to content

Commit ee55c4a

Browse files
carlossanlopRon Petrusha
authored andcommitted
coreclr: Automatic port of triple slash from System.Numerics (#2726)
* coreclr: Automatic port of triple slash from System.Numerics * Update BitOperations.xml * Update Vector.xml * Update Vector`1.xml
1 parent 605defd commit ee55c4a

File tree

3 files changed

+301
-160
lines changed

3 files changed

+301
-160
lines changed

xml/System.Numerics/BitOperations.xml

Lines changed: 201 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
</Base>
1515
<Interfaces />
1616
<Docs>
17-
<summary>To be added.</summary>
17+
<summary>Provides utility methods for intrinsic bit-twiddling operations. The methods use hardware intrinsics when available on the underlying platform; otherwise, they use optimized software fallbacks.</summary>
1818
<remarks>To be added.</remarks>
1919
</Docs>
2020
<Members>
@@ -42,10 +42,20 @@
4242
<Parameter Name="value" Type="System.UInt32" />
4343
</Parameters>
4444
<Docs>
45-
<param name="value">To be added.</param>
46-
<summary>To be added.</summary>
47-
<returns>To be added.</returns>
48-
<remarks>To be added.</remarks>
45+
<param name="value">The mask.</param>
46+
<summary>Counts the number of leading zero bits in an unsigned 32-bit integer mask.</summary>
47+
<returns>The number of leading zero bits in a mask.</returns>
48+
<remarks>
49+
<format type="text/markdown">
50+
<![CDATA[
51+
52+
### Remarks
53+
54+
This method is similar in behavior to the x86 instruction [LZCNT](xref:System.Runtime.Intrinsics.X86.Lzcnt).
55+
56+
]]>
57+
</format>
58+
</remarks>
4959
</Docs>
5060
</Member>
5161
<Member MemberName="LeadingZeroCount">
@@ -72,10 +82,19 @@
7282
<Parameter Name="value" Type="System.UInt64" />
7383
</Parameters>
7484
<Docs>
75-
<param name="value">To be added.</param>
76-
<summary>To be added.</summary>
77-
<returns>To be added.</returns>
78-
<remarks>To be added.</remarks>
85+
<param name="value">The mask.</param>
86+
<summary>Counts the number of leading zero bits in an unsigned 64-bit integer mask.</summary>
87+
<returns>The number of leading zero bits in a mask.</returns>
88+
<remarks>
89+
<format type="text/markdown">
90+
<![CDATA[
91+
92+
### Remarks
93+
94+
This method is similar in behavior to the x86 instruction [LZCNT](xref:System.Runtime.Intrinsics.X86.Lzcnt).
95+
]]>
96+
</format>
97+
</remarks>
7998
</Docs>
8099
</Member>
81100
<Member MemberName="Log2">
@@ -102,10 +121,20 @@
102121
<Parameter Name="value" Type="System.UInt32" />
103122
</Parameters>
104123
<Docs>
105-
<param name="value">To be added.</param>
106-
<summary>To be added.</summary>
107-
<returns>To be added.</returns>
108-
<remarks>To be added.</remarks>
124+
<param name="value">The number from which to obtain the logarithm.</param>
125+
<summary>Returns the integer (floor) log of the specified value, base 2.</summary>
126+
<returns>The log of the specified value, base 2.</returns>
127+
<remarks>
128+
<format type="text/markdown">
129+
<![CDATA[
130+
131+
### Remarks
132+
133+
Note that by convention, input value 0 returns 0 since Log(0) is undefined.
134+
135+
]]>
136+
</format>
137+
</remarks>
109138
</Docs>
110139
</Member>
111140
<Member MemberName="Log2">
@@ -132,10 +161,20 @@
132161
<Parameter Name="value" Type="System.UInt64" />
133162
</Parameters>
134163
<Docs>
135-
<param name="value">To be added.</param>
136-
<summary>To be added.</summary>
137-
<returns>To be added.</returns>
138-
<remarks>To be added.</remarks>
164+
<param name="value">The number from which to obtain the logarithm.</param>
165+
<summary>Returns the integer (floor) log of the specified value, base 2.</summary>
166+
<returns>The log of the specified value, base 2.</returns>
167+
<remarks>
168+
<format type="text/markdown">
169+
<![CDATA[
170+
171+
### Remarks
172+
173+
Note that by convention, input value 0 returns 0 since Log(0) is undefined.
174+
175+
]]>
176+
</format>
177+
</remarks>
139178
</Docs>
140179
</Member>
141180
<Member MemberName="PopCount">
@@ -162,10 +201,20 @@
162201
<Parameter Name="value" Type="System.UInt32" />
163202
</Parameters>
164203
<Docs>
165-
<param name="value">To be added.</param>
166-
<summary>To be added.</summary>
167-
<returns>To be added.</returns>
168-
<remarks>To be added.</remarks>
204+
<param name="value">The mask.</param>
205+
<summary>Returns the population count (number of bits set) of a mask.</summary>
206+
<returns>The population count of a mask.</returns>
207+
<remarks>
208+
<format type="text/markdown">
209+
<![CDATA[
210+
211+
### Remarks
212+
213+
This method is similar in behavior to the x86 instruction [POPCNT](xref:System.Runtime.Intrinsics.X86.Popcnt).
214+
215+
]]>
216+
</format>
217+
</remarks>
169218
</Docs>
170219
</Member>
171220
<Member MemberName="PopCount">
@@ -192,10 +241,20 @@
192241
<Parameter Name="value" Type="System.UInt64" />
193242
</Parameters>
194243
<Docs>
195-
<param name="value">To be added.</param>
196-
<summary>To be added.</summary>
197-
<returns>To be added.</returns>
198-
<remarks>To be added.</remarks>
244+
<param name="value">The mask.</param>
245+
<summary>Returns the population count (number of bits set) of an unsigned 64-bit integer mask.</summary>
246+
<returns>The population count of the mask.</returns>
247+
<remarks>
248+
<format type="text/markdown">
249+
<![CDATA[
250+
251+
### Remarks
252+
253+
This method is similar in behavior to the x86 instruction [POPCNT](xref:System.Runtime.Intrinsics.X86.Popcnt).
254+
255+
]]>
256+
</format>
257+
</remarks>
199258
</Docs>
200259
</Member>
201260
<Member MemberName="RotateLeft">
@@ -223,11 +282,21 @@
223282
<Parameter Name="offset" Type="System.Int32" />
224283
</Parameters>
225284
<Docs>
226-
<param name="value">To be added.</param>
227-
<param name="offset">To be added.</param>
228-
<summary>To be added.</summary>
229-
<returns>To be added.</returns>
230-
<remarks>To be added.</remarks>
285+
<param name="value">The value to rotate.</param>
286+
<param name="offset">The number of bits to rotate by. Any value outside the range [0..31] is treated as congruent mod 32.</param>
287+
<summary>Rotates the specified value left by the specified number of bits.</summary>
288+
<returns>The rotated value.</returns>
289+
<remarks>
290+
<format type="text/markdown">
291+
<![CDATA[
292+
293+
### Remarks
294+
295+
This method is similar in behavior to the x86 instruction ROL.
296+
297+
]]>
298+
</format>
299+
</remarks>
231300
</Docs>
232301
</Member>
233302
<Member MemberName="RotateLeft">
@@ -255,11 +324,21 @@
255324
<Parameter Name="offset" Type="System.Int32" />
256325
</Parameters>
257326
<Docs>
258-
<param name="value">To be added.</param>
259-
<param name="offset">To be added.</param>
260-
<summary>To be added.</summary>
261-
<returns>To be added.</returns>
262-
<remarks>To be added.</remarks>
327+
<param name="value">The value to rotate.</param>
328+
<param name="offset">The number of bits to rotate by. Any value outside the range [0..63] is treated as congruent mod 64.</param>
329+
<summary>Rotates the specified value left by the specified number of bits.</summary>
330+
<returns>The rotated value.</returns>
331+
<remarks>
332+
<format type="text/markdown">
333+
<![CDATA[
334+
335+
### Remarks
336+
337+
This method is similar in behavior to the x86 instruction ROL.
338+
339+
]]>
340+
</format>
341+
</remarks>
263342
</Docs>
264343
</Member>
265344
<Member MemberName="RotateRight">
@@ -287,11 +366,21 @@
287366
<Parameter Name="offset" Type="System.Int32" />
288367
</Parameters>
289368
<Docs>
290-
<param name="value">To be added.</param>
291-
<param name="offset">To be added.</param>
292-
<summary>To be added.</summary>
293-
<returns>To be added.</returns>
294-
<remarks>To be added.</remarks>
369+
<param name="value">The value to rotate.</param>
370+
<param name="offset">The number of bits to rotate by. Any value outside the range [0..31] is treated as congruent mod 32.</param>
371+
<summary>Rotates the specified value right by the specified number of bits.</summary>
372+
<returns>The rotated value.</returns>
373+
<remarks>
374+
<format type="text/markdown">
375+
<![CDATA[
376+
377+
### Remarks
378+
379+
This method is similar in behavior to the x86 instruction ROR.
380+
381+
]]>
382+
</format>
383+
</remarks>
295384
</Docs>
296385
</Member>
297386
<Member MemberName="RotateRight">
@@ -319,11 +408,21 @@
319408
<Parameter Name="offset" Type="System.Int32" />
320409
</Parameters>
321410
<Docs>
322-
<param name="value">To be added.</param>
323-
<param name="offset">To be added.</param>
324-
<summary>To be added.</summary>
325-
<returns>To be added.</returns>
326-
<remarks>To be added.</remarks>
411+
<param name="value">The value to rotate.</param>
412+
<param name="offset">The number of bits to rotate by. Any value outside the range [0..63] is treated as congruent mod 64.</param>
413+
<summary>Rotates the specified value right by the specified number of bits.</summary>
414+
<returns>The rotated value.</returns>
415+
<remarks>
416+
<format type="text/markdown">
417+
<![CDATA[
418+
419+
### Remarks
420+
421+
This method is similar in behavior to the x86 instruction ROR.
422+
423+
]]>
424+
</format>
425+
</remarks>
327426
</Docs>
328427
</Member>
329428
<Member MemberName="TrailingZeroCount">
@@ -345,10 +444,20 @@
345444
<Parameter Name="value" Type="System.Int32" />
346445
</Parameters>
347446
<Docs>
348-
<param name="value">To be added.</param>
349-
<summary>To be added.</summary>
350-
<returns>To be added.</returns>
351-
<remarks>To be added.</remarks>
447+
<param name="value">The mask.</param>
448+
<summary>Counts the number of trailing zero bits in an 32-bit integer value mask.</summary>
449+
<returns>The number of trailing zero bits in the integer value.</returns>
450+
<remarks>
451+
<format type="text/markdown">
452+
<![CDATA[
453+
454+
### Remarks
455+
456+
This method is similar in behavior to the x86 instruction TZCNT.
457+
458+
]]>
459+
</format>
460+
</remarks>
352461
</Docs>
353462
</Member>
354463
<Member MemberName="TrailingZeroCount">
@@ -370,10 +479,20 @@
370479
<Parameter Name="value" Type="System.Int64" />
371480
</Parameters>
372481
<Docs>
373-
<param name="value">To be added.</param>
374-
<summary>To be added.</summary>
375-
<returns>To be added.</returns>
376-
<remarks>To be added.</remarks>
482+
<param name="value">The mask.</param>
483+
<summary>Counts the number of trailing zero bits in a 64-bit integer value mask.</summary>
484+
<returns>The number of trailing zero bits in the mask.</returns>
485+
<remarks>
486+
<format type="text/markdown">
487+
<![CDATA[
488+
489+
### Remarks
490+
491+
This method is similar in behavior to the x86 instruction TZCNT.
492+
493+
]]>
494+
</format>
495+
</remarks>
377496
</Docs>
378497
</Member>
379498
<Member MemberName="TrailingZeroCount">
@@ -400,10 +519,20 @@
400519
<Parameter Name="value" Type="System.UInt32" />
401520
</Parameters>
402521
<Docs>
403-
<param name="value">To be added.</param>
404-
<summary>To be added.</summary>
405-
<returns>To be added.</returns>
406-
<remarks>To be added.</remarks>
522+
<param name="value">The mask.</param>
523+
<summary>Counts the number of trailing zero bits in an unsigned 32-bit integer value mask.</summary>
524+
<returns>The number of trailing zero bits in the mask.</returns>
525+
<remarks>
526+
<format type="text/markdown">
527+
<![CDATA[
528+
529+
### Remarks
530+
531+
This method is similar in behavior to the x86 instruction TZCNT.
532+
533+
]]>
534+
</format>
535+
</remarks>
407536
</Docs>
408537
</Member>
409538
<Member MemberName="TrailingZeroCount">
@@ -430,11 +559,21 @@
430559
<Parameter Name="value" Type="System.UInt64" />
431560
</Parameters>
432561
<Docs>
433-
<param name="value">To be added.</param>
434-
<summary>To be added.</summary>
435-
<returns>To be added.</returns>
436-
<remarks>To be added.</remarks>
562+
<param name="value">The mask.</param>
563+
<summary>Count the number of trailing zero bits in an unsigned 64-bit integer value mask.</summary>
564+
<returns>The number of trailing zero bits in the mask.</returns>
565+
<remarks>
566+
<format type="text/markdown">
567+
<![CDATA[
568+
569+
### Remarks
570+
571+
This meethod is similar in behavior to the x86 instruction TZCNT.
572+
573+
]]>
574+
</format>
575+
</remarks>
437576
</Docs>
438577
</Member>
439578
</Members>
440-
</Type>
579+
</Type>

0 commit comments

Comments
 (0)