public IActionResult SelfShrinkingGenerate([FromBody] LfsrGeneratorsViewModel viewModel) { var numOfRegisters = viewModel.Registers.Length; Lfsr[] registers = new Lfsr[numOfRegisters]; for (int i = 0; i < numOfRegisters; i++) { registers[i] = new Lfsr(viewModel.Registers[i]); registers[i].SetFeedbackFunction(viewModel.FeedbackFunctions[i]); } SelfShrinkingGenerator generator = new SelfShrinkingGenerator(registers); SeriesMode mode = (SeriesMode)viewModel.Mode; try { switch (mode) { case SeriesMode.Binary: { var data = generator.GenerateBitsAsChars(viewModel.Length); var r = LfsrHelper.GetRegisterAsStringArray(generator.Registers); return(Json(new { data = new string(data), registers = r })); } case SeriesMode.Hex: { var data = generator.GenerateBytes(viewModel.Length); var r = LfsrHelper.GetRegisterAsStringArray(generator.Registers); return(Json(new { data = BitConverter.ToString(data), registers = r })); } case SeriesMode.Base64: { var data = generator.GenerateBytes(viewModel.Length); var r = LfsrHelper.GetRegisterAsStringArray(generator.Registers); return(Json(new { data = data, registers = r })); } } } catch (Exception e) { return(BadRequest(new { Result = false, Message = e.Message })); } return(Json("")); }
public IActionResult SelfDecimationGenerate([FromBody] LfsrGeneratorsViewModel viewModel) { var numOfRegisters = viewModel.Registers.Length; Lfsr[] registers = new Lfsr[numOfRegisters]; for (int i = 0; i < numOfRegisters; i++) { registers[i] = new Lfsr(viewModel.Registers[i]); registers[i].SetFeedbackFunction(viewModel.FeedbackFunctions[i]); } SelfDecimationGenerator generator = new SelfDecimationGenerator(registers); generator.K_value = (int)viewModel.K_value; generator.D_value = (int)viewModel.D_value; SeriesMode mode = (SeriesMode)viewModel.Mode; switch (mode) { case SeriesMode.Binary: { var data = generator.GenerateBitsAsChars(viewModel.Length); var r = LfsrHelper.GetRegisterAsStringArray(generator.Registers); return(Json(new { data = new string(data), registers = r })); } case SeriesMode.Hex: { var data = generator.GenerateBytes(viewModel.Length); var r = LfsrHelper.GetRegisterAsStringArray(generator.Registers); return(Json(new { data = BitConverter.ToString(data), registers = r })); } case SeriesMode.Base64: { var data = generator.GenerateBytes(viewModel.Length); var r = LfsrHelper.GetRegisterAsStringArray(generator.Registers); return(Json(new { data = data, registers = r })); } } return(Json("")); }