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: |
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 |
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>; |
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_) : |
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) |
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>(); |
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 { |
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 |
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 |
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