General computer science topics applicable to any subdomain.
This file contains hidden or 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
#!/bin/bash | |
# --- Packages --- | |
# NOTE: I've noticed some issues where installs may fail if rapidly queued, to prevent this | |
# an artificial delay is inserted since this seems to make the behavior much more | |
# predictable | |
# Some operations seem to fail if time is not given for the system to do some kind of | |
# processing under the hood, so we insert artificial delays to help the process along |
This file contains hidden or 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
/// AVX implementation of the Harley-Seal algorithm for counting the number of bits in a bitset | |
/// | |
/// # Safety | |
/// Assumes that the input is `BITSET_SIZE_IN_WORDS` in length | |
pub unsafe fn cardinality(bitset: &[u64]) -> usize { | |
debug_assert!(bitset.len() == BITSET_SIZE_IN_WORDS); | |
let d = bitset.as_ptr() as *const Register; |
This file contains hidden or 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
use std::cell::Cell; | |
/// A thunk used for lazy generation and caching of values | |
struct Thunk<T: Copy> { | |
/// Cached value stored in the thunk | |
value: Cell<Option<T>>, | |
/// Generator function to generate a missing value | |
generator: fn() -> T | |
} |
This file contains hidden or 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
const COUNT: i32 = 500_000; | |
const BLOCK_SIZE: i32 = 1024; | |
fn main() { | |
let mut count = COUNT; | |
let mut block_count = 0; | |
let mut layer_count = 1; | |
while count > BLOCK_SIZE { | |
let blocks = (count as f32 / (BLOCK_SIZE as f32)).ceil() as i32; |
This file contains hidden or 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
extern crate rand; // 0.5.5 | |
use std::default::Default; | |
use rand; | |
macro_rules! declare_components { | |
($($name:ident),*) => { | |
$( | |
struct $name { | |
pub value: i32 |
This file contains hidden or 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
#![feature(const_fn, const_type_id)] | |
#[macro_use] | |
mod macros { | |
macro_rules! foreach_permutation { | |
($action:ident!(), $type:ident) => { | |
$action!($type); | |
}; | |
($action:ident!(), $type_lead:ident, $($type:ident),*) => { | |
$action!($type_lead, $($type),*); |
This file contains hidden or 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
use std::any::TypeId; | |
macro_rules! depends_on { | |
($($type:ty),*) => { | |
fn dependencies(&self) -> &'static [TypeId] { | |
$(<$type as System>::__assert_is_system();)* | |
&[$(TypeId::of::<$type>()),*] | |
} | |
} |
This file contains hidden or 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
# =============== # | |
# Unity generated # | |
# =============== # | |
[Tt]emp/ | |
[Oo]bj/ | |
/[Bb]uild/ | |
/[Ll]ibrary/ | |
# ======================================== # | |
# Visual Studio / Android Studio generated # |
This file contains hidden or 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
# Audio | |
*.wav filter=lfs diff=lfs merge=lfs -text | |
*.mp3 filter=lfs diff=lfs merge=lfs -text | |
# Models | |
*.obj filter=lfs diff=lfs merge=lfs -text | |
*.dae filter=lfs diff=lfs merge=lfs -text | |
*.fbx filter=lfs diff=lfs merge=lfs -text | |
*.mat filter=lfs diff=lfs merge=lfs -text |
NewerOlder