Skip to content

Instantly share code, notes, and snippets.

Jack Mott jackmott

Block or report user

Report or block jackmott

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
@jackmott
jackmott / simd_test.rs
Last active Aug 6, 2018
compiler bug?
View simd_test.rs
// SSE returns the correct answer in Debug and Release
// AVX returns the correct answer in Debug but not Release
// This seems to be related to add_stuff being recursive
#[cfg(target_arch = "x86")]
use std::arch::x86::*;
#[cfg(target_arch = "x86_64")]
use std::arch::x86_64::*;
use std::fmt::Debug;
View foreach.cs
using System;
using System.Diagnostics;
namespace ConsoleApp11
{
class Program
{
static long count_for(int[] a1, int[] a2)
{
long count = 0;
View benchmark.rs
#[macro_use]
extern crate criterion;
extern crate faster;
extern crate simdeez;
use criterion::Criterion;
use criterion::Fun;
use faster::*;
use simdeez::*;
use simdeez::sse2::*;
@jackmott
jackmott / json.fs
Created Jun 19, 2018
customizing newtonsoft
View json.fs
namespace AlphaFront
module JsonCustomConverters =
open Newtonsoft.Json
open Microsoft.FSharp.Reflection
open System
open System.IO
type DuConverter() =
inherit JsonConverter()
@jackmott
jackmott / rustvc.c
Last active Jun 13, 2018
rust vs c
View rustvc.c
// An example of how tuples and treating if statements as expressions makes things nicer
// C version, a snippet from simlpex noise.
int i1, j1, k1; // Offsets for second corner of simplex in (i,j,k) coords
int i2, j2, k2; // Offsets for third corner of simplex in (i,j,k) coords
if (x0 >= y0) {
if (y0 >= z0) {
i1 = 1; j1 = 0; k1 = 0; i2 = 1; j2 = 1; k2 = 0;
}
@jackmott
jackmott / ast.rs
Created May 17, 2018
how to ast in rust
View ast.rs
//represents an AST - such as Plus(Sin(x),y)
pub enum Op {
Plus ( Vec<Op> ),
Sin ( Vec<Op> ),
X,
Y,
Constant (f32),
Empty
}
@jackmott
jackmott / verts.go
Created Apr 17, 2018
vertices for opengl cube
View verts.go
vertices := []float32{
-0.5, -0.5, -0.5, 0.0, 0.0,
0.5, -0.5, -0.5, 1.0, 0.0,
0.5, 0.5, -0.5, 1.0, 1.0,
0.5, 0.5, -0.5, 1.0, 1.0,
-0.5, 0.5, -0.5, 0.0, 1.0,
-0.5, -0.5, -0.5, 0.0, 0.0,
-0.5, -0.5, 0.5, 0.0, 0.0,
0.5, -0.5, 0.5, 1.0, 0.0,
@jackmott
jackmott / img2tex.go
Created Apr 13, 2018
Golang img to sdl texture
View img2tex.go
func imgFileToTexture(renderer *sdl.Renderer, filename string) *sdl.Texture {
infile, err := os.Open(filename)
if err != nil {
panic(err)
}
defer infile.Close()
img, err := png.Decode(infile)
if err != nil {
@jackmott
jackmott / macfix.go
Created Mar 9, 2018
mac fix for rpg
View macfix.go
package main
import (
"github.com/jackmott/rpg/game"
"github.com/jackmott/rpg/ui2d"
)
func main() {
game := game.NewGame(1, "game/maps/level1.map")
@jackmott
jackmott / apt.go
Created Feb 24, 2018
Expressions in Go
View apt.go
type Node interface {
Eval(x, y float32) float32
String() string
SetParent(parent Node)
GetParent() Node
GetChildren() []Node
SetChildren([]Node)
AddRandom(node Node)
AddLeaf(leaf Node) bool
NodeCount() int
You can’t perform that action at this time.