Skip to content

Instantly share code, notes, and snippets.

@jzrake
jzrake / gnuplot.lua
Created February 2, 2012 02:46
Calling gnuplot from Lua
local function plot(series, tpause)
local gp = io.popen("gnuplot", 'w')
local lines = { }
for k,v in pairs(series) do
table.insert(lines, string.format(" '-' u 1:2 title '%s'", k))
end
gp:write("plot" .. table.concat(lines, ",") .. "\n")
for k,v in pairs(series) do
@jzrake
jzrake / quantile.py
Created February 16, 2012 00:56
Quantile in Python
#!/usr/bin/env python
import numpy as np
def Quantile(data, q, precision=1.0):
"""
Returns the q'th percentile of the distribution given in the argument
'data'. Uses the 'precision' parameter to control the noise level.
"""
@jzrake
jzrake / tee.py
Created March 8, 2012 21:47
Tee's program that loads some data
#!/usr/bin/env python
def load_from_many(pattern):
"""
Take a pattern and return a numpy array containing the concatenation of all
the files matching that pattern. Only the first column and rows after the
first are returned, and the data values are offset by the difference between
the first and second columns of the first row.
"""
@jzrake
jzrake / fitline.py
Created March 17, 2012 20:10
Fitting a smeared line model
#!/usr/bin/env python
import numpy as np
from matplotlib import pyplot as plt
from scipy.optimize import leastsq
from scipy.ndimage import binary_closing, grey_closing
def LineModel(pt1, pt2, Nx=100, Ny=100, h=1.0, sig=0.1):
"""
@jzrake
jzrake / Makefile
Created April 17, 2012 20:10
Wrapping C++ classes with Lua
LUAHOME = $(HOME)/Work/lunum/lua-5.2.0
CFLAGS = -Wall
default : luawrap
luawrap : luawrap.cpp
$(CXX) $(CFLAGS) -o $@ $^ -L$(LUAHOME)/lib -I$(LUAHOME)/include -llua
clean :
@jzrake
jzrake / vbo.c
Created April 20, 2012 04:24
OpenGL VBO example
void draw_vbo()
{
GLuint vbo,ibo;
GLfloat verts[8][3] = {{0.0, 0.0, 0.0},
{0.0, 0.0, 0.1},
{0.0, 0.1, 0.0},
{0.0, 0.1, 0.1},
{0.1, 0.0, 0.0},
{0.1, 0.0, 0.1},
{0.1, 0.1, 0.0},
@jzrake
jzrake / tetrun.cpp
Created April 28, 2012 22:21
Example code demonstrating use of tetgen
/* -----------------------------------------------------------------------------
*
* AUTHOR: Jonathan Zrake, NYU CCPP: zrake@nyu.edu
*
*
* USAGE: $> ./tetrun [number of trials]
*
*
* DESCRIPTION:
@jzrake
jzrake / glut_ppm.c
Created May 1, 2012 18:10
PPM screenshot with GLUT
void TakeScreenshot(const char *fname)
{
printf("writing a screenshot to %s\n", fname);
int dimx = glutGet(GLUT_WINDOW_WIDTH);
int dimy = glutGet(GLUT_WINDOW_HEIGHT);
size_t imsize = 3*dimx*dimy;
char *pixels = (char*) malloc(imsize*sizeof(char));
glReadPixels(0, 0, dimx, dimy, GL_RGB, GL_UNSIGNED_BYTE, pixels);
@jzrake
jzrake / srevec.py
Created May 7, 2012 21:43
SR hydrodynamics eigenvectors
#!/usr/bin/env python
# ------------------------------------------------------------------------------
#
# Authors: Jonathan Zrake, Bez Laderman: NYU CCPP
# Date: May 7th, 2012
#
# This piece of code implements the left and right eigenvectors of the ideal
# special relativistic hydrodynamics equations. The formulas are an exact
# translation of those given in the literature:
@jzrake
jzrake / zexcept.cpp
Created May 8, 2012 17:01
Quick tutorial on runtime exceptions in C++
#include <iostream>
#include <stdexcept>
class ZrakeFailed : public std::runtime_error
{
public:
ZrakeFailed(const std::string &msg) : std::runtime_error("zraker failed. " + msg) { }