Skip to content

Instantly share code, notes, and snippets.

@keveman
keveman / gist:3521442
Created August 30, 2012 01:28
Petri net model for a program
import snakes.plugins
snakes.plugins.load('gv', 'snakes.nets', 'nets')
from nets import *
n = PetriNet('pn')
n.add_place(Place('p1', [1,2]))
n.add_place(Place('p2'))
n.add_place(Place('p3'))
n.add_place(Place('p4_i'))
@keveman
keveman / sudoku_solver.cpp
Created August 14, 2012 01:55
Sudoku solver in C++11
#include <iterator>
#include <algorithm>
#include <vector>
#include <map>
#include <set>
#include <iostream>
#include <cassert>
#include <memory>
#include <future>
#include <chrono>
@keveman
keveman / voronoi.cpp
Created May 9, 2011 17:25
Discrete Voronoi
let_(_v = get_<0>(_1)) [
let_(_i = get_<9>(_1)) [
let_(_y = _i/m) [
let_(_x = _i - _y*m) [
if_(_x >= k) [
_v = minVoro_(_x, _y, _v, get_<3>(_1), m, n),
if_(_y >= k) [
_v = minVoro_(_x, _y, _v, get_<8>(_1), m, n)
],
if_(_y+k <= n) [
@keveman
keveman / gist:740672
Created December 14, 2010 16:44
vector.hpp
/*
* Copyright 2010-2012 NVIDIA Corporation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software