private static IterationData ToReverse(IterationData itdata) { return(new IterationData( IndexesHelper.Add(itdata.End, -1), IndexesHelper.Add(itdata.Start, -1), !itdata.Reverse)); }
public static void Iterate(Array arr, int[] startIndexes, int[] endIndexes, Action <Array, int[]> action, bool reverse) { if (startIndexes.Length != endIndexes.Length || (arr != null && arr.Rank != startIndexes.Length)) { throw new ArgumentException( "Indexes must have the same length equal to input array rank.", "startIndexes"); } Iterate(arr, 0, IndexesHelper.Zero(startIndexes.Length), startIndexes, endIndexes, action, reverse); }
public void InsertTest( [Values(2, 987, 100, 17, 3, 2, 1)] int length, [Values(1, 2, 2, 3, 3, 2, 16)] int rank, [Values(0, 0, 1, 2, 2, 1, 5)] int dim) { var idata = new InsertionData(length, rank, dim); var zeroIdx = IndexesHelper.Zero(idata.Rank); // Build O and A hypercubes lengths var alengths = IndexesHelper.Add(zeroIdx, idata.Length); var olengths = IndexesHelper.Multiply(alengths, 2); // Build O and A hypercubes var oarray = ArrayHelper.New().NewArray <object>(olengths).FillWith("O").As <Array>(); var aarray = ArrayHelper.New().NewArray <object>(alengths).FillWith("A").As <Array>(); // NOTE capacities are set to the minimum to force buffer resize var capacities = IndexesHelper.Add(IndexesHelper.Zero(idata.Rank), 1); var dynarray = new DynamicArray <string>(idata.Rank, capacities); dynarray.Insert(oarray, 0, zeroIdx); DynamicArrayAssert.Included(dynarray, oarray, IndexesHelper.Zero(idata.Rank)); DynamicArrayAssert.CountsEqual(dynarray, olengths); var pos = IndexesHelper.Add(alengths, -1); var expected = IndexesHelper.Clone(olengths); expected[idata.Dim] += alengths[idata.Dim]; dynarray.Insert(aarray, idata.Dim, pos); DynamicArrayAssert.CountsEqual(dynarray, expected); DynamicArrayAssert.Included(dynarray, aarray, pos); DynamicArrayAssert.Included( dynarray, oarray, IndexesHelper.Add(pos, alengths), idata.Rank > 1 ? IndexesHelper.Add(pos, alengths) : pos, olengths); }
private void WriteMetaDataInCHM() { SetStatus("Writing Columns..."); ColumnsHelper.WriteColumns(); backgroundWorker2.ReportProgress(5, ObjectTypes.Columns); SetStatus("Writing ForeignKeys..."); ForeignKeysHelper.WriteForeignKeys(); backgroundWorker2.ReportProgress(10, ObjectTypes.ForeignKeys); SetStatus("Writing IndexColumns..."); IndexColumnsHelper.WriteIndexColumns(); backgroundWorker2.ReportProgress(15, ObjectTypes.IndexColumns); SetStatus("Writing Indexes..."); IndexesHelper.WriteIndexes(); backgroundWorker2.ReportProgress(20, ObjectTypes.Indexes); SetStatus("Writing Tables..."); TablesHelper.WriteTables(); backgroundWorker2.ReportProgress(25, ObjectTypes.Tables); SetStatus("Writing ViewColumns..."); ViewColumnsHelper.WriteViewColumns(); backgroundWorker2.ReportProgress(30, ObjectTypes.ViewColumns); SetStatus("Writing Views..."); ViewsHelper.WriteViews(); backgroundWorker2.ReportProgress(35, ObjectTypes.Views); SetStatus("Writing ProcedureParameters..."); ProcedureParametersHelper.WriteProcedureParameters(); backgroundWorker2.ReportProgress(40, ObjectTypes.ProcedureParameters); SetStatus("Writing Procedures..."); ProceduresHelper.WriteProcedures(); backgroundWorker2.ReportProgress(45, ObjectTypes.Procedures); SetStatus("Writing Triggers..."); SMOHelper.TriggersHelper.WriteTriggers(); backgroundWorker2.ReportProgress(50, ObjectTypes.Triggers); SetStatus("Writing UserDefinedDataTypes..."); SMOHelper.UserDefinedDataTypesHelper.WriteUserDefinedDataTypes(); backgroundWorker2.ReportProgress(55, ObjectTypes.UserDefinedDataTypes); SetStatus("Writing InstanceInformation..."); InstanceInformationHelper.WriteInstanceInformation(); backgroundWorker2.ReportProgress(60, ObjectTypes.InstanceInformation); SetStatus("Writing DataSourceInformation..."); DataSourceInformationHelper.WriteDataSourceInformation(); backgroundWorker2.ReportProgress(65, ObjectTypes.DataSourceInformation); SetStatus("Writing DataTypes..."); DataTypesHelper.WriteDataTypes(); backgroundWorker2.ReportProgress(70, ObjectTypes.DataTypes); SetStatus("Writing Restrictions..."); RestrictionsHelper.WriteRestrictions(); backgroundWorker2.ReportProgress(75, ObjectTypes.Restrictions); SetStatus("Writing ReservedWords..."); ReservedWordsHelper.WriteReservedWords(); backgroundWorker2.ReportProgress(80, ObjectTypes.ReservedWords); SetStatus("Writing Users..."); UsersHelper.WriteUsers(); backgroundWorker2.ReportProgress(85, ObjectTypes.Users); }
private void GetMetaData() { SetStatus("Fetching Columns..."); ColumnsHelper.GetColumns(); backgroundWorker1.ReportProgress(5, ObjectTypes.Columns); SetStatus("Fetching ForeignKeys..."); ForeignKeysHelper.GetForeignKeys(); backgroundWorker1.ReportProgress(10, ObjectTypes.ForeignKeys); SetStatus("Fetching IndexColumns..."); IndexColumnsHelper.GetIndexColumns(); backgroundWorker1.ReportProgress(15, ObjectTypes.IndexColumns); SetStatus("Fetching Indexes..."); IndexesHelper.GetIndexes(); backgroundWorker1.ReportProgress(20, ObjectTypes.Indexes); SetStatus("Fetching Tables..."); TablesHelper.GetTables(); backgroundWorker1.ReportProgress(25, ObjectTypes.Tables); SetStatus("Fetching ViewColumns..."); ViewColumnsHelper.GetViewColumns(); backgroundWorker1.ReportProgress(30, ObjectTypes.ViewColumns); SetStatus("Fetching Views..."); ViewsHelper.GetViews(); backgroundWorker1.ReportProgress(35, ObjectTypes.Views); SetStatus("Fetching ProcedureParameters..."); ProcedureParametersHelper.GetProcedureParameters(); backgroundWorker1.ReportProgress(40, ObjectTypes.ProcedureParameters); SetStatus("Fetching Procedures..."); ProceduresHelper.GetProcedures(); backgroundWorker1.ReportProgress(45, ObjectTypes.Procedures); SetStatus("Fetching Triggers..."); SMOHelper.TriggersHelper.GetTriggers(Utility.DatabaseName); backgroundWorker1.ReportProgress(50, ObjectTypes.Triggers); SetStatus("Fetching UserDefinedDataTypes..."); SMOHelper.UserDefinedDataTypesHelper.GetUserDefinedDataTypes(Utility.DatabaseName); backgroundWorker1.ReportProgress(55, ObjectTypes.UserDefinedDataTypes); SetStatus("Fetching InstanceInformation..."); InstanceInformationHelper.GetInstanceInformation(); backgroundWorker1.ReportProgress(60, ObjectTypes.InstanceInformation); SetStatus("Fetching DataSourceInformation..."); DataSourceInformationHelper.GetDataSourceInformation(); backgroundWorker1.ReportProgress(65, ObjectTypes.DataSourceInformation); SetStatus("Fetching DataTypes..."); DataTypesHelper.GetDataTypes(); backgroundWorker1.ReportProgress(70, ObjectTypes.DataTypes); SetStatus("Fetching Restrictions..."); RestrictionsHelper.GetRestrictions(); backgroundWorker1.ReportProgress(75, ObjectTypes.Restrictions); SetStatus("Fetching ReservedWords..."); ReservedWordsHelper.GetReservedWords(); backgroundWorker1.ReportProgress(80, ObjectTypes.ReservedWords); SetStatus("Fetching Users..."); UsersHelper.GetUsers(); backgroundWorker1.ReportProgress(85, ObjectTypes.Users); }
public static void Iterate(Array arr, Action <Array, int[]> action) { Iterate(arr, IndexesHelper.Zero(arr.Rank), IndexesHelper.UpperBound(arr), action, false); }
public override void Enumerate(Array arr, int[] indexes) { Assert.AreEqual((T)arr.GetValue(indexes), this.DynArray[IndexesHelper.Add(indexes, this.position)]); }
public Inclusion(DynamicArray <T> darr, int[] position, int[] offset) : base(darr) { this.position = IndexesHelper.Substract(position, offset); }
/// <summary> /// Asserts the two arrays have the same elements. /// Checks count equality using <see cref="CountsEqual{T}"/>. /// Elements are get from the <see cref="DynamicArray{T}"/> using its indexer. /// </summary> /// <typeparam name="T"> The type of the elements int the <see cref="DynamicArray{T}"/>. </typeparam> /// <param name="dynarray"> The <see cref="DynamicArray{T}"/> being checked. </param> /// <param name="arr"> The array containing the actual elements. </param> public static void AreElementsEqual <T>(DynamicArray <T> dynarray, Array arr) { CountsEqual(dynarray, IndexesHelper.UpperBound(arr)); Included(dynarray, arr, IndexesHelper.Zero(arr.Rank)); }