backporting: remove redefinition of strconv__Float64u

pull/6573/head
Delyan Angelov 2020-10-07 11:06:52 +03:00
parent 3d0f4fd756
commit 317a9bae5f
10 changed files with 64 additions and 65 deletions

View File

@ -1,3 +1,4 @@
module strconv
/*
atof util
@ -17,17 +18,6 @@ Grzegorz Kraszewski krashan@teleinfo.pb.edu.pl
URL: http://krashan.ppa.pl/articles/stringtofloat/
Original license: MIT
*/
module strconv
union Float64u {
mut:
f f64
u u64
}
/*
96 bit operation utilities
Note: when u128 will be available these function can be refactored
@ -162,13 +152,6 @@ Support struct
*/
// The structure is filled by parser, then given to converter.
pub struct PrepNumber {
pub mut:
negative bool // 0 if positive number, 1 if negative
exponent int // power of 10 exponent
mantissa u64 // integer mantissa
}
/*
String parser

View File

@ -1,3 +1,5 @@
module strconv
/*
atof util
@ -16,14 +18,6 @@ Know limitation:
*/
module strconv
union Float64u {
mut:
f f64
u u64
}
// atof_quick return a f64 number from a string in a quick way
pub fn atof_quick(s string) f64 {
mut f := Float64u{} // result

View File

@ -1,8 +1,8 @@
module strconv
// Copyright (c) 2019-2020 Alexander Medvednikov. All rights reserved.
// Use of this source code is governed by an MIT license
// that can be found in the LICENSE file.
// TODO: use optionals, or some way to return default with error.
module strconv
const (
// int_size is the size in bits of an int or uint value.

View File

@ -1,3 +1,5 @@
module strconv
/*
f32 to string
@ -17,21 +19,7 @@ inspired by the Go version here:
https://github.com/cespare/ryu/tree/ba56a33f39e3bbbfa409095d0f9ae168a595feea
*/
module strconv
// dec32 is a floating decimal type representing m * 10^e.
struct Dec32 {
mut:
m u32
e int
}
// support union for convert f32 to u32
union Uf32 {
mut:
f f32
u u32
}
// pow of ten table used by n_digit reduction
const(

View File

@ -1,3 +1,5 @@
module strconv
/*
f32 to string
@ -17,27 +19,6 @@ inspired by the Go version here:
https://github.com/cespare/ryu/tree/ba56a33f39e3bbbfa409095d0f9ae168a595feea
*/
module strconv
struct Uint128 {
mut:
lo u64
hi u64
}
// dec64 is a floating decimal type representing m * 10^e.
struct Dec64 {
mut:
m u64
e int
}
// support union for convert f64 to u64
union Uf64 {
mut:
f f64
u u64
}
// pow of ten table used by n_digit reduction
const(

View File

@ -1,3 +1,5 @@
module strconv
/*
printf/sprintf V implementation
@ -9,7 +11,6 @@ that can be found in the LICENSE file.
This file contains the printf/sprintf functions
*/
module strconv
import strings

View File

@ -1,3 +1,5 @@
module strconv
/*
f32/f64 ftoa functions
@ -17,7 +19,6 @@ inspired by the Go version here:
https://github.com/cespare/ryu/tree/ba56a33f39e3bbbfa409095d0f9ae168a595feea
*/
module strconv
[inline]
pub fn ftoa_64(f f64) string {

View File

@ -0,0 +1,49 @@
module strconv
// The structure is filled by parser, then given to converter.
pub struct PrepNumber {
pub mut:
negative bool // 0 if positive number, 1 if negative
exponent int // power of 10 exponent
mantissa u64 // integer mantissa
}
// dec32 is a floating decimal type representing m * 10^e.
struct Dec32 {
mut:
m u32
e int
}
// dec64 is a floating decimal type representing m * 10^e.
struct Dec64 {
mut:
m u64
e int
}
struct Uint128 {
mut:
lo u64
hi u64
}
// support union for convert f32 to u32
union Uf32 {
mut:
f f32
u u32
}
// support union for convert f64 to u64
union Uf64 {
mut:
f f64
u u64
}
union Float64u {
mut:
f f64
u u64
}

View File

@ -1,3 +1,5 @@
module strconv
/*
f32/f64 to string utilities
@ -17,7 +19,6 @@ inspired by the Go version here:
https://github.com/cespare/ryu/tree/ba56a33f39e3bbbfa409095d0f9ae168a595feea
*/
module strconv
import math.bits

View File

@ -204,6 +204,7 @@ pub fn cgen(files []ast.File, table &table.Table, pref &pref.Preferences) string
//
mut b := strings.new_builder(250000)
b.write(g.hashes())
b.writeln('\n// V comptime_defines:')
b.write(g.comptime_defines.str())
b.writeln('\n// V typedefs:')
b.write(g.typedefs.str())