Skip to content

Instantly share code, notes, and snippets.

Avatar

Masahiro Sakai msakai

View GitHub Profile
View list_ext_modules.py
import sys
for mname, m in sys.modules.items():
fname = getattr(m, '__file__', None)
if fname is not None and fname.endswith('.so'):
print(f"{mname}: {fname}")
View FermatsFactorizationMethod.hs
module FermatsFactorizationMethod where
import Control.Monad
import Data.List (sort)
import Math.NumberTheory.Roots -- https://hackage.haskell.org/package/integer-roots
factor :: Integer -> [Integer]
factor = sort . g
where
g 1 = []
@msakai
msakai / ruby-puzzles-2022.rb
Created Sep 21, 2022
My solution for "Cookpad Code Puzzle for RubyKaigi 2022" https://ruby-puzzles-2022.cookpad.tech/
View ruby-puzzles-2022.rb
# coding: utf-8
def answer1(n)
n + 1
end
def answer2(str)
str.upcase
end
def answer3(n)
View SecantMethod.hs
-- |
--
-- * [Secant method](https://en.wikipedia.org/wiki/Secant_method)
--
-- * [割線法](https://ja.wikipedia.org/wiki/%E5%89%B2%E7%B7%9A%E6%B3%95)
module SecantMethod where
secantMethod :: (Eq a, Fractional a) => (a -> a) -> a -> a -> [a]
secantMethod f x0 x1 = map fst xs
where
View bucha_satellite_image_check.js
/*
NY Times の記事 "Dead Lay Out in Bucha for Weeks, Refuting Russian Claim, Satellite Images Show - The New York Times"
https://www.nytimes.com/2022/04/04/world/europe/bucha-ukraine-bodies.html
での「ロシア占領中の3月19日時点の衛星画像で死体が確認できる」と言う主張に対して、
「OSINT/GEOINTによって撮影時刻は4月1日11:57(UTC)である」と言う反論がなされている。
- ロシア語: https://t.me/rybar/30599
- 英訳: https://t.me/realCRP/4200
- 日本語訳: https://t.me/wakeupjapancomeon/1605
View Shuffle.hs
-- Fisher–Yates shuffle algorithm
-- https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle#Modern_method
--
-- Note that mwc-random provides functions for permuting vectors.
-- https://hackage.haskell.org/package/mwc-random-0.14.0.0/docs/System-Random-MWC-Distributions.html#g:5
--
{-# OPTIONS_GHC -Wall #-}
{-# LANGUAGE BangPatterns #-}
module Shufle
( shuffleVector
View test_associated_types.hs
{-# LANGUAGE FlexibleContexts, GADTs, TypeFamilies #-}
class T a where
type Config a
getConfig :: a -> Config a
data D where
T :: T a => a -> D
View ProximalGradientMethod.hs
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE ScopedTypeVariables #-}
module ProximalGradientMethod where
import Data.Foldable
import Data.Reflection (Reifies)
import Numeric.AD
import Numeric.AD.Mode.Reverse
import Numeric.AD.Internal.Reverse (Tape)
View RungeKutta.hs
{-# LANGUAGE FlexibleContexts #-}
import Control.Exception
import qualified Data.Vector.Generic as VG
import Numeric.LinearAlgebra
eulerMethod :: Fractional a => (a -> a -> a) -> a -> a -> a -> a
eulerMethod f h t y = y + h * f t y
-- https://ja.wikipedia.org/wiki/%E3%83%AB%E3%83%B3%E3%82%B2%EF%BC%9D%E3%82%AF%E3%83%83%E3%82%BF%E6%B3%95