Skip to content

Instantly share code, notes, and snippets.

@AtheMathmo
AtheMathmo / BezierGaussLength.py
Created August 26, 2021 19:46
Using Manim to animate the Gauss length of a Bezier curve
from manim import *
from manim.mobject.geometry import ArrowTriangleTip
import numpy as np
def quad_bezier(x_0, x_1, x_2, t):
r = 1.0 - t
return r * r * x_0 + 2 * r * t * x_1 + t * t * x_2
def quad_bezier_grad(x_0, x_1, x_2, t):
r = 1.0 - t
@AtheMathmo
AtheMathmo / LightningRRTGrower.cs
Last active August 14, 2020 17:37
Code for procedurally generated lightning bolts in unity
using UnityEngine;
public class LightningRRTGrower : RRTGrower
{
Vector3 sampleSphereOrigin;
float pathLength;
float sampleRadius = 3f;
public float SampleRadius { get => sampleRadius; set => sampleRadius = value; }
extern crate futures;
extern crate backtrace;
extern crate tokio_timer;
extern crate nix;
extern crate libc;
pub mod timeout;
use tokio_timer::Timer;
test linalg::matrix::mat_mul_20_20_5000 ... bench: 470,701 ns/iter (+/- 43,247)
test linalg::matrix::mat_mul_5000_20_20 ... bench: 463,982 ns/iter (+/- 34,184)
test linalg::matrix::mat_paramul_20_20_5000 ... bench: 459,462 ns/iter (+/- 366,058)
test linalg::matrix::mat_paramul_5000_20_20 ... bench: 415,152 ns/iter (+/- 494,893)
@AtheMathmo
AtheMathmo / gist:5a9f191dbd81b309fe9e05aa894d2d1d
Last active April 17, 2016 19:09
Benchmarks for rusty-machine matrix multiplication
test linalg::matrix::mat_mul_128_100 ... bench: 221,813 ns/iter (+/- 28,576)
test linalg::matrix::mat_paramul_128_100 ... bench: 213,257 ns/iter (+/- 16,667)
test linalg::matrix::mat_blasmul_128_100 ... bench: 107,305 ns/iter (+/- 14,451)
test linalg::matrix::mat_mul_128_1000 ... bench: 1,994,442 ns/iter (+/- 79,774)
test linalg::matrix::mat_paramul_128_1000 ... bench: 1,147,764 ns/iter (+/- 136,592)
test linalg::matrix::mat_blasmul_128_1000 ... bench: 996,405 ns/iter (+/- 109,778)
test linalg::matrix::mat_mul_128_10000 ... bench: 21,185,583 ns/iter (+/- 794,584)
test linalg::matrix::mat_paramul_128_10000 ... bench: 11,687,473 ns/iter (+/- 638,582)
#[bench]
fn mat_blas_128_100(b: &mut Bencher) {
let a = OwnedArray::from_vec_dim((128, 100), vec![2f32; 12800]).unwrap();
let c = OwnedArray::from_vec_dim((100, 128), vec![3f32; 12800]).unwrap();
let a = a.view();
let c = c.view();
b.iter(|| a.dot(&c));
}
@AtheMathmo
AtheMathmo / gist:65bf0e7a902a133c1420ede462142527
Last active April 17, 2016 00:48
Benchmarks for rusty-machine multiplication
test linalg::matrix::mat_mul_128_100 ... bench: 213,072 ns/iter (+/- 47,042)
test linalg::matrix::mat_mul_128_1000 ... bench: 1,996,190 ns/iter (+/- 66,789)
test linalg::matrix::mat_mul_128_10000 ... bench: 21,215,542 ns/iter (+/- 793,933)
test linalg::matrix::mat_mul_128_100000 ... bench: 211,979,455 ns/iter (+/- 13,750,261)
test linalg::matrix::mat_paramul_128_100 ... bench: 270,320 ns/iter (+/- 167,244)
test linalg::matrix::mat_paramul_128_1000 ... bench: 1,253,315 ns/iter (+/- 1,715,936)
test linalg::matrix::mat_paramul_128_10000 ... bench: 11,659,379 ns/iter (+/- 2,533,431)
test linalg::matrix::mat_paramul_128_100000 ... bench: 112,330,287 ns/iter (+/- 4,083,264)