OSDN Git Service

[Refactor] #37353 mysqrt() を z-util.c へ移動。 / Move mysqrt() to z-util.c.
authorDeskull <deskull@users.sourceforge.jp>
Wed, 12 Dec 2018 12:56:11 +0000 (21:56 +0900)
committerDeskull <deskull@users.sourceforge.jp>
Wed, 12 Dec 2018 12:56:11 +0000 (21:56 +0900)
src/monster2.c
src/z-util.c
src/z-util.h

index 9c8145b..715ba51 100644 (file)
@@ -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種生成テーブルから選択する
index d11e840..d81f6f9 100644 (file)
@@ -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
index 088b10b..fab0aa4 100644 (file)
@@ -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);