public static void PrintNonTrivialZeros_twoThreeDecisions(int maxZ) { int digits = maxZ > 1000000 ? 0 : maxZ.ToString().Length + 1; //Add 1 to be safe foreach (long nonTrivialZero in TwoThreeDecisionZFinder.GetNonTrivialZeros(max: maxZ)) { Console.WriteLine(nonTrivialZero.ToString().PadLeft(digits)); } Console.WriteLine("Done from 1 to " + maxZ + "."); }
public static void PrintTwoThreeExpansionRegister(int maxZ) { var expansionRegister = TwoThreeDecisionZFinder.GetExpansionRegister(max: maxZ); for (int i = 0; i < expansionRegister.Length; i++) { Console.WriteLine( i.ToString().PadLeft(8) + ":" + //Convert.ToString(MathUtils.NumberOfSetBits(expansionRegister[i]), 10).PadLeft(0, '0') Convert.ToString(expansionRegister[i], 2).PadLeft(32, '0') ); } }
public static void PrintExpansionCounts_twoThreeDecisions(int maxZ) { int digits = maxZ > 1000000 ? 0 : maxZ.ToString().Length + 1; //Add 1 to be safe var monitorer = new System.Threading.Timer( callback: (e) => { Console.Error.Write(TwoThreeDecisionTracker.GlobalRepeatedDoublingOpsDone + " "); }, state: null, dueTime: TimeSpan.Zero, period: TimeSpan.FromSeconds(10) ); var expansionCounts = ( maxZ < 100000001 ? TwoThreeDecisionZFinder.GetExpansionCounts_twoThreeDecisions(maxZ).AsEnumerable() : TwoThreeDecisionZFinder.GetExpansionCounts_twoThreeDecisions_chunkedArray(maxZ).AsEnumerable() ); monitorer.Dispose(); StringBuilder sb = new StringBuilder(capacity: 8192); if (maxZ < 10000000) { int i = 1; foreach (int expCount in expansionCounts.Skip(1)) { sb.Append(i.ToString().PadLeft(digits)); sb.Append(":"); sb.AppendLine(expCount.ToString().PadLeft(digits)); if (sb.Length > 8000) { Console.Write(sb.ToString()); sb.Clear(); } i++; } } else { foreach (int expCount in expansionCounts.Skip(1)) { sb.AppendLine(expCount.ToString()); if (sb.Length > 8000) { Console.Write(sb.ToString()); sb.Clear(); } } } // int[] expansionCounts = GetExpansionCounts_binaryDecisions(maxZ); // // StringBuilder sb = new StringBuilder(capacity: 8192); // // for (int i = 1; i < expansionCounts.Length; i++) { // sb.Append(i.ToString().PadLeft(digits)); // sb.Append(":"); // sb.AppendLine(expansionCounts[i].ToString().PadLeft(digits)); // //sb.Append(i); // //sb.Append(":"); // //sb.Append(expansionCounts[i]); // //sb.AppendLine(); // // if (sb.Length > 8000) { // Console.Write(sb.ToString()); // sb.Clear(); // } // } Console.Write(sb.ToString()); }