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
// ==UserScript== | |
// @name AtCoder Code Prettify | |
// @namespace https://miz-ar.info/ | |
// @include https://atcoder.jp/contests/*/submissions/* | |
// @version 3 | |
// @grant none | |
// @run-at document-start | |
// ==/UserScript== | |
console.debug("AtCoder Code Prettify is running"); |
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
#include <stdint.h> | |
#include <float.h> | |
#include <stdlib.h> | |
#include <stdio.h> | |
#include <fenv.h> | |
#pragma STDC FENV_ACCESS ON | |
#if defined(__x86_64__) && defined(__GNUC__) | |
#define HAS_X87 | |
static void set_x87_prec_24(void) |
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
#include <stdio.h> | |
#include <math.h> | |
#include <inttypes.h> | |
#if defined(__GNUC__) | |
#define NOINLINE __attribute__((noinline)) | |
#else | |
#define NOINLINE | |
#endif |
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 MagicHash #-} | |
module IntegerToInt where | |
import GHC.Integer.GMP.Internals (Integer (S#)) | |
-- import GHC.Num.Integer (Integer (IS)) | |
import GHC.Exts (Int (I#)) | |
-- Like Data.Bits.toIntegralSized, but optimized for Integer and Int | |
integerToIntMaybe :: Integer -> Maybe Int | |
integerToIntMaybe (S# x) = Just (I# x) | |
-- integerToIntMaybe (IS x) = Just (I# x) |
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
#include <math.h> | |
#include <stdbool.h> | |
#include <stdio.h> | |
struct fma_test_case_d | |
{ | |
double a, b, c, expected; | |
} static const cases_d[] = { | |
{0x1p1000, 0x1p1000, -INFINITY, -INFINITY}, | |
{-0x1.4f8ac19291ffap1023, 0x1.39c33c8d39b7p-1025, 0x1.ee11f685e2e12p-1, 0x1.2071b0283f156p-1}, |
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
#include <stdio.h> | |
#include <stdlib.h> | |
#include <stdbool.h> | |
#include <string.h> | |
#include <math.h> | |
#include <float.h> | |
#include <inttypes.h> | |
#if defined(TEST_FLOAT128) | |
// For _Float128 type, see TS 18661-3 | |
// For _Float128 support on GCC, see https://gcc.gnu.org/onlinedocs/gcc/Floating-Types.html#Floating-Types |
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 DataKinds #-} | |
{-# LANGUAGE TypeFamilies #-} | |
import Unboxable | |
import Mod | |
import Data.Coerce | |
-- Defining Unboxable instance is as good as exporting the data constructor! | |
castUnboxable :: Unboxable a => Rep a -> a | |
castUnboxable = coerce |
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 stack | |
-- stack --resolver lts-14.15 script --package reflection | |
{-# LANGUAGE DataKinds, RankNTypes, TypeOperators, TypeFamilies, ScopedTypeVariables, TypeApplications #-} | |
import GHC.TypeNats | |
import Data.Type.Equality | |
import Unsafe.Coerce | |
import Data.Proxy | |
import Data.Reflection | |
cmpNat :: (KnownNat a, KnownNat b) |
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 RankNTypes #-} | |
{-# LANGUAGE GADTs #-} | |
{-# LANGUAGE FlexibleInstances #-} | |
{-# LANGUAGE IncoherentInstances #-} -- これがないとエラーになる(この拡張はかなりやばい) | |
import Data.List | |
class MyShow a where | |
myShow :: a -> String | |
instance MyShow Int where myShow = show |
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
module Main where | |
import Prelude | |
import Data.HeytingAlgebra | |
import Effect (Effect) | |
import Effect.Console (log) | |
foo :: forall a. HeytingAlgebra a => Unit -> a | |
foo x = foo x |