基幹関数一個につきファイル一個にしてみた。分割コンパイル大好き