OSDN Git Service

#37580 sanity_blast()の仕様変更。魔法防御が高いほど致命的な変異を受けやすい問題を直した。 / Change process of sanity_bl...
[hengband/hengband.git] / src / z-util.h
index f90c74f..42c2f19 100644 (file)
@@ -1,4 +1,12 @@
-/* File z-util.h */
+/* File z-util.h */
+
+/*
+ * Copyright (c) 1997 Ben Harrison
+ *
+ * This software may be copied and distributed for educational, research,
+ * and not for profit purposes provided that this copyright and statement
+ * are included in all such copies.
+ */
 
 #ifndef INCLUDED_Z_UTIL_H
 #define INCLUDED_Z_UTIL_H
@@ -43,6 +51,16 @@ extern void quit(cptr str);
 extern void core(cptr str);
 
 
+/* 64-bit integer operations */
+#define s64b_LSHIFT(V1, V2, N) {V1 = (V1<<(N)) | (V2>>(32-(N))); V2 <<= (N);}
+#define s64b_RSHIFT(V1, V2, N) {V2 = (V1<<(32-(N))) | (V2>>(N)); V1 >>= (N);}
+extern void s64b_add(s32b *A1, u32b *A2, s32b B1, u32b B2);
+extern void s64b_sub(s32b *A1, u32b *A2, s32b B1, u32b B2);
+extern int s64b_cmp(s32b A1, u32b A2, s32b B1, u32b B2);
+extern void s64b_mul(s32b *A1, u32b *A2, s32b B1, u32b B2);
+extern void s64b_div(s32b *A1, u32b *A2, s32b B1, u32b B2);
+extern void s64b_mod(s32b *A1, u32b *A2, s32b B1, u32b B2);
+
 
 #endif