]> Kevux Git Server - fll/commitdiff
Update: Use 32-bit for f_number_unsigned_t on i386, i486, i586, and i686. development 0.8.0
authorKevin Day <Kevin@kevux.org>
Wed, 24 Dec 2025 19:59:15 +0000 (13:59 -0600)
committerKevin Day <Kevin@kevux.org>
Wed, 24 Dec 2025 19:59:44 +0000 (13:59 -0600)
This only checks the standard GNU architecture macros.
Other systems that use different means of communication architecture shall need changes.

level_0/f_type/c/type/number.h

index 789cd3d7f45106ef18fdcc8051625779b7d26f15..e3e659e4b6e9845348098f486685f352772c211e 100644 (file)
@@ -133,9 +133,9 @@ extern "C" {
  * Provides additional custom types so that it can be more easily be overwritten.
  * Specifically, there is support for using 32-bit, 64-bit, or 128-bit lengths.
  *
  * Provides additional custom types so that it can be more easily be overwritten.
  * Specifically, there is support for using 32-bit, 64-bit, or 128-bit lengths.
  *
- * 64-bit is the designed default.
+ * 64-bit is the designed default on most and 32-bit on i386, i486, i586, and i686.
  */
  */
-#ifndef _di_f_type_number_64_t_
+#if !defined(_di_f_type_number_64_t_) && (!defined(__i386__) && !defined(__i486__) && !defined(__i586__) && !defined(__i686__) || defined(__x86_64__))
   typedef int64_t  f_number_signed_t;
   typedef uint64_t f_number_unsigned_t;
 
   typedef int64_t  f_number_signed_t;
   typedef uint64_t f_number_unsigned_t;
 
@@ -149,7 +149,7 @@ extern "C" {
   #define F_number_t_size_max_unsigned_d F_type_size_max_64_unsigned_d
   #define F_number_t_size_max_positive_d F_type_size_max_64_positive_d
   #define F_number_t_size_max_negative_d F_type_size_max_64_negative_d
   #define F_number_t_size_max_unsigned_d F_type_size_max_64_unsigned_d
   #define F_number_t_size_max_positive_d F_type_size_max_64_positive_d
   #define F_number_t_size_max_negative_d F_type_size_max_64_negative_d
-#elif defined(_en_f_type_number_32_t_)
+#elif (defined(_en_f_type_number_32_t_) || !defined(_di_f_type_number_32_t_) && !defined(_en_f_type_number_128_t_) && (!defined(__i386__) && !defined(__i486__) && !defined(__i586__) && !defined(__i686__) || defined(__x86_64__)))
   typedef int32_t  f_number_signed_t;
   typedef uint32_t f_number_unsigned_t;
 
   typedef int32_t  f_number_signed_t;
   typedef uint32_t f_number_unsigned_t;