Skip to content

Instantly share code, notes, and snippets.

Daryle Walker CTMacUser

  • Connecticut, USA
Block or report user

Report or block CTMacUser

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@CTMacUser
CTMacUser / AdjacentPermutation.swift
Last active Dec 9, 2019
Confirming permutations, rotating to the next or previous permutation, or going through all permutations; inspired by the C++ Standard Library. See <https://forums.swift.org/t/how-about-detection-and-iteration-of-permutations/31404> for more information.
View AdjacentPermutation.swift
//===--- AdjacentPermutation.swift ----------------------------*- swift -*-===//
//
// Created by Daryle Walker on 2019-Nov-27
//
// Copyright © 2019 Daryle Walker
//
// Methods to rearrange a collection to its next or previous permutation.
// Methods to return a sequence of all permutations of a collection, both lazy
// and eager.
//
@CTMacUser
CTMacUser / MergedSortedSequence.swift
Last active Nov 26, 2019
Merging, Combining, and Testing of Sorted Sequences in Swift, inspired by the C++ Standard Library. See <https://forums.swift.org/t/sorted-sequence-operations-merge-sort-set-operations-inclusion-testing/31145> for more information.
View MergedSortedSequence.swift
// MARK: Per-Element Sharing in Merged Sorted Sequences
/// Primary source categories when merging two sets together.
public enum MergedSetElementSource<Element> {
/// The given element is only in the first set.
case exclusivelyFirst(Element)
/// The element is in both sets. Both versions are given.
case shared(Element, Element)
/// The given element is only in the second set.
@CTMacUser
CTMacUser / Heap.swift
Last active Nov 26, 2019
Heap operation methods and Priority Queues in Swift, inspired by the C++ Standard Library. See <https://forums.swift.org/t/heaps-structure-not-storage-and-priority-queues/31135> for more information.
View Heap.swift
extension Collection {
/// Computes the binary-tree children indices for the given starting index,
/// if the collection is long enough.
///
/// Child elements of a flattened tree are consecutive, so if two indices
/// are returned, `distance(from: left!, to: right!) == 1`.
///
/// - Parameter source: The index of the parent element.
/// - Returns: A tuple with the indices of the left and right binary-tree
@CTMacUser
CTMacUser / IntegerNull.swift
Last active Aug 30, 2019
Another zero-width signed and unsigned integer type pair for Swift
View IntegerNull.swift
//
// IntegerNull.swift
// ZeroInteger
//
// Created by Daryle Walker on 8/27/19.
// Copyright © 2019 Daryle Walker. All rights reserved.
//
// MARK: Zero-bit Integer Primary Definitions
@CTMacUser
CTMacUser / BinarySearch.swift
Last active Sep 23, 2019
A set type, in Swift 5(.1), that stores its elements in strictly increasing order, requiring Comparable instead of Hashable. Also includes: binary search, sort detection, streaming set operations, and (space-wise) debouncing.
View BinarySearch.swift
//
// BinarySearch.swift
// SortedSet
//
// Created by Daryle Walker on 8/22/19.
// Copyright © 2019 Daryle Walker. All rights reserved.
//
extension Collection {
@CTMacUser
CTMacUser / ArrayManifesto.md
Last active Jul 2, 2019
A manifesto to outline how to add fixed-size scoped-storage arrays to Swift.
View ArrayManifesto.md

Fixed-Size, Scoped-Storage Array Manifesto

Introduction

This manifesto is for collecting the ideas needed to introduce the classic fixed-size array family of types to Swift.

@CTMacUser
CTMacUser / NNNN-multipass-sequences.md
Created Mar 26, 2019
An improvement to the Swift library cancelled due to ABI stability.
View NNNN-multipass-sequences.md

Multiple-Pass Sequences and Cycle Detection

During the review process, add the following fields as needed:

@CTMacUser
CTMacUser / ForEachIndex.swift
Last active Mar 2, 2019
Extension to loop over each Collection Index without the retention issues indices has. Plus, example usage for MutableCollection, and an extra related method for RangeReplaceableCollection.
View ForEachIndex.swift
// ForEachIndex.swift by Daryle Walker
extension Collection {
/**
Calls the given closure on each element index in the collection in the
same order as a `for`-`in` loop.
The two loops in the following example produce the same output:
@CTMacUser
CTMacUser / RotateSwapMove.swift
Last active Mar 2, 2019
Extensions to MutableCollection to swap multiple elements at a time, plus support methods to rotate, and example methods to move elements.
View RotateSwapMove.swift
// RotateSwapMove.swift by Daryle Walker
extension MutableCollection {
/**
Rotates the elements such that the value at the given index is now at `startIndex`.
Passing `startIndex` as `i` has no effect.
The method applies a left-rotation, bringing the target element's value to `startIndex`.
View BasicSetSubtraction.swift
// BasicSetSubtraction.swift by Daryle Walker
/// An iterator that vends elements from a sorted wrapped iterator, subtracting the elements from in another wrapped sorted filter iterator.
public struct SetSubtractionIterator<Base: IteratorProtocol, Filter: IteratorProtocol> where Base.Element == Filter.Element, Base.Element: Comparable {
/// The iterator where the vended elements come from.
var base: Base
/// The iterator where matches to be filtered come from.
var filters: Filter
You can’t perform that action at this time.