Example #1
0
        public async Task <ExecutionResult> RunAsync(string input, IChannel channel)
        {
            var(name, args) = ParseInput(input);

            var symbol = SymbolResolver.Resolve(name) as IQSharpSymbol;

            if (symbol == null)
            {
                throw new InvalidOperationException($"Invalid operation name: {name}");
            }

            using var qsim = new QuantumSimulator().WithJupyterDisplay(channel, ConfigurationSource);
            var value = await symbol.Operation.RunAsync(qsim, args);

            return(value.ToExecutionResult());
        }