public static VariationModel[] GetVariationsFromFlameModel(FlameModel model) { var length = model.VariationIds.Count; var variations = new VariationModel[length]; var hasParameters = model.Parameters != null; var hasWeights = model.Weights != null; for (var i = 0; i < length; i++) { if (!VariationFactoryModel.StaticVariationFactory.TryGet(model.VariationIds[i], out var v)) { throw new ArgumentOutOfRangeException(nameof(model), @"UNKNOWN VARIATION ID"); } if (hasParameters) { v.SetParameters(model.Parameters[i]); } if (hasWeights) { v.W = model.Weights[i]; } variations[i] = v; } return(variations); }
private static double[] GetParameters(VariationModel variationModel) { var parameters = new double[variationModel.HasParameters]; for (var i = 0; i < parameters.Length; i++) { switch (i) { case 0: parameters[i] = variationModel.P1; break; case 1: parameters[i] = variationModel.P2; break; case 2: parameters[i] = variationModel.P3; break; case 3: parameters[i] = variationModel.P4; break; } } return(parameters); }
private static string[] GetParameterNames(VariationModel variationModel) { var names = new string[variationModel.HasParameters]; for (var i = 0; i < names.Length; i++) { switch (i) { case 0: names[i] = variationModel.P1Name; break; case 1: names[i] = variationModel.P2Name; break; case 2: names[i] = variationModel.P3Name; break; case 3: names[i] = variationModel.P4Name; break; } } return(names); }
public bool TryGet(string name, out VariationModel variation) { variation = null; if (!TryGetType(name, out var type)) { return(false); } variation = (VariationModel)Activator.CreateInstance(type); return(true); }
public string GetString(VariationModel variation) { return($"[{variation.Id:00}] {variation.Name}"); }