backporting: remove redefinition of strconv__Float64u
parent
3d0f4fd756
commit
317a9bae5f
|
@ -1,3 +1,4 @@
|
||||||
|
module strconv
|
||||||
/*
|
/*
|
||||||
|
|
||||||
atof util
|
atof util
|
||||||
|
@ -17,17 +18,6 @@ Grzegorz Kraszewski krashan@teleinfo.pb.edu.pl
|
||||||
URL: http://krashan.ppa.pl/articles/stringtofloat/
|
URL: http://krashan.ppa.pl/articles/stringtofloat/
|
||||||
Original license: MIT
|
Original license: MIT
|
||||||
|
|
||||||
*/
|
|
||||||
module strconv
|
|
||||||
|
|
||||||
union Float64u {
|
|
||||||
mut:
|
|
||||||
f f64
|
|
||||||
u u64
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
|
|
||||||
96 bit operation utilities
|
96 bit operation utilities
|
||||||
Note: when u128 will be available these function can be refactored
|
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
|
String parser
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
module strconv
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
||||||
atof util
|
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
|
// atof_quick return a f64 number from a string in a quick way
|
||||||
pub fn atof_quick(s string) f64 {
|
pub fn atof_quick(s string) f64 {
|
||||||
mut f := Float64u{} // result
|
mut f := Float64u{} // result
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
|
module strconv
|
||||||
// Copyright (c) 2019-2020 Alexander Medvednikov. All rights reserved.
|
// Copyright (c) 2019-2020 Alexander Medvednikov. All rights reserved.
|
||||||
// Use of this source code is governed by an MIT license
|
// Use of this source code is governed by an MIT license
|
||||||
// that can be found in the LICENSE file.
|
// that can be found in the LICENSE file.
|
||||||
// TODO: use optionals, or some way to return default with error.
|
// TODO: use optionals, or some way to return default with error.
|
||||||
module strconv
|
|
||||||
|
|
||||||
const (
|
const (
|
||||||
// int_size is the size in bits of an int or uint value.
|
// int_size is the size in bits of an int or uint value.
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
module strconv
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
||||||
f32 to string
|
f32 to string
|
||||||
|
@ -17,21 +19,7 @@ inspired by the Go version here:
|
||||||
https://github.com/cespare/ryu/tree/ba56a33f39e3bbbfa409095d0f9ae168a595feea
|
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
|
// pow of ten table used by n_digit reduction
|
||||||
const(
|
const(
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
module strconv
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
||||||
f32 to string
|
f32 to string
|
||||||
|
@ -17,27 +19,6 @@ inspired by the Go version here:
|
||||||
https://github.com/cespare/ryu/tree/ba56a33f39e3bbbfa409095d0f9ae168a595feea
|
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
|
// pow of ten table used by n_digit reduction
|
||||||
const(
|
const(
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
module strconv
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
||||||
printf/sprintf V implementation
|
printf/sprintf V implementation
|
||||||
|
@ -9,7 +11,6 @@ that can be found in the LICENSE file.
|
||||||
This file contains the printf/sprintf functions
|
This file contains the printf/sprintf functions
|
||||||
|
|
||||||
*/
|
*/
|
||||||
module strconv
|
|
||||||
|
|
||||||
import strings
|
import strings
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
module strconv
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
||||||
f32/f64 ftoa functions
|
f32/f64 ftoa functions
|
||||||
|
@ -17,7 +19,6 @@ inspired by the Go version here:
|
||||||
https://github.com/cespare/ryu/tree/ba56a33f39e3bbbfa409095d0f9ae168a595feea
|
https://github.com/cespare/ryu/tree/ba56a33f39e3bbbfa409095d0f9ae168a595feea
|
||||||
|
|
||||||
*/
|
*/
|
||||||
module strconv
|
|
||||||
|
|
||||||
[inline]
|
[inline]
|
||||||
pub fn ftoa_64(f f64) string {
|
pub fn ftoa_64(f f64) string {
|
||||||
|
|
|
@ -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
|
||||||
|
}
|
|
@ -1,3 +1,5 @@
|
||||||
|
module strconv
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
||||||
f32/f64 to string utilities
|
f32/f64 to string utilities
|
||||||
|
@ -17,7 +19,6 @@ inspired by the Go version here:
|
||||||
https://github.com/cespare/ryu/tree/ba56a33f39e3bbbfa409095d0f9ae168a595feea
|
https://github.com/cespare/ryu/tree/ba56a33f39e3bbbfa409095d0f9ae168a595feea
|
||||||
|
|
||||||
*/
|
*/
|
||||||
module strconv
|
|
||||||
|
|
||||||
import math.bits
|
import math.bits
|
||||||
|
|
||||||
|
|
|
@ -204,6 +204,7 @@ pub fn cgen(files []ast.File, table &table.Table, pref &pref.Preferences) string
|
||||||
//
|
//
|
||||||
mut b := strings.new_builder(250000)
|
mut b := strings.new_builder(250000)
|
||||||
b.write(g.hashes())
|
b.write(g.hashes())
|
||||||
|
b.writeln('\n// V comptime_defines:')
|
||||||
b.write(g.comptime_defines.str())
|
b.write(g.comptime_defines.str())
|
||||||
b.writeln('\n// V typedefs:')
|
b.writeln('\n// V typedefs:')
|
||||||
b.write(g.typedefs.str())
|
b.write(g.typedefs.str())
|
||||||
|
|
Loading…
Reference in New Issue