|
370 | 370 |
|
371 | 371 | end # Float16 |
372 | 372 |
|
| 373 | +@testset "writeshortest(::AbstractVector, pos, ...)" begin |
| 374 | + @testset for Vec in (Vector{UInt8}, Memory{UInt8}) |
| 375 | + buf = Vec(undef, 4) |
| 376 | + @test Ryu.writeshortest(buf, 1, -0.0) == 5 |
| 377 | + @test String(buf) == "-0.0" |
| 378 | + |
| 379 | + buf = Vec(undef, 100) |
| 380 | + xx = 4.7223665f21 |
| 381 | + expected = "4.7223665e21" |
| 382 | + start_pos = 42 |
| 383 | + nwritten = length(expected) |
| 384 | + end_pos = start_pos + nwritten |
| 385 | + @test Ryu.writeshortest(buf, start_pos, xx) == end_pos |
| 386 | + @test String(buf[start_pos:end_pos-1]) == expected |
| 387 | + end |
| 388 | +end |
| 389 | + |
373 | 390 | @testset "Ryu.writefixed" begin |
374 | 391 | @testset "Basic" begin |
375 | 392 | @test Ryu.writefixed(todouble(false, 1234, 99999), 0) == |
@@ -563,6 +580,23 @@ end # Float16 |
563 | 580 | @test Ryu.writefixed(-100.0+eps(-100.0), 0, false, false, true, UInt8('.'), false) == "-100." |
564 | 581 | @test Ryu.writefixed(100.0-eps(100.0), 1, false, false, true, UInt8('.'), false) == "100.0" |
565 | 582 | @test Ryu.writefixed(-100.0+eps(-100.0), 1, false, false, true, UInt8('.'), false) == "-100.0" |
| 583 | + |
| 584 | + @testset "writefixed(::AbstractVector, pos, ...)" begin |
| 585 | + @testset for Vec in (Vector{UInt8}, Memory{UInt8}) |
| 586 | + buf = Vec(undef, 6) |
| 587 | + @test Ryu.writefixed(buf, 1, 0.0, 4) == 7 |
| 588 | + @test String(buf) == "0.0000" |
| 589 | + |
| 590 | + buf = Vec(undef, 100) |
| 591 | + xx = 1729.142857142857 |
| 592 | + prec = 8 |
| 593 | + start_pos = 42 |
| 594 | + nwritten = 4 + 1 + prec |
| 595 | + end_pos = start_pos + nwritten |
| 596 | + @test Ryu.writefixed(buf, start_pos, xx, prec) == end_pos |
| 597 | + @test String(buf[start_pos:end_pos-1]) == "1729.14285714" |
| 598 | + end |
| 599 | + end |
566 | 600 | end # fixed |
567 | 601 |
|
568 | 602 | @testset "Ryu.writeexp" begin |
|
761 | 795 | @test Ryu.writeexp(2.0, 1, false, false, false, UInt8('e'), UInt8('.'), true) == "2e+00" |
762 | 796 | end |
763 | 797 |
|
| 798 | +@testset "writeexp(::AbstractVector, pos, ...)" begin |
| 799 | + @testset for Vec in (Vector{UInt8}, Memory{UInt8}) |
| 800 | + buf = Vec(undef, 10) |
| 801 | + @test Ryu.writeexp(buf, 1, 0.0, 4) == 11 |
| 802 | + @test String(buf) == "0.0000e+00" |
| 803 | + |
| 804 | + buf = Vec(undef, 100) |
| 805 | + xx = 1729.142857142857 |
| 806 | + prec = 8 |
| 807 | + start_pos = 42 |
| 808 | + nwritten = 1 + 1 + prec + 4 |
| 809 | + end_pos = start_pos + nwritten |
| 810 | + @test Ryu.writeexp(buf, start_pos, xx, prec) == end_pos |
| 811 | + @test String(buf[start_pos:end_pos-1]) == "1.72914286e+03" |
| 812 | + end |
| 813 | +end |
| 814 | + |
764 | 815 | end # exp |
765 | 816 |
|
766 | 817 | @testset "compact" begin |
|
0 commit comments