Claude
0ceaaa27c4
Floats as written, never fused; fma and muladd; f32/f64 bits, f16 and bf16
...
- a * b + c is two roundings on every processor and --cpu: the IR has no fast-math flags, and clang
compiles it with -ffp-contract=on (checked in the assembly: never fused, also with FMA hardware)
- fma(a, b, c) / v.fma(b, c): one rounding, always (llvm.fma)
- muladd(a, b, c) / v.muladd(b, c): the fastest way here (llvm.fmuladd), what v.fma was before
- f32_bits / f32_from_bits / f64_bits / f64_from_bits: bitcasts, also of vectors
- f16_to_f32 / f32_to_f16 (LLVM half), bf16_to_f32 / f32_to_bf16 (integer ops, ties to even, NaN kept)
- docs (en, pl): what is guaranteed about floats, the new built-ins
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Psc42moPLwP43Cmb9oZqSR
2026-11-01 15:25:40 +00:00
..
abi.c
Structs, arrays, owned strings, memory model, modules, debug info
2026-10-08 18:57:37 +02:00
abi.h
Structs, arrays, owned strings, memory model, modules, debug info
2026-10-08 18:57:37 +02:00
basics.fch
Rename the Finch file extension from .fn to .fch
2026-10-08 19:27:42 +02:00
basics.out
Finch 1.0.0
2026-10-08 18:21:06 +02:00
bits.fch
Rename the Finch file extension from .fn to .fch
2026-10-08 19:27:42 +02:00
bits.out
Finch 1.0.0
2026-10-08 18:21:06 +02:00
c_pointers.fch
OpenGL and Vulkan examples; ptr(int)/int(ptr); trailing commas in calls; drop .fn hint
2026-10-08 19:37:34 +02:00
c_pointers.out
OpenGL and Vulkan examples; ptr(int)/int(ptr); trailing commas in calls; drop .fn hint
2026-10-08 19:37:34 +02:00
c_structs.fch
Rename the Finch file extension from .fn to .fch
2026-10-08 19:27:42 +02:00
c_structs.out
Structs, arrays, owned strings, memory model, modules, debug info
2026-10-08 18:57:37 +02:00
cimport.fch
Rename the Finch file extension from .fn to .fch
2026-10-08 19:27:42 +02:00
cimport.out
Finch 1.0.0
2026-10-08 18:21:06 +02:00
control.fch
Rename the Finch file extension from .fn to .fch
2026-10-08 19:27:42 +02:00
control.out
Finch 1.0.0
2026-10-08 18:21:06 +02:00
defer.fch
Rename the Finch file extension from .fn to .fch
2026-10-08 19:27:42 +02:00
defer.out
Structs, arrays, owned strings, memory model, modules, debug info
2026-10-08 18:57:37 +02:00
early_exit.fch
Fix the two known limits: adding map keys while looping over the map is a runtime error; temporaries held by an expression are freed when try / or-blocks leave early. err usable after or, inner err shadows outer.
2026-10-25 19:13:46 +01:00
early_exit.out
Fix the two known limits: adding map keys while looping over the map is a runtime error; temporaries held by an expression are freed when try / or-blocks leave early. err usable after or, inner err shadows outer.
2026-10-25 19:13:46 +01:00
errors.fch
Finch 2.4.0: methods, maps, errors as values; str() of any value; macOS and ARM64 docs; Kate support
2026-10-09 01:11:12 +02:00
errors.out
Finch 2.4.0: methods, maps, errors as values; str() of any value; macOS and ARM64 docs; Kate support
2026-10-09 01:11:12 +02:00
exitcode.fch
Rename the Finch file extension from .fn to .fch
2026-10-08 19:27:42 +02:00
exitcode.out
Finch 1.0.0
2026-10-08 18:21:06 +02:00
files.fch
Windows support (wip): target layer, Microsoft x64 ABI, portable runtime, CI
2026-10-08 20:46:51 +02:00
files.out
Windows support (wip): target layer, Microsoft x64 ABI, portable runtime, CI
2026-10-08 20:46:51 +02:00
floatbits.fch
Floats as written, never fused; fma and muladd; f32/f64 bits, f16 and bf16
2026-11-01 15:25:40 +00:00
floatbits.out
Floats as written, never fused; fma and muladd; f32/f64 bits, f16 and bf16
2026-11-01 15:25:40 +00:00
functions.fch
Rename the Finch file extension from .fn to .fch
2026-10-08 19:27:42 +02:00
functions.out
Finch 1.0.0
2026-10-08 18:21:06 +02:00
geometry.fch
Finch 2.4.0: methods, maps, errors as values; str() of any value; macOS and ARM64 docs; Kate support
2026-10-09 01:11:12 +02:00
input.fch
Rename the Finch file extension from .fn to .fch
2026-10-08 19:27:42 +02:00
input.in
Structs, arrays, owned strings, memory model, modules, debug info
2026-10-08 18:57:37 +02:00
input.out
Structs, arrays, owned strings, memory model, modules, debug info
2026-10-08 18:57:37 +02:00
maps.fch
Finch 2.4.0: methods, maps, errors as values; str() of any value; macOS and ARM64 docs; Kate support
2026-10-09 01:11:12 +02:00
maps.out
Finch 2.4.0: methods, maps, errors as values; str() of any value; macOS and ARM64 docs; Kate support
2026-10-09 01:11:12 +02:00
memory.fch
Rename the Finch file extension from .fn to .fch
2026-10-08 19:27:42 +02:00
memory.out
Structs, arrays, owned strings, memory model, modules, debug info
2026-10-08 18:57:37 +02:00
methods.fch
Finch 2.4.0: methods, maps, errors as values; str() of any value; macOS and ARM64 docs; Kate support
2026-10-09 01:11:12 +02:00
methods.out
Finch 2.4.0: methods, maps, errors as values; str() of any value; macOS and ARM64 docs; Kate support
2026-10-09 01:11:12 +02:00
methods_basic.fch
boot: methods (fn T.m, self by address, mutation analysis), str() of any value
2026-10-25 19:13:46 +01:00
methods_basic.out
boot: methods (fn T.m, self by address, mutation analysis), str() of any value
2026-10-25 19:13:46 +01:00
modules.fch
Rename the Finch file extension from .fn to .fch
2026-10-08 19:27:42 +02:00
modules.out
Struct defaults apply inside structs; exit() ends an or-block; 1e9 literals; x * 2.0 stays f32; floats print as the shortest exact text; str(x, digits)
2026-10-29 09:14:58 +01:00
pointers.fch
Rename the Finch file extension from .fn to .fch
2026-10-08 19:27:42 +02:00
pointers.out
Windows support (wip): target layer, Microsoft x64 ABI, portable runtime, CI
2026-10-08 20:46:51 +02:00
ptr_value_field.fch
Rename the Finch file extension from .fn to .fch
2026-10-08 19:27:42 +02:00
ptr_value_field.out
Structs, arrays, owned strings, memory model, modules, debug info
2026-10-08 18:57:37 +02:00
shapes.fch
Rename the Finch file extension from .fn to .fch
2026-10-08 19:27:42 +02:00
structs_arrays_strings.fch
Rename the Finch file extension from .fn to .fch
2026-10-08 19:27:42 +02:00
structs_arrays_strings.out
Structs, arrays, owned strings, memory model, modules, debug info
2026-10-08 18:57:37 +02:00
types.fch
Rename the Finch file extension from .fn to .fch
2026-10-08 19:27:42 +02:00
types.out
Finch 1.0.0
2026-10-08 18:21:06 +02:00
vectors.fch
Floats as written, never fused; fma and muladd; f32/f64 bits, f16 and bf16
2026-11-01 15:25:40 +00:00
vectors.out
Vector types (SIMD): f32x8, i8x32, f64x4 and the rest; --cpu native
2026-11-01 13:50:35 +00:00