From 312776329928f0d34140ba085daad1b8a4bb9fdd Mon Sep 17 00:00:00 2001 From: Deskull Date: Wed, 12 Dec 2018 21:56:11 +0900 Subject: [PATCH] =?utf8?q?[Refactor]=20#37353=20mysqrt()=20=E3=82=92=20z-u?= =?utf8?q?til.c=20=E3=81=B8=E7=A7=BB=E5=8B=95=E3=80=82=20/=20Move=20mysqrt?= =?utf8?q?()=20to=20z-util.c.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- src/monster2.c | 43 +------------------------------------------ src/z-util.c | 42 ++++++++++++++++++++++++++++++++++++++++++ src/z-util.h | 1 + 3 files changed, 44 insertions(+), 42 deletions(-) diff --git a/src/monster2.c b/src/monster2.c index 9c8145b08..715ba5185 100644 --- a/src/monster2.c +++ b/src/monster2.c @@ -197,7 +197,7 @@ void reset_target(monster_type *m_ptr) */ monster_race *real_r_ptr(monster_type *m_ptr) { - return &r_info[real_r_idx(m_ptr)]; + return &r_info[real_r_idx(m_ptr)]; } MONRACE_IDX real_r_idx(monster_type *m_ptr) @@ -1216,47 +1216,6 @@ errr get_mon_num_prep(monsterrace_hook_type monster_hook, return (0); } -/*! - * @brief 平方根を切り捨て整数で返す - * @param n 数値 - * @return 平方根 - */ -static int mysqrt(int n) -{ - int tmp = n>>1; - int tasu = 10; - int kaeriti = 1; - - if (!tmp) - { - if (n) return 1; - else return 0; - } - - while(tmp) - { - if ((n/tmp) < tmp) - { - tmp >>= 1; - } - else break; - } - kaeriti = tmp; - while(tasu) - { - if ((n/tmp) < tmp) - { - tasu--; - tmp = kaeriti; - } - else - { - kaeriti = tmp; - tmp += tasu; - } - } - return kaeriti; -} /*! * @brief 生成モンスター種族を1種生成テーブルから選択する diff --git a/src/z-util.c b/src/z-util.c index d11e8401b..d81f6f96f 100644 --- a/src/z-util.c +++ b/src/z-util.c @@ -282,3 +282,45 @@ int count_bits(BIT_FLAGS x) return (n); } + +/*! + * @brief 平方根を切り捨て整数で返す + * @param n 数値 + * @return 平方根 + */ +int mysqrt(int n) +{ + int tmp = n >> 1; + int tasu = 10; + int kaeriti = 1; + + if (!tmp) + { + if (n) return 1; + else return 0; + } + + while (tmp) + { + if ((n / tmp) < tmp) + { + tmp >>= 1; + } + else break; + } + kaeriti = tmp; + while (tasu) + { + if ((n / tmp) < tmp) + { + tasu--; + tmp = kaeriti; + } + else + { + kaeriti = tmp; + tmp += tasu; + } + } + return kaeriti; +} \ No newline at end of file diff --git a/src/z-util.h b/src/z-util.h index 088b10b52..fab0aa476 100644 --- a/src/z-util.h +++ b/src/z-util.h @@ -65,4 +65,5 @@ extern void s64b_mod(s32b *A1, u32b *A2, s32b B1, u32b B2); #endif extern int count_bits(BIT_FLAGS x); +extern int mysqrt(int n); -- 2.11.0