Exemple #1
0
        private IBinaryGroup <InputType> GetGroup(IEnumerable <InputType> originalInput, IEnumerable <short> qubits)
        {
            var group = new BinaryGroup <InputType>();

            for (var i = 0; i < qubits.Count(); i++)
            {
                if (qubits.ElementAt(i) == 1)
                {
                    group.AddToGroup1(originalInput.ElementAt(i));
                }
                else
                {
                    group.AddToGroup2(originalInput.ElementAt(i));
                }
            }

            return(group);
        }
        private bool GetBreakingUsecasesResult(IEnumerable <InputType> input, out IResponse <IEnumerable <IBinaryGroup <InputType> > > response)
        {
            response = null;
            if (input == null || !input.Any() || input.Count() == 1)
            {
                response = new GeneralResponse <IEnumerable <IBinaryGroup <InputType> > >(null, 400, "The input was null/empty.");
                return(true);
            }

            if (input.Count() == 2)
            {
                var group = new BinaryGroup <InputType>();
                group.AddToGroup1(input.First());
                group.AddToGroup2(input.ElementAt(1));
                response = new GeneralResponse <IEnumerable <IBinaryGroup <InputType> > >(
                    new List <IBinaryGroup <InputType> > {
                    group
                }, 200);
                return(true);
            }

            return(false);
        }