コード例 #1
0
        /// <summary cref="IBackendCodeGenerator.GenerateCode(Broadcast)"/>
        public void GenerateCode(Broadcast broadcast)
        {
            var source = Load(broadcast.Variable);
            var origin = Load(broadcast.Origin);
            var target = Allocate(broadcast);

            using var statement = BeginStatement(target);
            statement.AppendCommand(
                CLInstructions.GetBroadcastOperation(
                    broadcast.Kind));
            statement.BeginArguments();
            statement.AppendArgument(source);
            statement.AppendArgument(origin);
            statement.EndArguments();
        }
コード例 #2
0
        /// <summary cref="IValueVisitor.Visit(Broadcast)"/>
        public void Visit(Broadcast broadcast)
        {
            var source = LoadIntrinsic(broadcast.Variable);
            var origin = LoadIntrinsic(broadcast.Origin);
            var target = AllocateIntrinsic(broadcast);

            using (var statement = BeginStatement(target))
            {
                statement.AppendCommand(
                    CLInstructions.GetBroadcastOperation(
                        broadcast.Kind));
                statement.BeginArguments();
                statement.AppendArgument(source);
                statement.AppendArgument(origin);
                statement.EndArguments();
            }
        }