Skip to content

Commit 4a3cd3b

Browse files
authored
Rename float32/float64 to f32/f64. (#324)
* Rename `float32`/`float64` to `f32`/`f64`. The `float32` and `float64` types are being [renamed to `f32` and `f64`]. All the main tools have been updated to accept both old and new names for now, so there's no urgency to change anything, but users who wish to can now start switching to the new `f32`/`f64` names. [renamed to `f32` and `f64`]: #277 * Rename the Canonical ABI's `Float32`/`Float64` to `F32`/`F64`.
1 parent a74225c commit 4a3cd3b

File tree

6 files changed

+52
-52
lines changed

6 files changed

+52
-52
lines changed

design/mvp/Binary.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -176,8 +176,8 @@ primvaltype ::= 0x7f => bool
176176
| 0x79 => u32
177177
| 0x78 => s64
178178
| 0x77 => u64
179-
| 0x76 => float32
180-
| 0x75 => float64
179+
| 0x76 => f32
180+
| 0x75 => f64
181181
| 0x74 => char
182182
| 0x73 => string
183183
defvaltype ::= pvt:<primvaltype> => pvt

design/mvp/CanonicalABI.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -96,8 +96,8 @@ def alignment(t):
9696
case S16() | U16() : return 2
9797
case S32() | U32() : return 4
9898
case S64() | U64() : return 8
99-
case Float32() : return 4
100-
case Float64() : return 8
99+
case F32() : return 4
100+
case F64() : return 8
101101
case Char() : return 4
102102
case String() | List(_) : return 4
103103
case Record(fields) : return alignment_record(fields)
@@ -169,8 +169,8 @@ def size(t):
169169
case S16() | U16() : return 2
170170
case S32() | U32() : return 4
171171
case S64() | U64() : return 8
172-
case Float32() : return 4
173-
case Float64() : return 8
172+
case F32() : return 4
173+
case F64() : return 8
174174
case Char() : return 4
175175
case String() | List(_) : return 8
176176
case Record(fields) : return size_record(fields)
@@ -441,8 +441,8 @@ def load(cx, ptr, t):
441441
case S16() : return load_int(cx, ptr, 2, signed=True)
442442
case S32() : return load_int(cx, ptr, 4, signed=True)
443443
case S64() : return load_int(cx, ptr, 8, signed=True)
444-
case Float32() : return decode_i32_as_float(load_int(cx, ptr, 4))
445-
case Float64() : return decode_i64_as_float(load_int(cx, ptr, 8))
444+
case F32() : return decode_i32_as_float(load_int(cx, ptr, 4))
445+
case F64() : return decode_i64_as_float(load_int(cx, ptr, 8))
446446
case Char() : return convert_i32_to_char(cx, load_int(cx, ptr, 4))
447447
case String() : return load_string(cx, ptr)
448448
case List(t) : return load_list(cx, ptr, t)
@@ -693,8 +693,8 @@ def store(cx, v, t, ptr):
693693
case S16() : store_int(cx, v, ptr, 2, signed=True)
694694
case S32() : store_int(cx, v, ptr, 4, signed=True)
695695
case S64() : store_int(cx, v, ptr, 8, signed=True)
696-
case Float32() : store_int(cx, encode_float_as_i32(v), ptr, 4)
697-
case Float64() : store_int(cx, encode_float_as_i64(v), ptr, 8)
696+
case F32() : store_int(cx, encode_float_as_i32(v), ptr, 4)
697+
case F64() : store_int(cx, encode_float_as_i64(v), ptr, 8)
698698
case Char() : store_int(cx, char_to_i32(v), ptr, 4)
699699
case String() : store_string(cx, v, ptr)
700700
case List(t) : store_list(cx, v, ptr, t)
@@ -1134,8 +1134,8 @@ def flatten_type(t):
11341134
case U8() | U16() | U32() : return ['i32']
11351135
case S8() | S16() | S32() : return ['i32']
11361136
case S64() | U64() : return ['i64']
1137-
case Float32() : return ['f32']
1138-
case Float64() : return ['f64']
1137+
case F32() : return ['f32']
1138+
case F64() : return ['f64']
11391139
case Char() : return ['i32']
11401140
case String() | List(_) : return ['i32', 'i32']
11411141
case Record(fields) : return flatten_record(fields)
@@ -1213,8 +1213,8 @@ def lift_flat(cx, vi, t):
12131213
case S16() : return lift_flat_signed(vi, 32, 16)
12141214
case S32() : return lift_flat_signed(vi, 32, 32)
12151215
case S64() : return lift_flat_signed(vi, 64, 64)
1216-
case Float32() : return canonicalize_nan32(vi.next('f32'))
1217-
case Float64() : return canonicalize_nan64(vi.next('f64'))
1216+
case F32() : return canonicalize_nan32(vi.next('f32'))
1217+
case F64() : return canonicalize_nan64(vi.next('f64'))
12181218
case Char() : return convert_i32_to_char(cx, vi.next('i32'))
12191219
case String() : return lift_flat_string(cx, vi)
12201220
case List(t) : return lift_flat_list(cx, vi, t)
@@ -1337,8 +1337,8 @@ def lower_flat(cx, v, t):
13371337
case S16() : return lower_flat_signed(v, 32)
13381338
case S32() : return lower_flat_signed(v, 32)
13391339
case S64() : return lower_flat_signed(v, 64)
1340-
case Float32() : return [Value('f32', maybe_scramble_nan32(v))]
1341-
case Float64() : return [Value('f64', maybe_scramble_nan64(v))]
1340+
case F32() : return [Value('f32', maybe_scramble_nan32(v))]
1341+
case F64() : return [Value('f64', maybe_scramble_nan64(v))]
13421342
case Char() : return [Value('i32', char_to_i32(v))]
13431343
case String() : return lower_flat_string(cx, v)
13441344
case List(t) : return lower_flat_list(cx, v, t)

design/mvp/Explainer.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -530,7 +530,7 @@ deftype ::= <defvaltype>
530530
| <instancetype>
531531
defvaltype ::= bool
532532
| s8 | u8 | s16 | u16 | s32 | u32 | s64 | u64
533-
| float32 | float64
533+
| f32 | f64
534534
| char | string
535535
| (record (field "<label>" <valtype>)+)
536536
| (variant (case <id>? "<label>" <valtype>?)+)
@@ -583,7 +583,7 @@ sets of abstract values:
583583
| `bool` | `true` and `false` |
584584
| `s8`, `s16`, `s32`, `s64` | integers in the range [-2<sup>N-1</sup>, 2<sup>N-1</sup>-1] |
585585
| `u8`, `u16`, `u32`, `u64` | integers in the range [0, 2<sup>N</sup>-1] |
586-
| `float32`, `float64` | [IEEE754] floating-point numbers, with a single NaN value |
586+
| `f32`, `f64` | [IEEE754] floating-point numbers, with a single NaN value |
587587
| `char` | [Unicode Scalar Values] |
588588
| `record` | heterogeneous [tuples] of named values |
589589
| `variant` | heterogeneous [tagged unions] of named values |
@@ -1769,7 +1769,7 @@ At a high level, the additional coercions would be:
17691769
| `u8`, `u16`, `u32` | as a Number value | `ToUint8`, `ToUint16`, `ToUint32` |
17701770
| `s64` | as a BigInt value | `ToBigInt64` |
17711771
| `u64` | as a BigInt value | `ToBigUint64` |
1772-
| `float32`, `float64` | as a Number value | `ToNumber` |
1772+
| `f32`, `f64` | as a Number value | `ToNumber` |
17731773
| `char` | same as [`USVString`] | same as [`USVString`], throw if the USV length is not 1 |
17741774
| `record` | TBD: maybe a [JS Record]? | same as [`dictionary`] |
17751775
| `variant` | see below | see below |

design/mvp/WIT.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -655,7 +655,7 @@ package local:demo;
655655
interface foo {
656656
a1: func();
657657
a2: func(x: u32);
658-
a3: func(y: u64, z: float32);
658+
a3: func(y: u64, z: f32);
659659
}
660660
```
661661

@@ -676,7 +676,7 @@ And functions can also return multiple types by naming them:
676676
package local:demo;
677677
678678
interface foo {
679-
a: func() -> (a: u32, b: float32);
679+
a: func() -> (a: u32, b: f32);
680680
}
681681
```
682682

@@ -1209,7 +1209,7 @@ Specifically the following types are available:
12091209
```ebnf
12101210
ty ::= 'u8' | 'u16' | 'u32' | 'u64'
12111211
| 's8' | 's16' | 's32' | 's64'
1212-
| 'float32' | 'float64'
1212+
| 'f32' | 'f64'
12131213
| 'char'
12141214
| 'bool'
12151215
| 'string'

design/mvp/canonical-abi/definitions.py

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -106,8 +106,8 @@ class S32(ValType): pass
106106
class U32(ValType): pass
107107
class S64(ValType): pass
108108
class U64(ValType): pass
109-
class Float32(ValType): pass
110-
class Float64(ValType): pass
109+
class F32(ValType): pass
110+
class F64(ValType): pass
111111
class Char(ValType): pass
112112
class String(ValType): pass
113113

@@ -182,8 +182,8 @@ def alignment(t):
182182
case S16() | U16() : return 2
183183
case S32() | U32() : return 4
184184
case S64() | U64() : return 8
185-
case Float32() : return 4
186-
case Float64() : return 8
185+
case F32() : return 4
186+
case F64() : return 8
187187
case Char() : return 4
188188
case String() | List(_) : return 4
189189
case Record(fields) : return alignment_record(fields)
@@ -231,8 +231,8 @@ def size(t):
231231
case S16() | U16() : return 2
232232
case S32() | U32() : return 4
233233
case S64() | U64() : return 8
234-
case Float32() : return 4
235-
case Float64() : return 8
234+
case F32() : return 4
235+
case F64() : return 8
236236
case Char() : return 4
237237
case String() | List(_) : return 8
238238
case Record(fields) : return size_record(fields)
@@ -394,8 +394,8 @@ def load(cx, ptr, t):
394394
case S16() : return load_int(cx, ptr, 2, signed=True)
395395
case S32() : return load_int(cx, ptr, 4, signed=True)
396396
case S64() : return load_int(cx, ptr, 8, signed=True)
397-
case Float32() : return decode_i32_as_float(load_int(cx, ptr, 4))
398-
case Float64() : return decode_i64_as_float(load_int(cx, ptr, 8))
397+
case F32() : return decode_i32_as_float(load_int(cx, ptr, 4))
398+
case F64() : return decode_i64_as_float(load_int(cx, ptr, 8))
399399
case Char() : return convert_i32_to_char(cx, load_int(cx, ptr, 4))
400400
case String() : return load_string(cx, ptr)
401401
case List(t) : return load_list(cx, ptr, t)
@@ -565,8 +565,8 @@ def store(cx, v, t, ptr):
565565
case S16() : store_int(cx, v, ptr, 2, signed=True)
566566
case S32() : store_int(cx, v, ptr, 4, signed=True)
567567
case S64() : store_int(cx, v, ptr, 8, signed=True)
568-
case Float32() : store_int(cx, encode_float_as_i32(v), ptr, 4)
569-
case Float64() : store_int(cx, encode_float_as_i64(v), ptr, 8)
568+
case F32() : store_int(cx, encode_float_as_i32(v), ptr, 4)
569+
case F64() : store_int(cx, encode_float_as_i64(v), ptr, 8)
570570
case Char() : store_int(cx, char_to_i32(v), ptr, 4)
571571
case String() : store_string(cx, v, ptr)
572572
case List(t) : store_list(cx, v, ptr, t)
@@ -857,8 +857,8 @@ def flatten_type(t):
857857
case U8() | U16() | U32() : return ['i32']
858858
case S8() | S16() | S32() : return ['i32']
859859
case S64() | U64() : return ['i64']
860-
case Float32() : return ['f32']
861-
case Float64() : return ['f64']
860+
case F32() : return ['f32']
861+
case F64() : return ['f64']
862862
case Char() : return ['i32']
863863
case String() | List(_) : return ['i32', 'i32']
864864
case Record(fields) : return flatten_record(fields)
@@ -916,8 +916,8 @@ def lift_flat(cx, vi, t):
916916
case S16() : return lift_flat_signed(vi, 32, 16)
917917
case S32() : return lift_flat_signed(vi, 32, 32)
918918
case S64() : return lift_flat_signed(vi, 64, 64)
919-
case Float32() : return canonicalize_nan32(vi.next('f32'))
920-
case Float64() : return canonicalize_nan64(vi.next('f64'))
919+
case F32() : return canonicalize_nan32(vi.next('f32'))
920+
case F64() : return canonicalize_nan64(vi.next('f64'))
921921
case Char() : return convert_i32_to_char(cx, vi.next('i32'))
922922
case String() : return lift_flat_string(cx, vi)
923923
case List(t) : return lift_flat_list(cx, vi, t)
@@ -1005,8 +1005,8 @@ def lower_flat(cx, v, t):
10051005
case S16() : return lower_flat_signed(v, 32)
10061006
case S32() : return lower_flat_signed(v, 32)
10071007
case S64() : return lower_flat_signed(v, 64)
1008-
case Float32() : return [Value('f32', maybe_scramble_nan32(v))]
1009-
case Float64() : return [Value('f64', maybe_scramble_nan64(v))]
1008+
case F32() : return [Value('f32', maybe_scramble_nan32(v))]
1009+
case F64() : return [Value('f64', maybe_scramble_nan64(v))]
10101010
case Char() : return [Value('i32', char_to_i32(v))]
10111011
case String() : return lower_flat_string(cx, v)
10121012
case List(t) : return lower_flat_list(cx, v, t)

design/mvp/canonical-abi/run_tests.py

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -109,12 +109,12 @@ def test_name():
109109
test(t, [3], {'a':True,'b':True})
110110
test(t, [4], {'a':False,'b':False})
111111
test(Flags([str(i) for i in range(33)]), [0xffffffff,0x1], { str(i):True for i in range(33) })
112-
t = Variant([Case('x',U8()),Case('y',Float32()),Case('z',None)])
112+
t = Variant([Case('x',U8()),Case('y',F32()),Case('z',None)])
113113
test(t, [0,42], {'x': 42})
114114
test(t, [0,256], {'x': 0})
115115
test(t, [1,0x4048f5c3], {'y': 3.140000104904175})
116116
test(t, [2,0xffffffff], {'z': None})
117-
t = Option(Float32())
117+
t = Option(F32())
118118
test(t, [0,3.14], {'none':None})
119119
test(t, [1,3.14], {'some':3.14})
120120
t = Result(U8(),U32())
@@ -147,35 +147,35 @@ def test_pairs(t, pairs):
147147
test_pairs(S32(), [((1<<31)-1,(1<<31)-1),(1<<31,-(1<<31)),((1<<32)-1,-1)])
148148
test_pairs(U64(), [((1<<63)-1,(1<<63)-1), (1<<63,1<<63), ((1<<64)-1,(1<<64)-1)])
149149
test_pairs(S64(), [((1<<63)-1,(1<<63)-1), (1<<63,-(1<<63)), ((1<<64)-1,-1)])
150-
test_pairs(Float32(), [(3.14,3.14)])
151-
test_pairs(Float64(), [(3.14,3.14)])
150+
test_pairs(F32(), [(3.14,3.14)])
151+
test_pairs(F64(), [(3.14,3.14)])
152152
test_pairs(Char(), [(0,'\x00'), (65,'A'), (0xD7FF,'\uD7FF'), (0xD800,None), (0xDFFF,None)])
153153
test_pairs(Char(), [(0xE000,'\uE000'), (0x10FFFF,'\U0010FFFF'), (0x110000,None), (0xFFFFFFFF,None)])
154154
test_pairs(Enum(['a','b']), [(0,{'a':None}), (1,{'b':None}), (2,None)])
155155

156156
def test_nan32(inbits, outbits):
157157
origf = decode_i32_as_float(inbits)
158-
f = lift_flat(mk_cx(), ValueIter([Value('f32', origf)]), Float32())
158+
f = lift_flat(mk_cx(), ValueIter([Value('f32', origf)]), F32())
159159
if DETERMINISTIC_PROFILE:
160160
assert(encode_float_as_i32(f) == outbits)
161161
else:
162162
assert(not math.isnan(origf) or math.isnan(f))
163163
cx = mk_cx(int.to_bytes(inbits, 4, 'little'))
164-
f = load(cx, 0, Float32())
164+
f = load(cx, 0, F32())
165165
if DETERMINISTIC_PROFILE:
166166
assert(encode_float_as_i32(f) == outbits)
167167
else:
168168
assert(not math.isnan(origf) or math.isnan(f))
169169

170170
def test_nan64(inbits, outbits):
171171
origf = decode_i64_as_float(inbits)
172-
f = lift_flat(mk_cx(), ValueIter([Value('f64', origf)]), Float64())
172+
f = lift_flat(mk_cx(), ValueIter([Value('f64', origf)]), F64())
173173
if DETERMINISTIC_PROFILE:
174174
assert(encode_float_as_i64(f) == outbits)
175175
else:
176176
assert(not math.isnan(origf) or math.isnan(f))
177177
cx = mk_cx(int.to_bytes(inbits, 8, 'little'))
178-
f = load(cx, 0, Float64())
178+
f = load(cx, 0, F64())
179179
if DETERMINISTIC_PROFILE:
180180
assert(encode_float_as_i64(f) == outbits)
181181
else:
@@ -322,12 +322,12 @@ def test_flatten(t, params, results):
322322
got = flatten_functype(t, 'lower')
323323
assert(got == expect)
324324

325-
test_flatten(FuncType([U8(),Float32(),Float64()],[]), ['i32','f32','f64'], [])
326-
test_flatten(FuncType([U8(),Float32(),Float64()],[Float32()]), ['i32','f32','f64'], ['f32'])
327-
test_flatten(FuncType([U8(),Float32(),Float64()],[U8()]), ['i32','f32','f64'], ['i32'])
328-
test_flatten(FuncType([U8(),Float32(),Float64()],[Tuple([Float32()])]), ['i32','f32','f64'], ['f32'])
329-
test_flatten(FuncType([U8(),Float32(),Float64()],[Tuple([Float32(),Float32()])]), ['i32','f32','f64'], ['f32','f32'])
330-
test_flatten(FuncType([U8(),Float32(),Float64()],[Float32(),Float32()]), ['i32','f32','f64'], ['f32','f32'])
325+
test_flatten(FuncType([U8(),F32(),F64()],[]), ['i32','f32','f64'], [])
326+
test_flatten(FuncType([U8(),F32(),F64()],[F32()]), ['i32','f32','f64'], ['f32'])
327+
test_flatten(FuncType([U8(),F32(),F64()],[U8()]), ['i32','f32','f64'], ['i32'])
328+
test_flatten(FuncType([U8(),F32(),F64()],[Tuple([F32()])]), ['i32','f32','f64'], ['f32'])
329+
test_flatten(FuncType([U8(),F32(),F64()],[Tuple([F32(),F32()])]), ['i32','f32','f64'], ['f32','f32'])
330+
test_flatten(FuncType([U8(),F32(),F64()],[F32(),F32()]), ['i32','f32','f64'], ['f32','f32'])
331331
test_flatten(FuncType([U8() for _ in range(17)],[]), ['i32' for _ in range(17)], [])
332332
test_flatten(FuncType([U8() for _ in range(17)],[Tuple([U8(),U8()])]), ['i32' for _ in range(17)], ['i32','i32'])
333333

0 commit comments

Comments
 (0)