OSDN Git Service

[Refactor] #37353 生命の薬の効果をlife_stream()に分離。
[hengband/hengband.git] / src / z-util.h
index 64871cf..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
 
 /**** Available variables ****/
 
-/* Temporary Vars */
-extern char char_tmp;
-extern byte byte_tmp;
-extern sint sint_tmp;
-extern uint uint_tmp;
-extern long long_tmp;
-extern huge huge_tmp;
-extern errr errr_tmp;
-
-/* Temporary Pointers */
-extern cptr cptr_tmp;
-extern vptr vptr_tmp;
-
-
-/* Constant pointers (NULL) */
-extern cptr cptr_null;
-extern vptr vptr_null;
-
-
-/* A bizarre vptr that always points at itself */
-extern vptr vptr_self;
-
-
 /* A cptr to the name of the program */
 extern cptr argv0;
 
@@ -50,19 +35,6 @@ extern void (*core_aux)(cptr);
 
 /**** Available Functions ****/
 
-/* Function that does nothing */
-extern void func_nothing(void);
-
-/* Functions that return basic "errr" codes */
-extern errr func_success(void);
-extern errr func_problem(void);
-extern errr func_failure(void);
-
-/* Functions that return bools */
-extern bool func_true(void);
-extern bool func_false(void);
-
-
 /* Test equality, prefix, suffix */
 extern bool streq(cptr s, cptr t);
 extern bool prefix(cptr s, cptr t);
@@ -79,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