Skip to content

Instantly share code, notes, and snippets.

@aymkx
aymkx / md5.rb
Last active November 28, 2017 03:27
Implement MD5 in Ruby
module Binary
# or MD5.module_eval(using Module.new{refine Class {~}...})
INTEGER_SIZE = 32
refine Integer do
def bit_rotate(bit_width=INTEGER_SIZE,shift=1)
raise ArgumentError if bit_width.negative?
shift = shift % bit_width
((self << shift) + (self >> (bit_width - shift) & ((1 << shift) - 1))) & ((1 << bit_width) - 1)
@aymkx
aymkx / rsa.rb
Last active October 28, 2021 15:15
Implement RSA-PKCS#1 v1.5 in Ruby
require 'securerandom'
require 'matrix'
module RSA
module Calculator
def self.powmod(base, exp, mod)
return 1 if exp == 0
exp.bit_length.times.inject(1) do |buf, i|
(buf ** 2) * (base ** exp[exp.bit_length - 1 - i]) % mod
end
@aymkx
aymkx / primenumber.rb
Last active December 19, 2017 19:53
そすうをつくります。
module PrimeNumber
def self.powmod(base, exp, mod)
return 1 if exp == 0
exp.bit_length.times.inject(1) do |buf, i|
(buf ** 2) * (base ** exp[exp.bit_length - 1 - i]) % mod
end
end
def self.miller_rabin_prime?(num, trial)
return false if num.even? || num < 3
@aymkx
aymkx / primenumber.py
Last active December 21, 2017 13:06
Pythonに翻訳しただけ
import random, time, subprocess
def powmod(base, exp, mod):
buf = 1
for i in range(exp.bit_length() - 1, -1, -1):
buf = ((buf ** 2) * (base ** ((exp >> i) & 1))) % mod
return buf
@aymkx
aymkx / aggregate_exif.py
Created June 15, 2018 15:13
EXIFデータかき集めて集計するやつ。まだ途中
import sys, os
import numpy
from PIL import Image
from PIL.ExifTags import TAGS
def get_exif(file):
try:
with Image.open(file) as im:
@aymkx
aymkx / combination.rs
Last active October 23, 2019 23:28
二項係数を求めるやつを雑に作った(多倍長整数に対応しました)
extern crate num_bigint;
pub struct Combination {
pascal: Vec<Vec<num_bigint::BigUint>>,
}
impl Combination {
pub fn init() -> Combination {
use num_bigint::ToBigUint;
学部 学科等 進学単位 段階 科類 定数
法学部 法学部 法学部 第一段階 文科一類 267
法学部 法学部 法学部 第一段階 理科 4
法学部 法学部 法学部 第一段階 全科類 12
経済学部 経済学部 経済学部 第一段階 文科二類 200
経済学部 経済学部 経済学部 第一段階 理科 7
経済学部 経済学部 経済学部 第一段階 全科類 42
文学部 人文学科(思想文化) A群 第一段階 文科三類 39
文学部 人文学科(思想文化) A群 第一段階 全科類 9
文学部 人文学科(歴史文化) B群 第一段階 文科三類 16
@aymkx
aymkx / class_schedule_cas_junior_2020_autumn.json
Last active September 28, 2020 13:56
教養学部前期課程2020年度Aセメスター授業日程
[
{
"type": "A",
"day": "Mon",
"ampm": "AM",
"date": [
"9/28",
"10/5",
"10/12",
"10/19",
@aymkx
aymkx / spl_sma_diff.py
Last active February 3, 2021 20:26
音圧の移動平均微分を調べる
import datetime
from os.path import exists
import pickle
from scipy.io.wavfile import read as read_wave
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
from matplotlib.ticker import IndexLocator, FuncFormatter
mpl.rcParams["agg.path.chunksize"] = 100_000
@aymkx
aymkx / class_schedule_foe_2021.json
Last active April 7, 2021 13:01
工学部2021年度授業日程
[
{
"semester/term": "S1S2",
"day": "Mon",
"AM/PM": "AM/PM",
"dates": [
"4/5",
"4/19",
"4/26",
"5/10",