Skip to content

Instantly share code, notes, and snippets.

# 2d comparison
import numpy as np
x = np.linspace(-1,1,100)
y = np.linspace(-1,1,100)
f = lambda x,y: np.sinc(x**2+y**2)
vals = np.array( [[f(xx,yy) for yy in y] for xx in x] )
N = 1000000 # number of points to evaluate
eval_points = -1+2*np.random.rand(N*2).reshape((N,2))
@albop
albop / test_mul_22.py
Last active September 10, 2018 22:59
Compares
from numpy import *
from numba import jit
N = 1000000
A = random.random((N,2,2))
B = random.random((N,2,2))
@jit(nopython=True)
def mulvec(A,B):
N = A.shape[0]
import numpy as np
import quantecon
from numba import jit
from numba import njit, prange
@njit
def cartesian_2d(x,y,out=None):
p = x.shape[0]
q = y.shape[0]
from cffi import FFI
ffi = FFI()
ffi.cdef('double erfc(double x);')
libm = ffi.dlopen("m")
erfc = libm.erfc
from math import erfc as p_erfc
from numba import njit
from numpy import linspace
@albop
albop / watcher.py
Last active January 22, 2016 14:34
"""
Filename: watcher.py
Authors: Pablo Winant
Time long computation and send a message when finished.
"""
import contextlib
@contextlib.contextmanager
def watcher(task_name=None, email=None):
@albop
albop / generated_interp.py
Last active January 21, 2016 14:05
Half working generated interpolation example
from math import floor
from numba import njit
####
#### Working
####
@njit
def native_index_1d(mat, vec):
return mat[vec[0]]
@albop
albop / eval_cubic_cuda.py
Last active January 19, 2016 15:35
interpolation with numba.cuda
from __future__ import division
from numba import double, int64
from numba import jit, njit
import numpy as np
from numpy import zeros, array
@albop
albop / interpolation_speed.jl
Created January 7, 2016 23:12
splines.jl vs interpolations.jl
d = 3 # number of dimensions
K = 50 # number of points along each dimension
N = 100000 # number of points at which to interpolate
A = rand([K for i = 1:d]...) # filtered coefficients
B = rand(N,d) # points at which to evaluate the splines
max(B, minimum(A)+0.01)
min(B, maximum(A)-0.01)
@albop
albop / gist:7525675
Created November 18, 2013 10:26
zero_based_indexing
rewrite(x::Number) = x
rewrite(x::Symbol) = x
rewrite(x::String) = x
function rewrite(expr)
if expr.head == :ref
return Expr(expr.head, expr.args[1], [rewrite(:( 1 + $i)) for i in expr.args[2:end]]...)
else
return Expr(expr.head, [rewrite(i) for i in expr.args]...)
end
@albop
albop / index.html
Last active August 29, 2015 14:19
mc_sample_path: numba annotate
<html>
<head>
<style>
.annotation_table {
color: #000000;
font-family: monospace;
margin: 5px;