hare

[hare] The Hare programming language
git clone https://git.torresjrjr.com/hare.git
Log | Files | Refs | README | LICENSE

arch+riscv64.ha (3367B)


      1 // SPDX-License-Identifier: MPL-2.0
      2 // (c) Hare authors <https://harelang.org>
      3 
      4 use types;
      5 
      6 // Integer type compatible with `char`, as specified by ISO/IEC 9899.
      7 export type char = uchar;
      8 
      9 // Minimum value which can be stored in a [[char]] type.
     10 export def CHAR_MIN: char = UCHAR_MIN;
     11 
     12 // Maximum value which can be stored in a [[char]] type.
     13 export def CHAR_MAX: char = UCHAR_MAX;
     14 
     15 // Integer type compatible with `signed short`, as specified by ISO/IEC 9899.
     16 export type short = i16;
     17 
     18 // Minimum value which can be stored in a [[short]] type.
     19 export def SHORT_MIN: short = types::I16_MIN;
     20 
     21 // Maximum value which can be stored in a [[short]] type.
     22 export def SHORT_MAX: short = types::I16_MAX;
     23 
     24 // Integer type compatible with `unsigned short`, as specified by ISO/IEC 9899.
     25 export type ushort = u16;
     26 
     27 // Minimum value which can be stored in a [[ushort]] type.
     28 export def USHRT_MIN: ushort = types::U16_MIN;
     29 
     30 // Maximum value which can be stored in a [[ushort]] type.
     31 export def USHRT_MAX: ushort = types::U16_MAX;
     32 
     33 // Integer type compatible with `signed long`, as specified by ISO/IEC 9899.
     34 export type long = i64;
     35 
     36 // Minimum value which can be stored in a [[long]] type.
     37 export def LONG_MIN: long = types::I64_MIN;
     38 
     39 // Maximum value which can be stored in a [[long]] type.
     40 export def LONG_MAX: long = types::I64_MAX;
     41 
     42 // Integer type compatible with `unsigned long`, as specified by ISO/IEC 9899.
     43 export type ulong = u64;
     44 
     45 // Minimum value which can be stored in a [[ulong]] type.
     46 export def ULONG_MIN: ulong = types::U64_MIN;
     47 
     48 // Maximum value which can be stored in a [[ulong]] type.
     49 export def ULONG_MAX: ulong = types::U64_MAX;
     50 
     51 // Integer type compatible with `signed long long`, as specified by ISO/IEC
     52 // 9899:1999.
     53 export type longlong = i64;
     54 
     55 // Minimum value which can be stored in a [[longlong]] type.
     56 export def LLONG_MIN: longlong = types::I64_MIN;
     57 
     58 // Maximum value which can be stored in a [[longlong]] type.
     59 export def LLONG_MAX: longlong = types::I64_MAX;
     60 
     61 // Integer type compatible with `unsigned long long`, as specified by ISO/IEC
     62 // 9899:1999.
     63 export type ulonglong = u64;
     64 
     65 // Minimum value which can be stored in a [[ulonglong]] type.
     66 export def ULLONG_MIN: ulonglong = types::U64_MIN;
     67 
     68 // Maximum value which can be stored in a [[ulonglong]] type.
     69 export def ULLONG_MAX: ulonglong = types::U64_MAX;
     70 
     71 // Integer type compatible with `intptr_t`, as defined in <stdint.h> and
     72 // specified by ISO/IEC 9899.
     73 export type intptr = i64;
     74 
     75 // Minimum value which can be stored in an [[intptr]] type.
     76 export def INTPTR_MIN: intptr = types::I64_MIN;
     77 
     78 // Maximum value which can be stored in an [[intptr]] type.
     79 export def INTPTR_MAX: intptr = types::I64_MAX;
     80 
     81 // Integer type compatible with `ptrdiff_t`, as defined in <stddef.h> and
     82 // specified by ISO/IEC 9899.
     83 export type ptrdiff = i64;
     84 
     85 // Minimum value which can be stored in a [[ptrdiff]] type.
     86 export def PTRDIFF_MIN: ptrdiff = types::I64_MIN;
     87 
     88 // Maximum value which can be stored in a [[ptrdiff]] type.
     89 export def PTRDIFF_MAX: ptrdiff = types::I64_MAX;
     90 
     91 // Integer type compatible with `ssize_t`, as defined in <sys/types.h> and
     92 // specified by POSIX.
     93 export type ssize = i64;
     94 
     95 // Minimum value which can be stored in an [[ssize]] type.
     96 export def SSIZE_MIN: ssize = types::I64_MIN;
     97 
     98 // Maximum value which can be stored in an [[ssize]] type.
     99 export def SSIZE_MAX: ssize = types::I64_MAX;