[#34011] Should --verbose be equal to -v ? — Yugui <yugui@...>

Yuguiです。

15 messages 2008/03/10
[#34012] Re: Should --verbose be equal to -v ? — Yukihiro Matsumoto <matz@...> 2008/03/10

まつもと ゆきひろです

[#34105] rational.rb, complex.rb and mathn.rb — Tadayoshi Funaba <tadf@...>

rational と complex が組み込みになったことで、lib/mathn.rb の意義は薄

29 messages 2008/03/22
[#34106] Re: rational.rb, complex.rb and mathn.rb — Tadayoshi Funaba <tadf@...> 2008/03/22

現時点で rational.rb と complex.rb を残しているのは、それが無難だから

[#34107] Re: rational.rb, complex.rb and mathn.rb — Tadayoshi Funaba <tadf@...> 2008/03/22

で、かなり選択肢を絞った叩き台です。

[#34120] Re: rational.rb, complex.rb and mathn.rb — keiju@... (石塚圭樹) 2008/03/24

けいじゅ@いしつかです.

[#34125] Re: rational.rb, complex.rb and mathn.rb — Shin-ichiro HARA <sinara@...> 2008/03/25

原です。

[#34130] Re: rational.rb, complex.rb and mathn.rb — Tadayoshi Funaba <tadf@...> 2008/03/25

> 私も Complex の組み込みは Rational とは比較にならないくらい、仕様が決め

[#34158] Complex組み込み — Masahiro TANAKA <masa16.tanaka@...>

Complexが組み込みになるそうですが、これはcomplex.rbを踏襲して、

49 messages 2008/03/27
[#34161] Re: Complex組み込み — Shin-ichiro HARA <sinara@...> 2008/03/28

原です。

[#34168] Re: Complex組み込み — Tadayoshi Funaba <tadf@...> 2008/03/28

> 今までの Complex は、complex.rb にほぼ残して、たとえば Rational 成分

[#34186] Re: Complex組み込み — Shin-ichiro HARA <sinara@...> 2008/03/31

原です。

[#34187] Re: Complex組み込み — Tadayoshi Funaba <tadf@...> 2008/03/31

> そうです。Complex が難しい、という話を書いておくと、

[#34193] Re: Complex組み込み — Yukihiro Matsumoto <matz@...> 2008/03/31

まつもと ゆきひろです

[#34203] Re: Complex組み込み — Tadayoshi Funaba <tadf@...> 2008/04/01

> |僕としては、/ 演算子の振舞いについて前向きに検討してほしいです。

[#34215] Re: Complex組み込み — Yukihiro Matsumoto <matz@...> 2008/04/02

まつもと ゆきひろです

[#34166] Re: Complex組み込み — Tadayoshi Funaba <tadf@...> 2008/03/28

> となるようですが、別の実装として、

[ruby-dev:34040] Re: uint32_t

From: "NARUSE, Yui" <naruse@...>
Date: 2008-03-14 01:15:29 UTC
List: ruby-dev #34040
成瀬です。

U.Nakamura wrote:
> In message "[ruby-dev:34032] Re: uint32_t"
>     on Mar.13,2008 17:30:41, <[email protected]> wrote:
> | この時点では uint32_t でなく unsigned int なので実際に uint32_t になるのは r15760 ですね。
> | なにはともあれ r15762 でビルドは通るようになっていると思います。
> 
> ext/digest/defs.hでuint32_tをtypedefしようとしているせいで、
> inttypes.hがない環境ではビルドが通らないようになってますが :)
> 
> これどうしましょうかね。
> uint8_tとuint64_t(可能なら)もrubyで用意するようにしてこの辺ま
> るごと消すのがいいんですかね。

とりあえずこんな感じでどうでしょう。


-- 
NARUSE, Yui  <[email protected]>
DBDB A476 FDBD 9450 02CD 0EFC BCE3 C388 472E C1EA

Attachments (1)

int.patch (3.49 KB, text/x-diff)
--- configure.in	(revision 15770)
+++ configure.in	(working copy)
@@ -620,18 +620,39 @@ AC_CHECK_TYPES(struct timespec)
 
 AC_CHECK_TYPE(fd_mask, [AC_DEFINE(HAVE_RB_FD_INIT, 1)])
 
-test ${rb_cv_type_uint32_t+set} && ac_cv_type_uint32_t=yes
-AC_CHECK_TYPE(uint32_t)
-if test ${ac_cv_type_uint32_t} != yes; then
-    AC_CACHE_CHECK([unsigned 32bit int],
-	rb_cv_type_uint32_t,
-	[for type in short int long; do
-	    type="unsigned $type"
-	    AC_COMPILE_IFELSE(AC_LANG_BOOL_COMPILE_TRY([], [sizeof($type) == 4]),
-		[rb_cv_type_uint32_t=$type; break], [])
-	done])
-    AC_DEFINE_UNQUOTED(uint32_t, $rb_cv_type_uint32_t)
+dnl RUBY_DEFINT [typename] [size] [signed]
+AC_DEFUN([RUBY_DEFINT], [dnl
+AC_CACHE_CHECK([for $1], [rb_cv_type_$1],
+[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT([$4])
+typedef $1 t; int s = sizeof(t) == 42;])],
+   [rb_cv_type_$1=yes],
+   [case m4_bmatch([$2], [^[1-9][0-9]*$], $2, [$ac_cv_sizeof_]AS_TR_SH($2)) in
+    "1") rb_cv_type_$1="m4_if([$3], [], [signed ], [$3 ])char";;
+    "$ac_cv_sizeof_short") rb_cv_type_$1="m4_if([$3], [], [], [$3 ])short";;
+    "$ac_cv_sizeof_int") rb_cv_type_$1="m4_if([$3], [], [], [$3 ])int";;
+    "$ac_cv_sizeof_long") rb_cv_type_$1="m4_if([$3], [], [], [$3 ])long";;
+    "$ac_cv_sizeof_long_long") rb_cv_type_$1="m4_if([$3], [], [], [$3 ])long long";;
+    "$ac_cv_sizeof___int64") rb_cv_type_$1="m4_if([$3], [], [], [$3 ])__int64";;
+    *) rb_cv_type_$1=no;;
+    esac])])
+if test "${rb_cv_type_$1}" != no; then
+    AC_DEFINE([HAVE_]AS_TR_CPP($1), 1)
+    test "${rb_cv_type_$1}" = yes || AC_DEFINE_UNQUOTED($1, [$rb_cv_type_$1])
 fi
+])
+
+RUBY_DEFINT(int8_t, 1)
+RUBY_DEFINT(uint8_t, 1, unsigned)
+RUBY_DEFINT(int16_t, 2)
+RUBY_DEFINT(uint16_t, 2, unsigned)
+RUBY_DEFINT(int32_t, 4)
+RUBY_DEFINT(uint32_t, 4, unsigned)
+RUBY_DEFINT(int64_t, 8)
+RUBY_DEFINT(uint64_t, 8, unsigned)
+RUBY_DEFINT(int128_t, 16)
+RUBY_DEFINT(uint128_t, 16, unsigned)
+RUBY_DEFINT(intptr_t, void*)
+RUBY_DEFINT(uintptr_t, void*, unsigned)
 
 AC_CACHE_CHECK(for stack end address, rb_cv_stack_end_address,
 [rb_cv_stack_end_address=no
--- ext/digest/defs.h	(revision 15770)
+++ ext/digest/defs.h	(working copy)
@@ -16,18 +16,4 @@
 # define __END_DECLS
 #endif
 
-#if defined(HAVE_INTTYPES_H)
-# include <inttypes.h>
-#elif !defined __CYGWIN__ || !defined __uint8_t_defined
-  typedef unsigned char uint8_t;
-  typedef unsigned int  uint32_t;
-# if SIZEOF_LONG == 8
-  typedef unsigned long uint64_t;
-# elif SIZEOF_LONG_LONG == 8
-  typedef unsigned LONG_LONG uint64_t;
-# else
-#  define NO_UINT64_T
-# endif
-#endif
-
 #endif /* DEFS_H */
--- win32/Makefile.sub	(revision 15770)
+++ win32/Makefile.sub	(working copy)
@@ -368,6 +368,31 @@ $(CONFIG_H): $(MKFILES) $(srcdir)/win32/
 #define uint32_t unsigned int
 #define HAVE_STRUCT_STAT_ST_RDEV 1
 #define HAVE_ST_RDEV 1
+#define int8_t signed char
+#define HAVE_UINT8_T 1
+#define uint8_t unsigned char
+#define HAVE_INT16_T 1
+#define int16_t short
+#define HAVE_UINT16_T 1
+#define uint16_t unsigned short
+#define HAVE_INT32_T 1
+#define int32_t int
+#define HAVE_UINT32_T 1
+#define uint32_t unsigned int
+#define HAVE_INT64_T HAVE_LONG_LONG
+#define int64_t __int64
+#define HAVE_UINT64_T HAVE_LONG_LONG
+#define uint64_t unsigned __int64
+#define HAVE_INTPTR_T 1
+#define HAVE_UINTPTR_T 1
+!if "$(ARCH)" == "x64" || "$(ARCH)" == "ia64"
+#define intptr_t __int64
+#define uintptr_t unsigned __int64
+!else
+#define intptr_t long
+#define uintptr_t unsigned long
+!endif
+#endif
 #define GETGROUPS_T int
 #define RETSIGTYPE void
 !if !defined(WIN32_WCE)

In This Thread