Skip to content

Instantly share code, notes, and snippets.

Cameron Hart bitshifter

Block or report user

Report or block bitshifter

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
bitshifter /
Last active Jun 4, 2019
mathbench mat4 mul comparison

mathbench Mat4 mul comparison

mathbench lib

pub fn glam_mat4_mul(lhs: glam::Mat4, rhs: glam::Mat4) -> glam::Mat4 {
    lhs * rhs

pub fn nalgebra_mat4_mul(
    lhs: nalgebra::Matrix4<f32>,
bitshifter / sleepy_fib.cpp
Created Jul 22, 2018
sampling vs instrumentation
View sleepy_fib.cpp
#include <chrono>
#include <random>
#include <iostream>
#include <thread>
int fib(int x) {
if (x == 0)
return 0;
if (x == 1)
return 1;
View gist:2fb86002961f33869b9873d5841e33a2
#[cfg(target_arch = "x86")]
use std::arch::x86::*;
#[cfg(target_arch = "x86_64")]
use std::arch::x86_64::*;
pub fn add_scalar(a: &[f32], b: &[f32], c: &mut [f32]) {
for ((a, b), c) in a.iter().zip(b.iter()).zip(c.iter_mut()) {
bitshifter /
Created Apr 14, 2018
Minimal reproduction of rustc ICE issue #48638
use std::any::Any;
use std::fmt::Debug;
use std::marker::PhantomData;
// use std::ops::Mul;
pub trait Scalar: Copy + PartialEq + Debug + Any {}
impl Scalar for f64 {}
pub trait Dim: Any + Debug + Copy + PartialEq + Send {}
bitshifter / issue96.patch
Created Jan 1, 2018
Test case for issue 96, replicating cgmath AsMut ambiguity.
View issue96.patch
diff --git a/imgui-examples/examples/ b/imgui-examples/examples/
index c9cc5c8..e5ec03a 100644
--- a/imgui-examples/examples/
+++ b/imgui-examples/examples/
@@ -4,9 +4,34 @@ extern crate imgui;
extern crate imgui_glium_renderer;
use imgui::*;
+use std::mem;
View gist:71f0c5f3146db43a223ce08cdd0247c2
# bench_f32 loop:
vmovss (%rdi), %xmm1
vmovsd 4(%rdi), %xmm2
vmulss 12(%rdi), %xmm1, %xmm1
vmovsd 16(%rdi), %xmm3
vmulps %xmm3, %xmm2, %xmm2
vaddss %xmm2, %xmm1, %xmm1
vmovshdup %xmm2, %xmm2
vaddss %xmm2, %xmm1, %xmm1
View task_fence.hpp
#include <condition_variable>
#include <mutex>
class TaskFence
int taskCount_;
std::condition_variable taskCV_;
View SerializedTaskArena.h
#include "tbb/tbb.h"
#include "tbb/concurrent_queue.h"
#include "tbb/task_arena.h"
// Based on LocalSerializer pattern which enforces execution order based on submission order
class SerializedTaskArena
View Shit Pong
extern crate sdl2;
use sdl2::pixels::Color;
use sdl2::event::Event;
use sdl2::keyboard::Keycode;
use sdl2::rect::Rect;
const BORDER: i32 = 32;
const WIDTH: i32 = 1024;
const HEIGHT: i32 = 768;
bitshifter / ack.cmd
Created Jan 7, 2016
Git bash commands
View ack.cmd
@rem Do not use "echo off" to not affect any child calls.
@rem Get the abolute path to the parent directory, which is assumed to be the
@rem Git installation root.
@for /F "delims=" %%I in ("%~dp0..") do @set git_install_root=%%~fI
@set PATH=%git_install_root%\bin;%git_install_root%\usr\bin;%PATH%
@if not exist "%HOME%" @set HOME=%HOMEDRIVE%%HOMEPATH%
@if not exist "%HOME%" @set HOME=%USERPROFILE%
You can’t perform that action at this time.