///<summary> /// Add a value to the array ///</summary> public void AddValueInArray(LDouble value, int index = 0) { if (ArrayOfElements.Length > 6) { return; } if (index + 1 >= ArrayOfElements.Length) { Array.Resize(ref ArrayOfElements, ArrayOfElements.Length + 1); ArrayOfElements[ArrayOfElements.Length - 1] = value; } else if (index == 0) { LDouble[] tempArray = new LDouble[ArrayOfElements.Length + 1]; ArrayOfElements.CopyTo(tempArray, 1); tempArray[0] = value; tempArray.CopyTo(ArrayOfElements, 0); } else { Array.Resize(ref ArrayOfElements, ArrayOfElements.Length + 1); for (int i = index; i < ArrayOfElements.Length; i++) { LDouble current = ArrayOfElements[i]; ArrayOfElements[i] = value; value = current; } } }
/// <summary> /// Instantiate array /// </summary> public CLDouble(LDouble[] array) { if (array.Length > 6) { ArrayOfElements = new LDouble[6]; Array.Copy(array, ArrayOfElements, 6); } else if (array.Length < 2) { ArrayOfElements = new LDouble[2]; Array.Copy(array, ArrayOfElements, array.Length); if (ArrayOfElements[0] == null) { ArrayOfElements[0] = new LDouble(0, 10, false, 0, true); } ArrayOfElements[1] = new LDouble(0, 10, false, 0, false); } else { ArrayOfElements = new LDouble[array.Length]; Array.Copy(array, ArrayOfElements, array.Length); } sizeOfRound = (byte)(ArrayOfElements.Length - 1); LimitSubstract = 1 / Math.Pow(10, sizeOfRound); }
/// <summary> /// Initialization elements of array /// </summary> private void InitializeArray() { for (int i = 0; i < ArrayOfElements.Length; i++) { if (i != ArrayOfElements.Length - 1) { ArrayOfElements[i] = new LDouble(0, 10, false, 0, true); } else { ArrayOfElements[i] = new LDouble(0, 10, false, 0, false); } } }