Skip to content

Instantly share code, notes, and snippets.

View bbarry's full-sized avatar

Bill Barry bbarry

  • Ren Inc
  • Pennsylvania
View GitHub Profile
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
@bbarry
bbarry / day1.pl6
Last active December 7, 2017 18:19
advent of code 2017 Perl6
my @seq = '112212'.univals.List;
(@seq Z @seq.rotate(1)).grep({[==] $_})».first.sum.say;
(@seq Z @seq.rotate(+@seq div 2)).grep({[==] $_})».first.sum.say;
@bbarry
bbarry / Van_der_Waerden_2_6.cs
Created November 17, 2017 22:26
WIP of a program that proves W(2,6) = 1132; currently capable (in a few thousands of years I think) of finding all sequences of 1120 length.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Numerics;
using System.Threading;
using System.Threading.Tasks;
namespace ConsoleApplication8 {
class Program {
static uint[][] _lchecks; // bitmasks for sets of 6 progressive checks involving more than one u32 segment
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Diagnostics;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
namespace ConsoleApplication6 {
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
using System;
using System.Diagnostics;
using System.Security.Cryptography;
using BenchmarkDotNet.Attributes;
namespace ConsoleApp2 {
public class Benchmarking {
private static readonly GoodRandom Rng1;
private static readonly GoodRandom Rng2;
private static readonly Random Rng3;
0eNq9XdtSHMcS/Jd9Zk9M9b31KycUDiStHYQREAs47HDw72exWOBYc8nMqeHJlgTZl5munq7KzP579+X68XB3vLp5+OXL7e3vu09/v/3N/e7Tf9/98fnfrr7e3vz46/ur324ur5//7uGvu8Pu0+7q4fB9d7G7ufz+/Kcvh8vTj+6eLnZXN98Of+4+2dPni93h5uHq4erwA+GfP/z1y83j9y+H4+kH/v27F7u72/vTj5/+99TKCWJv6WL31+m/+Rn21NwPnH8a/rS7vzscvu2/3357vD7s4+m3v94+Pnc6PH1+uviptQC0Zm6txeXWmltjabmx7NZYXm4suDVWFhvze2R1sS2/l7EttlXd2urLczi4NfYMtdRa9GvtLYQc/rw7Hu7v9w/Hy5v7u9vjw/7L4fphJqTEU/Pfro6Hrz/+MYzBh5/gH0+x7fjb8dSpb5MNxPEGLl7j5s3d48NurL0oDCfgw0kC/IDDZwHecPjCw7dR9DKGXnn0PoqextAbj17wvncevcLoYVAWQVpYA7ePDxOLIAhrOuOjCTw6vsLCzwv4/u766uHh9I8/477EifCfDCAnKRSpkSjwaxkPFIFfycQj4BcyHoMCv44T/mryyzjCESgONDgegCK/ZPEVG5VNuMnhJ/J7MB5LI78DExtwzET06UTwie8W7PXpB49XX/e/Ph5vLr8epr9/hrHPu7vj6cvu1NIfJ3j8LPW2pO+/X15f7187cXd7PdODfXgaQ3tbw79e3j/sr27uD8fxAH3+tgrA+uo4qsGoaaAmfnCe+GTKptNGhwdsOinI32Bh+SVOkZnL6j2ViXyH68wrnDL8shX8XSsrvvMCH2hThQeR8UE05iEn74fcqeXq3Hoe2DA584plQ5/OAD+cHFBMPEJmZlUH7xlXPsqTGh5zVr8PgeiYmS0+e88jucHnuRcX3t7x0Ji7/gkqRMYyoEOo8BCKEc+3OT/fEvCPox/LAxlRlHN/wLd0Sdo35+g7WbKc10O6KiTGXnqLoFf2wxZ5dk3
public struct Arguments<T> : IReadOnlyList<T>
{
readonly T _arg1, _arg2, _arg3;
readonly IEnumerable<T> _enumerable;
readonly int _count;
public Arguments(T arg1) => (_arg1, _arg2, _arg3, _enumerable, _count)
= (arg1, default(T), default(T), null, 1);
public Arguments(T arg1, T arg2) => (_arg1, _arg2, _arg3, _enumerable, _count)