View gist:5e737e8ceb65695db7f309ed5a9fbade
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
### Keybase proof | |
I hereby claim: | |
* I am bastih on github. | |
* I am bastih (https://keybase.io/bastih) on keybase. | |
* I have a public key ASCp-2LNJOtKuUYKBX2HTUDz4TXIvhf0_TeyPmlxQ1yDPgo | |
To claim this, I am signing this object: |
View setup.sh
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
sudo apt-get -y install sphinx-common emacs24-nox gdb valgrind tmux zsh perl ruby python-virtualenv | |
sudo apt-get -y --no-install-recommends install doxygen graphviz | |
git clone git://github.com/ndbroadbent/scm_breeze.git ~/.scm_breeze | |
curl -L http://cpanmin.us | sudo perl - App::cpanminus | |
sudo cpanm Term::ANSIColor Getopt::ArgvFile Getopt::Long Regexp::Common |
View gist:5947369
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#ifdef _LIBCPP_VERSION | |
template < | |
typename kT, | |
typename vT, | |
typename comp=typename std::map<kT, vT>::key_compare, | |
typename alloc=alloc_adapter<typename std::map<kT, vT>::value_type> | |
> | |
using map = std::map<kT, vT, comp, alloc>; |
View gist:5890712
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <boost/operators.hpp> | |
// Mostly inspired by boosts strong typedef, but without the macros | |
// Resulting type is ordered just like the wrapped type | |
template <typename T> | |
class strong_typedef : boost::totally_ordered1<strong_typedef<T>, boost::totally_ordered2<strong_typedef<T>, T>> { | |
public: | |
strong_typedef() = default; | |
strong_typedef(const strong_typedef & t_) : |
View gist:5804733
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
cmake_minimum_required(VERSION 2.8) | |
set(CMAKE_DISABLE_SOURCE_CHANGES ON) | |
set(CMAKE_DISABLE_IN_SOURCE_BUILD ON) | |
set(CMAKE_VERBOSE_MAKEFILE OFF) | |
set(CMAKE_PREFIX_PATH ${CMAKE_SOURCE_DIR}) | |
project(bencho C CXX) | |
find_library(PAPI NAMES papi) |
View gist:4643077
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
struct A { | |
template <bool b> | |
void foo () {} | |
}; | |
template<class T > | |
struct B { | |
void foo() { | |
T t; | |
t.foo<false>(); // fix via: t.template foo<false>(); |
View test.cpp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <vector> | |
#include <string> | |
#include <iostream> | |
enum class clt { | |
integer, | |
fp | |
}; | |
class ColumnMetadata { |
View gist:4154086
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module ListPoint = struct | |
type point = int list | |
let make x y = [x; y] | |
let getX p = List.nth p 0 | |
let getY p = List.nth p 1 | |
let origin = [0; 0] | |
let print p = print_int (getX p); print_string " "; print_int (getY p); print_endline "" | |
end;; | |
module Square = struct |
View test.bash
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
set +H | |
path=`find src/ -type f` | |
ssed -i "s/using namespace std;//" $path; | |
ssed -i "s/using std::.*//" $path; | |
# std-ize templates | |
for symbol in stack map list vector queue set pair priority_queue make_shared dynamic_pointer_cast numeric_limits back_insert_iterator |
View some.cpp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
inline uint64_t rdtsc() { | |
uint32_t lo, hi; | |
__asm__ __volatile__ ( | |
"xorl %%eax, %%eax\n" | |
"cpuid\n" | |
"rdtsc\n" | |
: "=a" (lo), "=d" (hi) | |
: | |
: "%ebx", "%ecx"); | |
return (uint64_t)hi << 32 | lo; |
NewerOlder