Commit graph

50 commits

Author SHA1 Message Date
naruse
b2a128fa7c comment out for x86 extended precision
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48844 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-15 06:17:58 +00:00
nobu
230b845fa2 sprintf.c: improve rational 'f' format
* sprintf.c (rb_str_format): rational 'f' format works for more
  values.  [fix GH-717]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47588 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-14 23:13:36 +00:00
nobu
28dd61607e sprintf.c: fix condition
* sprintf.c (rb_str_format): fix condition to round.
  [ruby-core:64454] [Bug #10151]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47222 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-19 13:28:32 +00:00
nobu
1d196e0d2b sprintf.c: rational 'f' format
* sprintf.c (rb_str_format): support rational 'f' format.
  [ruby-core:64382] [Bug #10136]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47214 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-18 08:06:48 +00:00
nobu
cfa7b2283b sprintf.c: unnumbered asterisk with numbered argument
* sprintf.c (GETASTER): should not use the numbered argument to be
  formatted, raise ArgumentError instead.
  [ruby-dev:48330] [Bug #9982]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46569 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-26 18:41:57 +00:00
nobu
57d6cb4af9 sprintf.c: remove extra parentheses
* sprintf.c (GETASTER): remove extra parentheses from the second
  argument so that the error message does not contain them.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46564 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-26 13:30:08 +00:00
nobu
b28e537129 test_sprintf.rb: sprintf with a hash as parameter
* test/ruby/test_sprintf.rb (test_hash): Added tests for sprintf
  with a hash as parameter.  [Fixes GH-491]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44456 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-28 23:47:27 +00:00
nobu
3ac0ec4ecd test/ruby: better assertions
* test/ruby: use better assertions instead of mere assert.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44173 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-13 09:18:05 +00:00
nobu
9ef55da910 test/unit/assertions.rb: return exception
* lib/test/unit/assertions.rb (assert_raise_with_message): return
  raised exception same as assert_raise.

* test/ruby, test/-ext-: use assert_raise_with_message.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43212 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-09 08:43:12 +00:00
nobu
db5265a82c * parse.y (rb_check_id_cstr): new function to check if ID is
registered with NUL-terminated C string.
* sprintf.c (rb_str_format): avoid inadvertent symbol creation.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35300 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-11 13:31:23 +00:00
nobu
a5d1da5d74 * sprintf.c (rb_str_format): fix exception message encoding.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35299 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-11 13:01:16 +00:00
nobu
51f2207fc9 * test/ruby/test_sprintf.rb (test_named_untyped, test_named_typed):
split and add assertions for exception when named parameter after
  unnumbered.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35298 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-11 13:01:14 +00:00
nobu
23ba7541e5 * sprintf.c (rb_str_format): fix error message.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35297 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-11 12:43:56 +00:00
naruse
18c0fc890c * vsnprintf.c (BSD_vfprintf): don't output floating point
when the precision is 0. [ruby-dev:42615]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29873 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-22 16:06:38 +00:00
naruse
3c18caa4c2 Fix wrong test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29730 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-09 04:22:25 +00:00
naruse
c383fbf93f * util.c (ruby_strtod): this code uses FPU's rounding system.
But x86's FPU calculates double precision floating-point
  numbers in 80bit precision, so it fails to round the value.
  So ensure the value is assigned a variable. [ruby-dev:42551]
  see also [ruby-math:00802]
  http://www.shudo.net/java-grandprix99/strictfp/

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29729 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-09 01:57:49 +00:00
naruse
599a7071c1 * vsnprintf.c (BSD_vfprintf): fix precision specifier doesn't
work well on %f. [ruby-dev:42552]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29719 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-08 06:44:39 +00:00
nobu
bbf0fd4e9c * vsnprintf.c (BSD_vfprintf): prec digits fractal part should be
appended to 0 if prec is given.  [ruby-dev:42453] #3979

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29587 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-24 21:21:40 +00:00
naruse
e9240114a0 * vsnprintf.c (BSD_vfprintf): print floating point on "%#a".
[ruby-dev:42431] Bug#3965

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29537 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-20 01:03:18 +00:00
naruse
fb796561f0 * vsnprintf.c (BSD_vfprintf): clear ALT flag for %a.
[ruby-core:32841] [ruby-core:32848]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29536 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-19 10:34:13 +00:00
nobu
73057fb85b * test/ruby/test_sprintf.rb: fix ML ref. [ruby-core:32848]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29535 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-19 03:26:35 +00:00
nobu
c511d26f6a * vsnprintf.c (BSD_vfprintf): fix over-count of field size.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29532 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-19 03:19:30 +00:00
nobu
da55cfdf72 * vsnprintf.c (BSD_vfprintf): use HEXPREFIX flag for prefix of %a.
[ruby-core:32841]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29531 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-18 18:08:58 +00:00
naruse
35388369dc Fix wrong test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29525 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-18 01:53:41 +00:00
naruse
a7e8b12f96 * sprintf.c (BSD_vfprintf): wrong padding arround prefix and
floating point with %a. [ruby-dev:42403] Bug #3956

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29521 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-18 00:59:31 +00:00
naruse
8a0cd16de1 Revert "* sprintf.c (rb_str_format): fix: sprintf with hex format and"
This reverts commit a160986d90.
Revert wrong commit.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29504 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-15 08:31:58 +00:00
naruse
a160986d90 * sprintf.c (rb_str_format): fix: sprintf with hex format and
precision includes wrong dots.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29502 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-15 08:28:12 +00:00
naruse
6e2850aa46 * sprintf.c: add short documentation about named reference.
[ruby-core:31294]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28702 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-21 06:16:07 +00:00
nobu
921b2d1cfb * lib/test/unit/assertions.rb (Test::Unit::Assertions#assert):
use more descriptive assertions.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27545 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-29 05:46:04 +00:00
naruse
a9aeb765c5 Remove platform dependent test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27203 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-02 23:18:51 +00:00
naruse
9b40cdfe8c Add test for sprintf with Infinity and NaN.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27144 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-01 06:44:30 +00:00
naruse
12b2e16e21 * sprintf.c (rb_str_format): support %a format. [ruby-dev:40650]
* missing/vsnprintf.c (BSD_vfprintf): ditto.

* missing/vsnprintf.c (cvt): ditto.

* util.c (BSD__hdtoa): added.  This is 2-clause BSDL licensed
  by David Schultz and from FreeBSD.

* LEGAL: add about hdtoa() in util.c.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-01 04:32:57 +00:00
nobu
48379c7309 * sprintf.c (rb_str_format): checks if named argument given twice.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23090 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-27 23:49:52 +00:00
nobu
08b4f9138c * test/ruby/test_sprintf.rb (test_invalid): suppress warning.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21135 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-28 09:51:18 +00:00
ko1
39fcd1cdf2 * bootstraptest/test_knownbug.rb: move solved tests.
* bootstraptest/test_eval.rb, test_literal.rb, test_syntax.rb,
  test_thread.rb: ditto.
* test/ruby/test_m17n.rb, test_proc.rb, test_sprintf.rb,
  test_string.rb, test/ruby/test_struct.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16472 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-19 05:20:21 +00:00
usa
c1e0cb08f2 * test_sprintf.rb (test_integer): add some cases.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15717 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-06 06:48:15 +00:00
akr
7a62e3ea59 add a test for [ruby-dev:34002].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15714 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-06 06:21:07 +00:00
nobu
591503c0ab * sprintf.c (rb_str_format): ignore 0 flag for NaN and Inf.
[ruby-dev:33994]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15711 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-06 06:11:43 +00:00
matz
840723e523 test/test_{string,sprintf}.rb: updated.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15651 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-01 01:22:45 +00:00
nobu
0c390860cb * sprintf.c (remove_sign_bits): returns pointer to the first char to
be used, instead of copying.

* sprintf.c (rb_str_format): negative indicator dots should come
  before sign digits always.  [ruby-dev:33224]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15215 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-24 10:29:22 +00:00
akr
2a02fe7497 add a test for [ruby-dev:33224].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15207 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-24 06:59:03 +00:00
mame
e405a1b93c * test/ruby/test_struct.rb: add tests to achieve over 90% test
coverage of struct.c.
* test/ruby/test_sprintf.rb: ditto for sprintf.c.
* test/ruby/test_math.rb: ditto for math.c.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15189 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-23 13:49:06 +00:00
ko1
34ff55e82a * test/ruby/test_float.rb, test_sprintf.rb: fix test place.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14461 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-22 05:19:38 +00:00
ko1
0d4761fb1a * bootstraptest/test_knownbug.rb: move fixed bugs.
* test/ruby/test_sprintf.rb: ditto.
* test/yaml/test_yaml.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14065 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-01 05:43:06 +00:00
akr
68543f3092 use ML ref. for assertion message.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13958 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-18 07:18:56 +00:00
nobu
46e848a65a * sprintf.c (rb_f_sprintf): should not check positional number as
width.  [ruby-core:11838]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12861 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-02 04:46:41 +00:00
nobu
192c936e23 * sprintf.c (rb_f_sprintf): more checks for format argument.
[ruby-core:11569], [ruby-core:11570], [ruby-core:11571],
  [ruby-core:11573]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12803 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-15 20:45:55 +00:00
usa
a28006f959 * sprintf.c (rb_f_sprintf): support FZERO and FSPACE with NaN/Inf.
* test/ruby/test_sprintf.rb (test_nan, test_inf): add tests.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6495 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-06-22 14:38:21 +00:00
nahi
994dfc0ae6 * test/*: should not depend on $KCODE.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-02-18 13:08:08 +00:00
usa
44284f71c9 * test/ruby/test_sprintf.rb: added tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-02-18 09:09:21 +00:00