This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// When this function runs in my program on multiple threads, memory corruption eventually happens | |
// When it doesn't run, or runs on only 1 thread, no problems | |
// I can't see what could be thread unsafe about it, am I missing something? | |
public static float SingleCellular2EdgeSimple(float x, float y, float jitter, int seed) | |
{ | |
int xr = (x >= 0) ? (int)(x + 0.5f) : (int)(x - 0.5f); | |
int yr = (y >= 0) ? (int)(y + 0.5f) : (int)(y - 0.5f); | |
float[] distance = { 999999f, 999999f, 999999f, 999999f }; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
open System | |
type ASTNode = | |
| Add of (ASTNode * ASTNode) | |
| Sub of (ASTNode * ASTNode) | |
| X | |
| Constant of int | |
let rec Evaluate node x = | |
match node with |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
let rec ConstantFolding node = | |
match node with | |
| Add (l,r) -> match (ConstantFolding(l),ConstantFolding(r)) with | |
| (Constant v1,Constant v2) -> Constant(v1+v2) | |
| (optL,optR) -> Add(optL,optR) | |
| Sub(l,r) -> match (ConstantFolding(l),ConstantFolding(r)) with | |
| (Constant v1,Constant v2) -> Constant(v1-v2) | |
| (optL,optR) -> Sub(optL,optR) | |
| X -> X | |
| Constant v -> Constant(v) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Got a minute to revisit this question this morning and cleaned it up a lot | |
// - Jack | |
#define MAX(a,b) (((a)>(b))?(a):(b)) | |
int ctoi(char c){ | |
return (int)(c - '0'); | |
} | |
char itoc(int i){ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public static string Wrap(string s, int width, Func<string, int> widthMeasure) | |
{ | |
StringBuilder builder = new StringBuilder(s.Length); | |
var text = s.AsSpan(); | |
int start = 0; | |
int len = 0; | |
for (int i = 0; i < text.Length; i++) { | |
if (text[i] == ' ') | |
{ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System.Collections.Generic; | |
using System.Linq; | |
namespace FB | |
{ | |
public class PQueue<T> | |
{ | |
private SortedDictionary<float, Stack<T>> sdict; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 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; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
using System.Diagnostics; | |
namespace ConsoleApp11 | |
{ | |
class Program | |
{ | |
static long count_for(int[] a1, int[] a2) | |
{ | |
long count = 0; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#[macro_use] | |
extern crate criterion; | |
extern crate faster; | |
extern crate simdeez; | |
use criterion::Criterion; | |
use criterion::Fun; | |
use faster::*; | |
use simdeez::*; | |
use simdeez::sse2::*; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
using System.Diagnostics; | |
using System.Collections.Generic; | |
using System.Threading; | |
namespace csharpclarity | |
{ | |
class Vector | |
{ | |
public float x, y, z; |