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); }