diff --git a/morphisms/angle.morphism-base b/morphisms/angle.morphism-base index 5fa3baf..e678dde 100644 --- a/morphisms/angle.morphism-base +++ b/morphisms/angle.morphism-base @@ -5,68 +5,42 @@ morph_angle_as_degrees_to_turns_float () Angle ~ Degrees ~ ℝ ~ native.Float32 --> Angle ~ Turns ~ ℝ ~ native.Float32 -``` - *dst = *src / 360.0; - return 0; -``` +```*dst = *src / 360.0;``` morph_angle_as_degrees_to_turns_double () Angle ~ Degrees ~ ℝ ~ native.Float64 --> Angle ~ Turns ~ ℝ ~ native.Float64 -``` - *dst = *src / 360.0; - return 0; -``` +```*dst = *src / 360.0;``` morph_angle_as_turns_to_degrees_float () Angle ~ Turns ~ ℝ ~ native.Float32 --> Angle ~ Degrees ~ ℝ ~ native.Float32 -``` - *dst = *src * 360.0; - return 0; -``` +```*dst = *src * 360.0;``` morph_angle_as_turns_to_degrees_double () Angle ~ Turns ~ ℝ ~ native.Float64 --> Angle ~ Degrees ~ ℝ ~ native.Float64 -``` - *dst = *src * 360.0; - return 0; -``` - - +```*dst = *src * 360.0;``` morph_angle_as_radians_to_turns_float () Angle ~ Radians ~ ℝ ~ native.Float32 --> Angle ~ Turns ~ ℝ ~ native.Float32 -``` - *dst = *src / PHI; - return 0; -``` +```*dst = *src / PHI;``` morph_angle_as_radians_to_turns_double () Angle ~ Radians ~ ℝ ~ native.Float64 --> Angle ~ Turns ~ ℝ ~ native.Float64 -``` - *dst = *src / PHI; - return 0; -``` +```*dst = *src / PHI;``` morph_angle_as_turns_to_radians_float () Angle ~ Turns ~ ℝ ~ native.Float32 --> Angle ~ Radians ~ ℝ ~ native.Float32 -``` - *dst = *src * PHI; - return 0; -``` +```*dst = *src * PHI;``` morph_angle_as_degrees_to_radians_double () Angle ~ Turns ~ ℝ ~ native.Float64 --> Angle ~ Radians ~ ℝ ~ native.Float64 -``` - *dst = *src * PHI; - return 0; -``` +```*dst = *src * PHI;``` diff --git a/morphisms/digit.morphism-base b/morphisms/digit.morphism-base index a92fe61..f037823 100644 --- a/morphisms/digit.morphism-base +++ b/morphisms/digit.morphism-base @@ -60,8 +60,6 @@ morph_digit_as_uint8_to_char (Radix:ℤ_16) fprintf(stderr, "digit %u is out of rage for char\n", *dst); return -1; } - - return 0; ``` morph_digit_as_uint64_to_char (Radix:ℤ_16) @@ -76,6 +74,4 @@ morph_digit_as_uint64_to_char (Radix:ℤ_16) fprintf(stderr, "digit %u is out of rage for char\n", *dst); return -1; } - - return 0; ``` diff --git a/morphisms/length_prefix.morphism-base b/morphisms/length_prefix.morphism-base index 6718c16..1a1b7f5 100644 --- a/morphisms/length_prefix.morphism-base +++ b/morphisms/length_prefix.morphism-base @@ -10,8 +10,6 @@ morph_array_as_valterm_to_lenpfx (Terminator:native.UInt8) length_prefix_uint64_t_array_uint8_t_clear(dst); while( *src != Terminator ) length_prefix_uint64_t_array_uint8_t_push(dst, *src++); - - return 0; ``` @@ -23,8 +21,6 @@ morph_array_as_lenpfx_to_valterm (Terminator:native.UInt8) *dst++ = src->items[i]; *dst = Terminator; - - return 0; ``` morph_array_as_lenpfx_to_continuation_bit (T:Type) @@ -42,6 +38,4 @@ morph_array_as_lenpfx_to_continuation_bit (T:Type) if( i+1 < src->len ) dst[i] |= (1<<(n_bits-1)); } - - return 0; ``` diff --git a/morphisms/posint.morphism-base b/morphisms/posint.morphism-base index 194399b..01248eb 100644 --- a/morphisms/posint.morphism-base +++ b/morphisms/posint.morphism-base @@ -11,7 +11,6 @@ morph_nat_as_u64_to_pos () ``` dst->len = 1; dst->items[0] = *src; - return 0; ``` morph_nat_as_pos_to_u64 (Endianness:Type) @@ -22,7 +21,6 @@ morph_nat_as_pos_to_u64 (Endianness:Type) ~ native.UInt64 ``` *dst = src->items[0]; - return 0; ``` morph_posint_radix_le (SrcRadix:ℤ, DstRadix:ℤ) @@ -52,8 +50,6 @@ morph_posint_radix_le (SrcRadix:ℤ, DstRadix:ℤ) value /= DstRadix; } #endif - - return 0; ``` morph_posint_radix_be (SrcRadix:ℤ, DstRadix:ℤ) @@ -91,8 +87,6 @@ morph_posint_radix_be (SrcRadix:ℤ, DstRadix:ℤ) value /= DstRadix; } #endif - - return 0; ``` morph_posint_endianness (Radix:ℤ) diff --git a/morphisms/real.morphism-base b/morphisms/real.morphism-base index 4add278..5b5b2f7 100644 --- a/morphisms/real.morphism-base +++ b/morphisms/real.morphism-base @@ -5,43 +5,27 @@ morph_real_as_decimalstr_to_float () ℝ ~ <PosInt 10 BigEndian> ~ <Seq~<ValueTerminated 0> <Digit 10>~Char~Ascii~native.UInt8> --> ℝ ~ native.Float32 -``` - sscanf(src, "%f", dst); - return 0; -``` +```sscanf(src, "%f", dst);``` morph_real_as_decimalstr_to_double () ℝ ~ <PosInt 10 BigEndian> ~ <Seq~<ValueTerminated 0> <Digit 10>~Char~Ascii~native.UInt8> --> ℝ ~ native.Float64 -``` - sscanf(src, "%lf", dst); - return 0; -``` +```sscanf(src, "%lf", dst);``` morph_real_as_float_to_decimalstr () ℝ ~ native.Float32 --> ℝ ~ <PosInt 10 BigEndian> ~ <Seq~<ValueTerminated 0> <Digit 10>~Char~Ascii~native.UInt8> -``` - sprintf(dst, "%f", *src); - return 0; -``` +```sprintf(dst, "%f", *src);``` morph_real_as_double_to_decimalstr () ℝ ~ native.Float64 --> ℝ ~ <PosInt 10 BigEndian> ~ <Seq~<ValueTerminated 0> <Digit 10>~Char~Ascii~native.UInt8> -``` - sprintf(dst, "%f", *src); - return 0; -``` - +```sprintf(dst, "%f", *src);``` morph_real_as_float_to_double () ℝ ~ native.Float32 --> ℝ ~ native.Float64 -``` - *dst = *src; - return 0; -``` +```*dst = *src;``` morph_real_as_double_to_float () ℝ ~ native.Float64 @@ -49,7 +33,6 @@ morph_real_as_double_to_float () ``` fprintf(stderr, "Warning: morphin Double -> Float. Precision loss!"); *dst = *src; - return 0; ``` morph_real_as_u64_to_float () @@ -58,7 +41,6 @@ morph_real_as_u64_to_float () ``` fprintf(stderr, "Warning: morphin UInt64 -> Float. Precision loss!"); *dst = *src; - return 0; ``` morph_real_as_u64_to_double () @@ -67,7 +49,14 @@ morph_real_as_u64_to_double () ``` fprintf(stderr, "Warning: morphin UInt64 -> Double. Precision loss!"); *dst = *src; - return 0; +``` + + +morph_real_as_nat_to_quantized_linear () + ℝ ~ ℕ ~ native.UInt64 +--> ℝ ~ <QuantizedLinear 0 1 1> ~ ℕ ~ native.UInt64 +``` + *dst = *src; ``` morph_real_as_quantized_linear_to_float (Begin: ℝ, End: ℝ, Steps: ℤ) @@ -75,7 +64,6 @@ morph_real_as_quantized_linear_to_float (Begin: ℝ, End: ℝ, Steps: ℤ) --> ℝ ~ native.Float32 ``` *dst = (float)Begin + ( *src * ((float)End - (float)Begin) ) / (float)Steps; - return 0; ``` morph_real_as_float_to_quantized_linear (Begin: ℝ, End: ℝ, Steps: ℤ) @@ -83,7 +71,6 @@ morph_real_as_float_to_quantized_linear (Begin: ℝ, End: ℝ, Steps: ℤ) --> ℝ ~ <QuantizedLinear Begin End Steps> ~ ℕ ~ native.UInt64 ``` *dst = ((*src - (float)Begin) * (float)Steps) / ((float)End - (float)Begin); - return 0; ``` @@ -93,7 +80,6 @@ morph_real_as_quantized_linear_to_double (Begin: ℝ, End: ℝ, Steps: ℤ) --> ℝ ~ native.Float64 ``` *dst = (double)Begin + ( *src * ((double)End - (double)Begin) ) / (double)Steps; - return 0; ``` morph_real_as_double_to_quantized_linear (Begin: ℝ, End: ℝ, Steps: ℤ) @@ -101,5 +87,4 @@ morph_real_as_double_to_quantized_linear (Begin: ℝ, End: ℝ, Steps: ℤ) --> ℝ ~ <QuantizedLinear Begin End Steps> ~ ℕ ~ native.UInt64 ``` *dst = ((*src - (double)Begin) * (double)Steps) / ((double)End - (double)Begin); - return 0; ``` diff --git a/morphisms/temperature.morphism-base b/morphisms/temperature.morphism-base index 6c682bc..329a6b0 100644 --- a/morphisms/temperature.morphism-base +++ b/morphisms/temperature.morphism-base @@ -4,31 +4,19 @@ morph_celsius_to_kelvin () Temperature ~ Celsius ~ ℝ ~ native.Float32 --> Temperature ~ Kelvin ~ ℝ ~ native.Float32 -``` - *dst = *src + 273.15; - return 0; -``` +```*dst = *src + 273.15;``` morph_kelvin_to_celsius () Temperature ~ Kelvin ~ ℝ ~ native.Float32 --> Temperature ~ Celsius ~ ℝ ~ native.Float32 -``` - *dst = *src - 273.15; - return 0; -``` +```*dst = *src - 273.15;``` morph_celsius_to_fahrenheit () Temperature ~ Celsius ~ ℝ ~ native.Float32 --> Temperature ~ Fahrenheit ~ ℝ ~ native.Float32 -``` - *dst = (*src * 9.0 / 5.0) + 32.0; - return 0; -``` +```*dst = (*src * 9.0 / 5.0) + 32.0;``` morph_fahrenheit_to_celsius () Temperature ~ Fahrenheit ~ ℝ ~ native.Float32 --> Temperature ~ Celsius ~ ℝ ~ native.Float32 -``` - *dst = (*src - 32.0) * 5.0 / 9.0; - return 0; -``` +```*dst = (*src - 32.0) * 5.0 / 9.0;``` diff --git a/morphisms/timepoint.morphism-base b/morphisms/timepoint.morphism-base index bb66aec..505ed37 100644 --- a/morphisms/timepoint.morphism-base +++ b/morphisms/timepoint.morphism-base @@ -11,5 +11,4 @@ morph_unixtime_to_iso () if (!timeinfo) return -1; strftime((char*)dst, 20, "%Y-%m-%dT%H:%M:%SZ", timeinfo); - return 0; ``` diff --git a/morphisms/uint.morphism-base b/morphisms/uint.morphism-base new file mode 100644 index 0000000..89f8f79 --- /dev/null +++ b/morphisms/uint.morphism-base @@ -0,0 +1,17 @@ +``` +``` + +morph_nat_as_u8_to_u16 () + ℕ ~ native.UInt8 +--> ℕ ~ native.UInt16 +```*dst = *src;``` + +morph_nat_as_u16_to_u32 () + ℕ ~ native.UInt16 +--> ℕ ~ native.UInt32 +```*dst = *src;``` + +morph_nat_as_u32_to_u64 () + ℕ ~ native.UInt32 +--> ℕ ~ native.UInt64 +```*dst = *src;``` diff --git a/morphisms/unicode.morphism-base b/morphisms/unicode.morphism-base index c2854e5..659357b 100644 --- a/morphisms/unicode.morphism-base +++ b/morphisms/unicode.morphism-base @@ -28,7 +28,6 @@ morph_string_as_utf8_to_ascii () } } *dst = 0; - return 0; ``` morph_string_as_ascii_to_utf32 () @@ -39,7 +38,6 @@ morph_string_as_ascii_to_utf32 () ``` while( *src ) { *dst++ = *src++; } *dst = 0; - return 0; ``` morph_string_as_utf8_to_utf32 () @@ -89,6 +87,4 @@ morph_string_as_utf8_to_utf32 () *dst++ = val; *dst++ = 0; - - return 0; ``` diff --git a/morphisms/value_delim.morphism-base b/morphisms/value_delim.morphism-base index a370682..ab66310 100644 --- a/morphisms/value_delim.morphism-base +++ b/morphisms/value_delim.morphism-base @@ -27,8 +27,6 @@ morph_seqseq_valsep_uint8 (T: Type, SrcDelim: T, DstDelim: T) length_prefix_uint64_t_array_uint8_t_push( dst, src->items[i] ); } } - - return 0; ``` @@ -66,8 +64,6 @@ morph_seqseq_as_valsep_to_lenpfx (T: Type, Delim: T, EscKey: T) cur++; } } - - return 0; ``` morph_seqeq_as_lenpfx_to_valsep (T: Type, Delim: T, EscKey: T) @@ -94,6 +90,4 @@ morph_seqeq_as_lenpfx_to_valsep (T: Type, Delim: T, EscKey: T) length_prefix_uint64_t_array_uint8_t_push( Delim ); } } - - return 0; ``` diff --git a/morphisms/zigzag.morphism-base b/morphisms/zigzag.morphism-base index 5a293e2..4196e72 100644 --- a/morphisms/zigzag.morphism-base +++ b/morphisms/zigzag.morphism-base @@ -10,8 +10,6 @@ morph_i64_as_twos_complement_to_zigzag () } else { *dst = (2 * (uint64_t)(- *src)) - 1; } - - return 0; ``` morph_i64_as_zigzag_to_twos_complement ()