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
| // See <https://gist.github.com/pervognsen/b58108d134824e61caedffcc01004e03> for | |
| // Per Vognsen gist on value speculation. | |
| // | |
| // I compile this on linux with | |
| // | |
| // $ clang --version | |
| // clang version 12.0.0 | |
| // Target: x86_64-unknown-linux-gnu | |
| // $ clang -static -Wall -O3 value-speculation-linux.c -o value-speculation-linux | |
| // |
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
| {-# LANGUAGE MultiWayIf #-} | |
| {-# LANGUAGE LambdaCase #-} | |
| {-# LANGUAGE RecordWildCards #-} | |
| import Data.List (transpose) | |
| data Forward a = Forward { _value :: !a, _grad :: !a } | |
| deriving (Show, Eq) | |
| lift :: Num a => a -> Forward a | |
| lift a = Forward { _value = a, _grad = 0 } |
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
| {-# LANGUAGE FlexibleContexts #-} | |
| {-# LANGUAGE UndecidableInstances #-} | |
| {-# LANGUAGE LambdaCase #-} | |
| {-# LANGUAGE RecordWildCards #-} | |
| {-# LANGUAGE ScopedTypeVariables #-} | |
| {-# LANGUAGE TypeApplications #-} | |
| {-# LANGUAGE RankNTypes #-} | |
| {-# LANGUAGE BangPatterns #-} | |
| {-# OPTIONS_GHC -Wall #-} | |
| import Data.IORef |
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
| # Edit this configuration file to define what should be installed on | |
| # your system. Help is available in the configuration.nix(5) man page | |
| # and in the NixOS manual (accessible by running ‘nixos-help’). | |
| { config, pkgs, ... }: | |
| { | |
| imports = | |
| [ # Include the results of the hardware scan. | |
| ./hardware-configuration.nix |
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
| #! /usr/bin/env bash | |
| # Script to install NixOS from the Hetzner Cloud NixOS bootable ISO image. | |
| # (tested with Hetzner's `NixOS 20.03 (amd64/minimal)` ISO image). | |
| # | |
| # This script wipes the disk of the server! | |
| # | |
| # Instructions: | |
| # | |
| # 1. Mount the above mentioned ISO image from the Hetzner Cloud GUI |
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
| function signNonZero(x: number): number { | |
| return x < 0 ? -1 : 1; | |
| } | |
| function inClosedInterval(a: number, x: number, b: number): boolean { | |
| return (x-a) * (x-b) <= 0; | |
| } | |
| function segContainsPoint(a: number, b: number, x: number): number { | |
| return (b > x ? 1 : 0) - (a > x ? 1 : 0); |
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
| // Vectorized (SSE and AVX, through Eigen) atan2 and acos. | |
| // | |
| // Care has been taken to ensure that the vectorized results are identical to the non-vectorized | |
| // ones. | |
| // | |
| // Original functions from <https://developer.download.nvidia.com/cg/index_stdlib.html>, adapted | |
| // to work in bulk. Both seem to be very accurate (only tested that error < 0.01 | |
| // degrees, which is what I need). | |
| #include <Eigen/Core> |
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
| // Compiled with | |
| // | |
| // g++ -std=c++17 -march=native -O3 -I<path-to-eigen-master> eigen-avx.c -o eigen-avx | |
| // | |
| // Expected output: | |
| // | |
| // With size 8, normal_count: 0, packet4_count: 0, packet8_count: 1 | |
| // With size 9, normal_count: 1, packet4_count: 0, packet8_count: 1 | |
| // | |
| // Actual output: |
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
| Play this game by pasting the script in http://www.puzzlescript.net/editor.html |
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
| import GHC.Generics | |
| import Data.Kind | |
| import qualified Data.Vector as V | |
| import qualified Data.HashMap.Strict as HMS | |
| import qualified Data.Map.Strict as Map | |
| import Data.Hashable (Hashable) | |
| type family WebApiType a :: * |