/// <summary> /// Applica lo stile "Barra titolo verticale" con alcune modifiche e scrive la descrizione dell'entità. /// </summary> /// <param name="desEntita">Descrizione entità da scrivere.</param> protected override void InsertTitoloVerticale(object desEntita) { DataView informazioni = Base.Workbook.Repository[Base.DataBase.TAB.ENTITA_INFORMAZIONE].DefaultView; object siglaEntita = informazioni[0]["SiglaEntitaRif"] is DBNull ? informazioni[0]["SiglaEntita"] : informazioni[0]["SiglaEntitaRif"]; Base.Range rngTitolo = new Base.Range(_definedNames.GetRowByNameSuffissoData(siglaEntita, informazioni[0]["SiglaInformazione"], Base.Date.GetSuffissoData(_dataInizio)), _struttura.colBlock - _visSelezione - 1, Base.Struct.tipoVisualizzazione == "R" ? _intervalloGiorniMax + 1 : informazioni.Count); Excel.Range titoloVert = _ws.Range[rngTitolo.ToString()]; int infoCount = Base.Struct.tipoVisualizzazione == "R" ? _intervalloGiorniMax + 1 : informazioni.Count; Base.Style.RangeStyle(titoloVert, style: "Barra titolo verticale", orientation: infoCount == 1 ? Excel.XlOrientation.xlHorizontal : Excel.XlOrientation.xlVertical, merge: true, fontSize: infoCount == 1 ? 6 : 9, numberFormat: informazioni.Count > 4 ? "ddd d" : "dd"); }
///<summary>Return a random int in range</summary> public static int Rand(Base.Range <int> p) { return(m_random.Next(p.Min, p.Max + 1)); }
///<summary>Return random float in range</summary> public static float Rand(Base.Range <float> p) { return((float)m_random.NextDouble() * (p.Max - p.Min) + p.Min); }
public static Matrix <float> elementwiseRandomMultiply(Matrix <float> p_matrix, Base.Range <float> p_range) { Matrix <float> matrix = Matrix <float> .Build.Dense(p_matrix.RowCount, p_matrix.ColumnCount); for (int i = 0; i < p_matrix.RowCount; i++) { for (int j = 0; j < p_matrix.ColumnCount; j++) { matrix[i, j] = p_matrix[i, j] * Rand.RandomCalc.Rand(p_range); } } return(matrix); }
///<summary>Get a randomly populated float matrix</summary> public static Matrix <float> randomFloatMatrix(int p_rows, int p_cols, Base.Range <float> p_range) { return(Matrix <float> .Build.Dense(p_rows, p_cols, (i, j) => { return Rand.RandomCalc.Rand(p_range); })); }
///<summary>Multiplies a int that can only take on a value between a range. Multiplication done using a float then rounding </summary> public static int boundedMultiply(int p_value, Base.Range <int> p_range, float p_mutation_value) { return((int)Mathf.RoundToInt(Float.FloatCalc.boundedMultiply(p_value, new Base.Range <float>(p_range.Min, p_range.Max), p_mutation_value))); }
///<summary>Multiplies a float that can only take on a value between a range </summary> public static float boundedMultiply(float p_value, Base.Range <float> p_range, float p_mutation_value) { return(Mathf.Clamp(p_value * p_mutation_value, p_range.Min, p_range.Max)); }
///<summary>Multiplies each element of Vector2 by random number represented by range</summary> public static Vector2 elementwiseRandomMultiply(Vector2 p_mutate, Base.Range <float> p_range) { return(new Vector2(p_mutate.x * Rand.RandomCalc.Rand(p_range), p_mutate.y * Rand.RandomCalc.Rand(p_range))); }