replace x86.T with native.T

This commit is contained in:
Michael Sippel 2025-03-20 16:28:16 +01:00
parent e29a5a3475
commit f67f8c0118
Signed by: senvas
GPG key ID: F96CF119C34B64A6
12 changed files with 91 additions and 91 deletions

View file

@ -3,8 +3,8 @@
```
morph_digit_as_char_to_uint8 (Radix:)
<Digit Radix> ~ Char ~ Ascii ~ x86.UInt8
--> <Digit Radix> ~ x86.UInt8
<Digit Radix> ~ Char ~ Ascii ~ native.UInt8
--> <Digit Radix> ~ native.UInt8
```
if( *src >= '0' && *src <= '9' )
*dst = *src - '0';
@ -26,8 +26,8 @@ morph_digit_as_char_to_uint8 (Radix:)
```
morph_digit_as_char_to_uint64 (Radix:)
<Digit Radix> ~ Char ~ Ascii ~ x86.UInt8
--> <Digit Radix> ~ x86.UInt64
<Digit Radix> ~ Char ~ Ascii ~ native.UInt8
--> <Digit Radix> ~ native.UInt64
```
if( *src >= '0' && *src <= '9' )
*dst = *src - '0';
@ -49,8 +49,8 @@ morph_digit_as_char_to_uint64 (Radix:)
```
morph_digit_as_uint8_to_char (Radix:_16)
<Digit Radix> ~ x86.UInt8
--> <Digit Radix> ~ Char ~ Ascii ~ x86.UInt8
<Digit Radix> ~ native.UInt8
--> <Digit Radix> ~ Char ~ Ascii ~ native.UInt8
```
if ( *src < 10 )
*dst = *src + '0';
@ -65,8 +65,8 @@ morph_digit_as_uint8_to_char (Radix:_16)
```
morph_digit_as_uint64_to_char (Radix:_16)
<Digit Radix> ~ x86.UInt64
--> <Digit Radix> ~ Char ~ Ascii ~ x86.UInt8
<Digit Radix> ~ native.UInt64
--> <Digit Radix> ~ Char ~ Ascii ~ native.UInt8
```
if ( *src < 10 )
*dst = *src + '0';

View file

@ -3,9 +3,9 @@
#include <array/length-prefix.h>
```
morph_array_as_valterm_to_lenpfx (Terminator:x86.UInt8)
<Seq~<ValueTerminated Terminator> x86.UInt8>
--> <Seq~<LengthPrefix x86.UInt64> x86.UInt8>
morph_array_as_valterm_to_lenpfx (Terminator:native.UInt8)
<Seq~<ValueTerminated Terminator> native.UInt8>
--> <Seq~<LengthPrefix native.UInt64> native.UInt8>
```
length_prefix_uint64_t_array_uint8_t_clear(dst);
while( *src != Terminator )
@ -15,9 +15,9 @@ morph_array_as_valterm_to_lenpfx (Terminator:x86.UInt8)
```
morph_array_as_lenpfx_to_valterm (Terminator:x86.UInt8)
<Seq~<LengthPrefix x86.UInt64> x86.UInt8>
--> <Seq~<ValueTerminated Terminator> x86.UInt8>
morph_array_as_lenpfx_to_valterm (Terminator:native.UInt8)
<Seq~<LengthPrefix native.UInt64> native.UInt8>
--> <Seq~<ValueTerminated Terminator> native.UInt8>
```
for( uint64_t i = 0; i < src->len; ++i )
*dst++ = src->items[i];
@ -28,8 +28,8 @@ morph_array_as_lenpfx_to_valterm (Terminator:x86.UInt8)
```
morph_array_as_lenpfx_to_continuation_bit_8 ()
<Seq~<LengthPrefix x86.UInt64> x86.UInt8>
--> <Seq~MsbCont x86.UInt8>
<Seq~<LengthPrefix native.UInt64> native.UInt8>
--> <Seq~MsbCont native.UInt8>
```
for( uint64_t i = 0; i < src->len; ++i ) {
if( src->items[i] & (1<<7) ) {
@ -46,8 +46,8 @@ morph_array_as_lenpfx_to_continuation_bit_8 ()
```
morph_array_as_lenpfx_to_continuation_bit_16 ()
<Seq~<LengthPrefix x86.UInt64> x86.UInt16>
--> <Seq~MsbCont x86.UInt16>
<Seq~<LengthPrefix native.UInt64> native.UInt16>
--> <Seq~MsbCont native.UInt16>
```
for( uint64_t i = 0; i < src->len; ++i ) {
if( src->items[i] & (1<<15) ) {

View file

@ -4,10 +4,10 @@
morph_nat_as_u64_to_pos ()
~ x86.UInt64
~ native.UInt64
-->
~ <PosInt 0 LittleEndian>
~ <Seq~<LengthPrefix x86.UInt64> <Digit 0>~x86.UInt64>
~ <Seq~<LengthPrefix native.UInt64> <Digit 0>~native.UInt64>
```
dst->len = 1;
dst->items[0] = *src;
@ -17,9 +17,9 @@ morph_nat_as_u64_to_pos ()
morph_nat_as_pos_to_u64 (Endianness:Type)
~ <PosInt 0 Endianness>
~ <Seq~<LengthPrefix x86.UInt64> <Digit 0>~x86.UInt64>
~ <Seq~<LengthPrefix native.UInt64> <Digit 0>~native.UInt64>
-->
~ x86.UInt64
~ native.UInt64
```
*dst = src->items[0];
return 0;
@ -28,10 +28,10 @@ morph_nat_as_pos_to_u64 (Endianness:Type)
morph_posint_radix_le (SrcRadix:, DstRadix:)
~ <PosInt SrcRadix LittleEndian>
~ <Seq~<LengthPrefix x86.UInt64> <Digit SrcRadix>~x86.UInt64>
~ <Seq~<LengthPrefix native.UInt64> <Digit SrcRadix>~native.UInt64>
-->
~ <PosInt DstRadix LittleEndian>
~ <Seq~<LenghtPrefix x86.UInt64> <Digit DstRadix>~x86.UInt64>
~ <Seq~<LenghtPrefix native.UInt64> <Digit DstRadix>~native.UInt64>
```
uint64_t value = 0;
@ -59,10 +59,10 @@ morph_posint_radix_le (SrcRadix:, DstRadix:)
morph_posint_radix_be (SrcRadix:, DstRadix:)
~ <PosInt SrcRadix BigEndian>
~ <Seq~<LengthPrefix x86.UInt64> <Digit SrcRadix>~x86.UInt64>
~ <Seq~<LengthPrefix native.UInt64> <Digit SrcRadix>~native.UInt64>
-->
~ <PosInt DstRadix BigEndian>
~ <Seq~<LengthPrefix x86.UInt64> <Digit DstRadix>~x86.UInt64>
~ <Seq~<LengthPrefix native.UInt64> <Digit DstRadix>~native.UInt64>
```
uint64_t value = 0;
@ -98,10 +98,10 @@ morph_posint_radix_be (SrcRadix:, DstRadix:)
morph_posint_endianness (Radix:)
~ <PosInt Radix LittleEndian>
~ <Seq~<LengthPrefix x86.UInt64> <Digit Radix> ~ x86.UInt64>
~ <Seq~<LengthPrefix native.UInt64> <Digit Radix> ~ native.UInt64>
-->
~ <PosInt Radix BigEndian>
~ <Seq~<LengthPrefix x86.UInt64> <Digit Radix> ~ x86.UInt64>
~ <Seq~<LengthPrefix native.UInt64> <Digit Radix> ~ native.UInt64>
```
return length_prefix_uint64_t_array_uint64_t_reverse( src, dst );
```
@ -109,10 +109,10 @@ morph_posint_endianness (Radix:)
morph_posint_endianness (Radix:)
~ <PosInt Radix BigEndian>
~ <Seq~<LengthPrefix x86.UInt64> <Digit Radix> ~ x86.UInt64>
~ <Seq~<LengthPrefix native.UInt64> <Digit Radix> ~ native.UInt64>
-->
~ <PosInt Radix LittleEndian>
~ <Seq~<LengthPrefix x86.UInt64> <Digit Radix> ~ x86.UInt64>
~ <Seq~<LengthPrefix native.UInt64> <Digit Radix> ~ native.UInt64>
```
return length_prefix_uint64_t_array_uint64_t_reverse( src, dst );
```

View file

@ -3,7 +3,7 @@
```
morph_real_as_decimalstr_to_float ()
~ <PosInt 10 BigEndian> ~ <Seq~<ValueTerminated 0> <Digit 10>~Char~Ascii~x86.UInt8>
~ <PosInt 10 BigEndian> ~ <Seq~<ValueTerminated 0> <Digit 10>~Char~Ascii~native.UInt8>
--> ~ native.Float
```
sscanf(src, "%f", dst);
@ -11,7 +11,7 @@ morph_real_as_decimalstr_to_float ()
```
morph_real_as_decimalstr_to_double ()
~ <PosInt 10 BigEndian> ~ <Seq~<ValueTerminated 0> <Digit 10>~Char~Ascii~x86.UInt8>
~ <PosInt 10 BigEndian> ~ <Seq~<ValueTerminated 0> <Digit 10>~Char~Ascii~native.UInt8>
--> ~ native.Double
```
sscanf(src, "%lf", dst);
@ -20,7 +20,7 @@ morph_real_as_decimalstr_to_double ()
morph_real_as_float_to_decimalstr ()
~ native.Float
--> ~ <PosInt 10 BigEndian> ~ <Seq~<ValueTerminated 0> <Digit 10>~Char~Ascii~x86.UInt8>
--> ~ <PosInt 10 BigEndian> ~ <Seq~<ValueTerminated 0> <Digit 10>~Char~Ascii~native.UInt8>
```
sprintf(dst, "%f", *src);
return 0;
@ -28,7 +28,7 @@ morph_real_as_float_to_decimalstr ()
morph_real_as_double_to_decimalstr ()
~ native.Double
--> ~ <PosInt 10 BigEndian> ~ <Seq~<ValueTerminated 0> <Digit 10>~Char~Ascii~x86.UInt8>
--> ~ <PosInt 10 BigEndian> ~ <Seq~<ValueTerminated 0> <Digit 10>~Char~Ascii~native.UInt8>
```
sprintf(dst, "%f", *src);
return 0;
@ -53,7 +53,7 @@ morph_real_as_double_to_float ()
```
morph_real_as_u64_to_float ()
~ ~ x86.UInt64
~ ~ native.UInt64
--> ~ native.Float
```
fprintf(stderr, "Warning: morphin UInt64 -> Float. Precision loss!");
@ -62,7 +62,7 @@ morph_real_as_u64_to_float ()
```
morph_real_as_u64_to_double ()
~ ~ x86.UInt64
~ ~ native.UInt64
--> ~ native.Double
```
fprintf(stderr, "Warning: morphin UInt64 -> Double. Precision loss!");
@ -71,7 +71,7 @@ morph_real_as_u64_to_double ()
```
morph_real_as_quantized_linear_to_float (Begin: , End: , Steps: )
~ <QuantizedLinear Begin End Steps> ~ ~ x86.UInt64
~ <QuantizedLinear Begin End Steps> ~ ~ native.UInt64
--> ~ native.Float
```
*dst = (float)Begin + ( *src * ((float)End - (float)Begin) ) / (float)Steps;
@ -80,7 +80,7 @@ morph_real_as_quantized_linear_to_float (Begin: , End: , Steps: )
morph_real_as_float_to_quantized_linear (Begin: , End: , Steps: )
~ native.Float
--> ~ <QuantizedLinear Begin End Steps> ~ ~ x86.UInt64
--> ~ <QuantizedLinear Begin End Steps> ~ ~ native.UInt64
```
*dst = ((*src - (float)Begin) * (float)Steps) / ((float)End - (float)Begin);
return 0;
@ -89,7 +89,7 @@ morph_real_as_float_to_quantized_linear (Begin: , End: , Steps: )
morph_real_as_quantized_linear_to_double (Begin: , End: , Steps: )
~ <QuantizedLinear Begin End Steps> ~ ~ x86.UInt64
~ <QuantizedLinear Begin End Steps> ~ ~ native.UInt64
--> ~ native.Double
```
*dst = (double)Begin + ( *src * ((double)End - (double)Begin) ) / (double)Steps;
@ -98,7 +98,7 @@ morph_real_as_quantized_linear_to_double (Begin: , End: , Steps: )
morph_real_as_double_to_quantized_linear (Begin: , End: , Steps: )
~ native.Double
--> ~ <QuantizedLinear Begin End Steps> ~ ~ x86.UInt64
--> ~ <QuantizedLinear Begin End Steps> ~ ~ native.UInt64
```
*dst = ((*src - (double)Begin) * (double)Steps) / ((double)End - (double)Begin);
return 0;

View file

@ -3,8 +3,8 @@
```
morph_unixtime_to_iso ()
TimePoint ~ <TimeSince UnixEpoch> ~ Duration ~ Seconds ~ ~ <QuantizedLinear 0 1 1> ~ ~ x86.UInt64
--> TimePoint ~ ISO8601 ~ <Seq~<ValueTerminated 0> Char~Ascii~x86.UInt8>
TimePoint ~ <TimeSince UnixEpoch> ~ Duration ~ Seconds ~ ~ <QuantizedLinear 0 1 1> ~ ~ native.UInt64
--> TimePoint ~ ISO8601 ~ <Seq~<ValueTerminated 0> Char~Ascii~native.UInt8>
```
time_t rawtime = (time_t)(*src);
struct tm *timeinfo = gmtime(&rawtime);

View file

@ -3,10 +3,10 @@
```
morph_string_as_ascii_to_utf8 ()
<Seq ~ <ValueTerminated 0> Char~Ascii~x86.UInt8>
<Seq ~ <ValueTerminated 0> Char~Ascii~native.UInt8>
--> <Seq Char~Unicode>
~ UTF-8
~ <Seq~<ValueTerminated 0> x86.UInt8>
~ <Seq~<ValueTerminated 0> native.UInt8>
```
while( *src ) { *dst++ = *src++; }
*dst = 0;
@ -16,8 +16,8 @@ morph_string_as_ascii_to_utf8 ()
morph_string_as_utf8_to_ascii ()
<Seq Char~Unicode>
~ UTF-8
~ <Seq~<ValueTerminated 0> x86.UInt8>
--> <Seq ~ <ValueTerminated 0> Char~Ascii~x86.UInt8>
~ <Seq~<ValueTerminated 0> native.UInt8>
--> <Seq ~ <ValueTerminated 0> Char~Ascii~native.UInt8>
```
while( *src ) {
if( *src < 128 ) {
@ -32,10 +32,10 @@ morph_string_as_utf8_to_ascii ()
```
morph_string_as_ascii_to_utf32 ()
<Seq ~ <ValueTerminated 0> Char~Ascii~x86.UInt8>
<Seq ~ <ValueTerminated 0> Char~Ascii~native.UInt8>
--> <Seq Char~Unicode>
~ UTF-32LE
~ <Seq~<ValueTerminated 0> x86.UInt32>
~ <Seq~<ValueTerminated 0> native.UInt32>
```
while( *src ) { *dst++ = *src++; }
*dst = 0;
@ -46,11 +46,11 @@ morph_string_as_utf8_to_utf32 ()
<Seq Char~Unicode>
~ UTF-8
~ <Seq~<ValueTerminated 0> x86.UInt8>
~ <Seq~<ValueTerminated 0> native.UInt8>
--> <Seq Char~Unicode>
~ UTF-32LE
~ <Seq~<ValueTerminated 0> x86.UInt32>
~ <Seq~<ValueTerminated 0> native.UInt32>
```
bool has_multibyte = false;

View file

@ -6,11 +6,11 @@
morph_seqseq_valsep_uint8 (T: Type, SrcDelim: T, DstDelim: T)
< Seq <Seq T> >
~ < ValueSep SrcDelim T >
~ < Seq~<LengthPrefix x86.UInt64> T >
~ < Seq~<LengthPrefix native.UInt64> T >
--> < Seq <Seq T> >
~ < ValueSep DstDelim T >
~ < Seq~<LengthPrefix x86.UInt64> T >
~ < Seq~<LengthPrefix native.UInt64> T >
```
length_prefix_uint64_t_array_uint8_t_clear( dst );
@ -35,13 +35,13 @@ morph_seqseq_valsep_uint8 (T: Type, SrcDelim: T, DstDelim: T)
morph_seqseq_as_valsep_to_lenpfx (T: Type, Delim: T, EscKey: T)
< Seq <Seq T> >
~ < ValueSep T Delim >
~ < Seq~<LengthPrefix x86.UInt64> T >
~ < Seq~<LengthPrefix native.UInt64> T >
--> < Seq~<LengthPrefix x86.UInt64>
<Seq~<LengthPrefix x86.UInt64> T >
~ <RefMut < Seq~<LengthPrefix x86.UInt64> T>>
~ x86.Address
~ x86.UInt64
--> < Seq~<LengthPrefix native.UInt64>
<Seq~<LengthPrefix native.UInt64> T >
~ <RefMut < Seq~<LengthPrefix native.UInt64> T>>
~ native.Address
~ native.UInt64
>
```
length_prefix_uint64_t_array_uint64_t_clear( dst );
@ -71,15 +71,15 @@ morph_seqseq_as_valsep_to_lenpfx (T: Type, Delim: T, EscKey: T)
```
morph_seqeq_as_lenpfx_to_valsep (T: Type, Delim: T, EscKey: T)
< Seq~<LengthPrefix x86.UInt64>
<Seq~<LengthPrefix x86.UInt64> T >
~ <RefMut < Seq~<LengthPrefix x86.UInt64> T>>
~ x86.Address
~ x86.UInt64
< Seq~<LengthPrefix native.UInt64>
<Seq~<LengthPrefix native.UInt64> T >
~ <RefMut < Seq~<LengthPrefix native.UInt64> T>>
~ native.Address
~ native.UInt64
>
--> < Seq <Seq T> >
~ < ValueSep T Delim >
~ < Seq~<LengthPrefix x86.UInt64> T >
~ < Seq~<LengthPrefix native.UInt64> T >
```
length_prefix_uint64_t_array_uint8_t_clear( dst );

View file

@ -2,8 +2,8 @@
```
morph_i64_as_twos_complement_to_zigzag ()
~ x86.Int64
--> ~ ZigZagInt ~ ~ x86.UInt64
~ native.Int64
--> ~ ZigZagInt ~ ~ native.UInt64
```
if( *src >= 0 ) {
*dst = (2 * (uint64_t)*src)
@ -15,8 +15,8 @@ morph_i64_as_twos_complement_to_zigzag ()
```
morph_i64_as_zigzag_to_twos_complement ()
~ ZigZagInt ~ ~ x86.UInt64
--> ~ x86.Int64
~ ZigZagInt ~ ~ native.UInt64
--> ~ native.Int64
```
if( *src % 2 == 0 ) {
*dst = *src / 2;