type: PIN
Consumer key: 3nVuSoBZnx6U4vzUxf5w
Consumer secret: Bcs59EFbbsdF6Sl9Ng71smgStWEGwXXKSjYvPVt7qys
type: PIN
Consumer key: IQKbtAYlXLripLGPWd0HUA
final class RunLoopSource { | |
private static let eventHandler: @convention(c) (UnsafeMutableRawPointer?) -> Void = { context in | |
unsafeBitCast(context, to: RunLoopSource.self).eventHandler() | |
} | |
private let eventHandler: () -> Void | |
private let mode: CFRunLoopMode | |
private let runLoop: CFRunLoop | |
private var source: CFRunLoopSource! |
import numpy as np | |
# based on http://www.gamedev.net/topic/534655-aabb-triangleplane-intersection--distance-to-plane-is-incorrect-i-have-solved-it/ | |
def intersects_box(triangle, box_center, box_extents): | |
X, Y, Z = 0, 1, 2 | |
# Translate triangle as conceptually moving AABB to origin | |
v0 = triangle[0] - box_center | |
v1 = triangle[1] - box_center |
extension UIViewController { | |
public func dch_checkDeallocation(afterDelay delay: TimeInterval = 2.0) { | |
let rootParentViewController = dch_rootParentViewController | |
// We don’t check `isBeingDismissed` simply on this view controller because it’s common | |
// to wrap a view controller in another view controller (e.g. in UINavigationController) | |
// and present the wrapping view controller instead. | |
if isMovingFromParentViewController || rootParentViewController.isBeingDismissed { | |
let type = type(of: self) | |
let disappearanceSource: String = isMovingFromParentViewController ? "removed from its parent" : "dismissed" |
func throttle<A>(delay:Int, queue:DispatchQueue, action: @escaping ((A)->())) -> (A)->() { | |
var lastFireTime = DispatchTime.now() | |
let dispatchDelay = DispatchTimeInterval.milliseconds(delay) | |
return { state in | |
let dispatchTime: DispatchTime = DispatchTime.now() + dispatchDelay | |
queue.asyncAfter(deadline: dispatchTime, execute: { | |
let when: DispatchTime = lastFireTime + dispatchDelay | |
let now = DispatchTime.now() | |
if now.rawValue >= when.rawValue { |
func debounce<A>(delay:Int, queue:DispatchQueue, action: @escaping ((A)->())) -> (A)->() { | |
var lastFireTime = DispatchTime.now() | |
let dispatchDelay = DispatchTimeInterval.milliseconds(delay) | |
return { state in | |
lastFireTime = DispatchTime.now() | |
let dispatchTime: DispatchTime = DispatchTime.now() + dispatchDelay | |
queue.asyncAfter(deadline: dispatchTime, execute: { | |
let when: DispatchTime = lastFireTime + dispatchDelay | |
let now = DispatchTime.now() |
import UIKit | |
protocol Coordinator { | |
/// Triggers navigation to the corresponding controller | |
func start() | |
/// Stops corresponding controller and returns back to previous one | |
func stop() | |
/// Called when segue navigation form corresponding controller to different controller is about to start and should handle this navigation |
import Foundation | |
protocol Service { | |
init() | |
} | |
class ServiceHolder { | |
private var servicesDictionary: [String: Service] = [:] | |
init(services: [Service.Type]? = nil) { |
- (void)viewWillAppear:(BOOL)animated | |
{ | |
[super viewWillAppear:animated]; | |
[[self transitionCoordinator] animateAlongsideTransition:^(id<UIViewControllerTransitionCoordinatorContext> context) { | |
[self.navigationController.navigationBar setTintColor:[UIColor blackColor]]; | |
[self.navigationController.navigationBar setTitleTextAttributes:@{NSForegroundColorAttributeName: [UIColor blackColor]}]; | |
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"bg_navbar"] forBarMetrics:UIBarMetricsDefault]; | |
} completion:nil]; | |
} |
def is_surprising(seq, d): | |
subseq = set() | |
collisions = 0 | |
for i in range(0, len(seq)-d-1): | |
word = (seq[i], seq[i+d+1]) | |
if word in subseq: | |
collisions += 1 | |
else: | |
subseq.add(word) |