12345678910111213141516171819202122232425262728293031 |
- using System;
-
- namespace Unity.Burst.CompilerServices
- {
- /// <summary>
- /// Can be used to specify that a parameter or return has a range assumption.
- /// Assumptions feed directly into the optimizer and allow better codegen.
- ///
- /// Only usable on values of type scalar integer.
- ///
- /// The range is a closed interval [min..max] - EG. the attributed value
- /// is greater-than-or-equal-to min and less-than-or-equal-to max.
- /// </summary>
- [AttributeUsage(AttributeTargets.ReturnValue | AttributeTargets.Parameter)]
- public class AssumeRangeAttribute : Attribute
- {
- /// <summary>
- /// Assume that an integer is in the signed closed interval [min..max].
- /// </summary>
- /// <param name="min">The inclusive minimum value.</param>
- /// <param name="max">The inclusive maximum value.</param>
- public AssumeRangeAttribute(long min, long max) { }
-
- /// <summary>
- /// Assume that an integer is in the unsigned closed interval [min..max].
- /// </summary>
- /// <param name="min">The inclusive minimum value.</param>
- /// <param name="max">The inclusive maximum value.</param>
- public AssumeRangeAttribute(ulong min, ulong max) { }
- }
- }
|