コード例 #1
0
 /// <summary>
 /// Constructs a new value.
 /// </summary>
 /// <param name="context">The current IR context.</param>
 /// <param name="basicBlock">The parent basic block.</param>
 /// <param name="dimension">The constant dimension.</param>
 internal GroupDimensionValue(
     IRContext context,
     BasicBlock basicBlock,
     DeviceConstantDimension3D dimension)
     : base(context, basicBlock, dimension)
 {
 }
コード例 #2
0
 public GridIntrinsicAttribute(
     GridIntrinsicKind intrinsicKind,
     DeviceConstantDimension3D dimension)
 {
     IntrinsicKind = intrinsicKind;
     Dimension     = dimension;
 }
コード例 #3
0
 private void MakeIntrinsicValue(
     Value value,
     string operation,
     DeviceConstantDimension3D dimension) =>
 MakeIntrinsicValue(
     value,
     operation,
     ((int)dimension).ToString());
コード例 #4
0
 /// <summary>
 /// Constructs a new value.
 /// </summary>
 /// <param name="context">The current IR context.</param>
 /// <param name="basicBlock">The parent basic block.</param>
 /// <param name="dimension">The device constant dimension.</param>
 internal DeviceConstantDimensionValue(
     IRContext context,
     BasicBlock basicBlock,
     DeviceConstantDimension3D dimension)
     : base(
         basicBlock,
         context.GetPrimitiveType(BasicValueType.Int32))
 {
     Dimension = dimension;
 }
コード例 #5
0
ファイル: IRBuilder.cs プロジェクト: nguyenvuduc/ILGPU
 /// <summary>
 /// Creates a node that represents of a <see cref="Group.Dimension"/> property.
 /// </summary>
 /// <param name="dimension">The constant dimension.</param>
 /// <returns>A reference to the requested value.</returns>
 public ValueReference CreateGroupDimensionValue(DeviceConstantDimension3D dimension)
 {
     Debug.Assert(
         dimension >= DeviceConstantDimension3D.X && dimension <= DeviceConstantDimension3D.Z,
         "Invalid dimension value");
     return(Append(new GroupDimensionValue(
                       Context,
                       BasicBlock,
                       dimension)));
 }
コード例 #6
0
 /// <summary>
 /// Constructs a new value.
 /// </summary>
 /// <param name="context">The current IR context.</param>
 /// <param name="basicBlock">The parent basic block.</param>
 /// <param name="dimension">The constant dimension.</param>
 internal GridDimensionValue(
     IRContext context,
     BasicBlock basicBlock,
     DeviceConstantDimension3D dimension)
     : base(
         ValueKind.GridDimension,
         context,
         basicBlock,
         dimension)
 {
 }
コード例 #7
0
ファイル: IRBuilder.cs プロジェクト: saimarpaka/ILGPU
 /// <summary>
 /// Creates a node that represents of a <see cref="Group.Dimension"/> property.
 /// </summary>
 /// <param name="location">The current location.</param>
 /// <param name="dimension">The constant dimension.</param>
 /// <returns>A reference to the requested value.</returns>
 public ValueReference CreateGroupDimensionValue(
     Location location,
     DeviceConstantDimension3D dimension)
 {
     if (dimension < DeviceConstantDimension3D.X ||
         dimension > DeviceConstantDimension3D.Z)
     {
         throw location.GetArgumentException(nameof(dimension));
     }
     return(Append(new GroupDimensionValue(
                       GetInitializer(location),
                       dimension)));
 }