From bce52e9fcfd6712306a2479753d44ee80b3045e3 Mon Sep 17 00:00:00 2001 From: Michael Sippel <micha@fragmental.art> Date: Tue, 25 Mar 2025 19:38:56 +0100 Subject: [PATCH] replace native.Float/native.Double with native.Float32/native.Float64 --- morphisms/angle.morphism-base | 32 ++++++++++++++--------------- morphisms/real.morphism-base | 28 ++++++++++++------------- morphisms/temperature.morphism-base | 16 +++++++-------- 3 files changed, 38 insertions(+), 38 deletions(-) diff --git a/morphisms/angle.morphism-base b/morphisms/angle.morphism-base index 71aba96..5fa3baf 100644 --- a/morphisms/angle.morphism-base +++ b/morphisms/angle.morphism-base @@ -3,16 +3,16 @@ ``` morph_angle_as_degrees_to_turns_float () - Angle ~ Degrees ~ ℝ ~ native.Float ---> Angle ~ Turns ~ ℝ ~ native.Float + Angle ~ Degrees ~ ℝ ~ native.Float32 +--> Angle ~ Turns ~ ℝ ~ native.Float32 ``` *dst = *src / 360.0; return 0; ``` morph_angle_as_degrees_to_turns_double () - Angle ~ Degrees ~ ℝ ~ native.Double ---> Angle ~ Turns ~ ℝ ~ native.Double + Angle ~ Degrees ~ ℝ ~ native.Float64 +--> Angle ~ Turns ~ ℝ ~ native.Float64 ``` *dst = *src / 360.0; return 0; @@ -20,16 +20,16 @@ morph_angle_as_degrees_to_turns_double () morph_angle_as_turns_to_degrees_float () - Angle ~ Turns ~ ℝ ~ native.Float ---> Angle ~ Degrees ~ ℝ ~ native.Float + Angle ~ Turns ~ ℝ ~ native.Float32 +--> Angle ~ Degrees ~ ℝ ~ native.Float32 ``` *dst = *src * 360.0; return 0; ``` morph_angle_as_turns_to_degrees_double () - Angle ~ Turns ~ ℝ ~ native.Double ---> Angle ~ Degrees ~ ℝ ~ native.Double + Angle ~ Turns ~ ℝ ~ native.Float64 +--> Angle ~ Degrees ~ ℝ ~ native.Float64 ``` *dst = *src * 360.0; return 0; @@ -39,16 +39,16 @@ morph_angle_as_turns_to_degrees_double () morph_angle_as_radians_to_turns_float () - Angle ~ Radians ~ ℝ ~ native.Float ---> Angle ~ Turns ~ ℝ ~ native.Float + Angle ~ Radians ~ ℝ ~ native.Float32 +--> Angle ~ Turns ~ ℝ ~ native.Float32 ``` *dst = *src / PHI; return 0; ``` morph_angle_as_radians_to_turns_double () - Angle ~ Radians ~ ℝ ~ native.Double ---> Angle ~ Turns ~ ℝ ~ native.Double + Angle ~ Radians ~ ℝ ~ native.Float64 +--> Angle ~ Turns ~ ℝ ~ native.Float64 ``` *dst = *src / PHI; return 0; @@ -56,16 +56,16 @@ morph_angle_as_radians_to_turns_double () morph_angle_as_turns_to_radians_float () - Angle ~ Turns ~ ℝ ~ native.Float ---> Angle ~ Radians ~ ℝ ~ native.Float + Angle ~ Turns ~ ℝ ~ native.Float32 +--> Angle ~ Radians ~ ℝ ~ native.Float32 ``` *dst = *src * PHI; return 0; ``` morph_angle_as_degrees_to_radians_double () - Angle ~ Turns ~ ℝ ~ native.Double ---> Angle ~ Radians ~ ℝ ~ native.Double + Angle ~ Turns ~ ℝ ~ native.Float64 +--> Angle ~ Radians ~ ℝ ~ native.Float64 ``` *dst = *src * PHI; return 0; diff --git a/morphisms/real.morphism-base b/morphisms/real.morphism-base index 3302f80..4add278 100644 --- a/morphisms/real.morphism-base +++ b/morphisms/real.morphism-base @@ -4,7 +4,7 @@ morph_real_as_decimalstr_to_float () ℝ ~ <PosInt 10 BigEndian> ~ <Seq~<ValueTerminated 0> <Digit 10>~Char~Ascii~native.UInt8> ---> ℝ ~ native.Float +--> ℝ ~ native.Float32 ``` sscanf(src, "%f", dst); return 0; @@ -12,14 +12,14 @@ morph_real_as_decimalstr_to_float () morph_real_as_decimalstr_to_double () ℝ ~ <PosInt 10 BigEndian> ~ <Seq~<ValueTerminated 0> <Digit 10>~Char~Ascii~native.UInt8> ---> ℝ ~ native.Double +--> ℝ ~ native.Float64 ``` sscanf(src, "%lf", dst); return 0; ``` morph_real_as_float_to_decimalstr () - ℝ ~ native.Float + ℝ ~ native.Float32 --> ℝ ~ <PosInt 10 BigEndian> ~ <Seq~<ValueTerminated 0> <Digit 10>~Char~Ascii~native.UInt8> ``` sprintf(dst, "%f", *src); @@ -27,7 +27,7 @@ morph_real_as_float_to_decimalstr () ``` morph_real_as_double_to_decimalstr () - ℝ ~ native.Double + ℝ ~ native.Float64 --> ℝ ~ <PosInt 10 BigEndian> ~ <Seq~<ValueTerminated 0> <Digit 10>~Char~Ascii~native.UInt8> ``` sprintf(dst, "%f", *src); @@ -36,16 +36,16 @@ morph_real_as_double_to_decimalstr () morph_real_as_float_to_double () - ℝ ~ native.Float ---> ℝ ~ native.Double + ℝ ~ native.Float32 +--> ℝ ~ native.Float64 ``` *dst = *src; return 0; ``` morph_real_as_double_to_float () - ℝ ~ native.Double ---> ℝ ~ native.Float + ℝ ~ native.Float64 +--> ℝ ~ native.Float32 ``` fprintf(stderr, "Warning: morphin Double -> Float. Precision loss!"); *dst = *src; @@ -54,7 +54,7 @@ morph_real_as_double_to_float () morph_real_as_u64_to_float () ℝ ~ ℕ ~ native.UInt64 ---> ℝ ~ native.Float +--> ℝ ~ native.Float32 ``` fprintf(stderr, "Warning: morphin UInt64 -> Float. Precision loss!"); *dst = *src; @@ -63,7 +63,7 @@ morph_real_as_u64_to_float () morph_real_as_u64_to_double () ℝ ~ ℕ ~ native.UInt64 ---> ℝ ~ native.Double +--> ℝ ~ native.Float64 ``` fprintf(stderr, "Warning: morphin UInt64 -> Double. Precision loss!"); *dst = *src; @@ -72,14 +72,14 @@ morph_real_as_u64_to_double () morph_real_as_quantized_linear_to_float (Begin: ℝ, End: ℝ, Steps: ℤ) ℝ ~ <QuantizedLinear Begin End Steps> ~ ℕ ~ native.UInt64 ---> ℝ ~ native.Float +--> ℝ ~ native.Float32 ``` *dst = (float)Begin + ( *src * ((float)End - (float)Begin) ) / (float)Steps; return 0; ``` morph_real_as_float_to_quantized_linear (Begin: ℝ, End: ℝ, Steps: ℤ) - ℝ ~ native.Float + ℝ ~ native.Float32 --> ℝ ~ <QuantizedLinear Begin End Steps> ~ ℕ ~ native.UInt64 ``` *dst = ((*src - (float)Begin) * (float)Steps) / ((float)End - (float)Begin); @@ -90,14 +90,14 @@ morph_real_as_float_to_quantized_linear (Begin: ℝ, End: ℝ, Steps: ℤ) morph_real_as_quantized_linear_to_double (Begin: ℝ, End: ℝ, Steps: ℤ) ℝ ~ <QuantizedLinear Begin End Steps> ~ ℕ ~ native.UInt64 ---> ℝ ~ native.Double +--> ℝ ~ native.Float64 ``` *dst = (double)Begin + ( *src * ((double)End - (double)Begin) ) / (double)Steps; return 0; ``` morph_real_as_double_to_quantized_linear (Begin: ℝ, End: ℝ, Steps: ℤ) - ℝ ~ native.Double + ℝ ~ native.Float64 --> ℝ ~ <QuantizedLinear Begin End Steps> ~ ℕ ~ native.UInt64 ``` *dst = ((*src - (double)Begin) * (double)Steps) / ((double)End - (double)Begin); diff --git a/morphisms/temperature.morphism-base b/morphisms/temperature.morphism-base index 7831292..6c682bc 100644 --- a/morphisms/temperature.morphism-base +++ b/morphisms/temperature.morphism-base @@ -2,32 +2,32 @@ ``` morph_celsius_to_kelvin () - Temperature ~ Celsius ~ ℝ ~ native.Float ---> Temperature ~ Kelvin ~ ℝ ~ native.Float + Temperature ~ Celsius ~ ℝ ~ native.Float32 +--> Temperature ~ Kelvin ~ ℝ ~ native.Float32 ``` *dst = *src + 273.15; return 0; ``` morph_kelvin_to_celsius () - Temperature ~ Kelvin ~ ℝ ~ native.Float ---> Temperature ~ Celsius ~ ℝ ~ native.Float + Temperature ~ Kelvin ~ ℝ ~ native.Float32 +--> Temperature ~ Celsius ~ ℝ ~ native.Float32 ``` *dst = *src - 273.15; return 0; ``` morph_celsius_to_fahrenheit () - Temperature ~ Celsius ~ ℝ ~ native.Float ---> Temperature ~ Fahrenheit ~ ℝ ~ native.Float + Temperature ~ Celsius ~ ℝ ~ native.Float32 +--> Temperature ~ Fahrenheit ~ ℝ ~ native.Float32 ``` *dst = (*src * 9.0 / 5.0) + 32.0; return 0; ``` morph_fahrenheit_to_celsius () - Temperature ~ Fahrenheit ~ ℝ ~ native.Float ---> Temperature ~ Celsius ~ ℝ ~ native.Float + Temperature ~ Fahrenheit ~ ℝ ~ native.Float32 +--> Temperature ~ Celsius ~ ℝ ~ native.Float32 ``` *dst = (*src - 32.0) * 5.0 / 9.0; return 0;