(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: January, 2013 *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/SATS/CODEGEN/integer_size.atxt ** Time of generation: Thu Jan 11 11:00:03 2018 *) (* ****** ****** *) sortdef tk = tkind (* ****** ****** *) // stadef sizeknd = size_kind stadef ssizeknd = ssize_kind // (* ****** ****** *) // fun g0int2uint_int_size(int):<> size_t = "mac#%" fun g0uint2uint_uint_size(uint):<> size_t = "mac#%" // fun g0int2int_int_ssize(int):<> ssize_t = "mac#%" fun g0uint2int_uint_ssize(uint):<> ssize_t = "mac#%" // (* ****** ****** *) // fun g0int2uint_lint_size(lint):<> size_t = "mac#%" fun g0uint2uint_ulint_size(ulint):<> size_t = "mac#%" // fun g0int2int_lint_ssize(lint):<> ssize_t = "mac#%" fun g0uint2int_ulint_ssize(ulint):<> ssize_t = "mac#%" // (* ****** ****** *) // fun g0uint2int_size_int(size_t):<> int = "mac#%" fun g0uint2int_size_lint(size_t):<> lint = "mac#%" fun g0uint2int_size_llint(size_t):<> llint = "mac#%" // fun g0uint2int_size_ssize(size_t):<> ssize_t = "mac#%" // fun g0uint2uint_size_uint(size_t):<> uint = "mac#%" fun g0uint2uint_size_ulint(size_t):<> ulint = "mac#%" fun g0uint2uint_size_ullint(size_t):<> ullint = "mac#%" // fun g0uint2uint_size_size(sz: size_t):<> size_t = "mac#%" // (* ****** ****** *) // fun g0int2int_ssize_int(ssize_t):<> int = "mac#%" fun g0int2int_ssize_lint(ssize_t):<> lint = "mac#%" fun g0int2int_ssize_llint(ssize_t):<> llint = "mac#%" // fun g0int2int_ssize_ssize(ssize_t):<> ssize_t = "mac#%" // fun g0int2uint_ssize_uint(ssize_t):<> uint = "mac#%" fun g0int2uint_ssize_ulint(ssize_t):<> ulint = "mac#%" fun g0int2uint_ssize_ullint(ssize_t):<> ullint = "mac#%" // fun g0int2uint_ssize_size(ssz: ssize_t):<> size_t = "mac#%" // (* ****** ****** *) // fun g0uint2string_size(sz: size_t): Strptr1 = "mac#%" fun g0string2uint_size(rep: NSH(string)):<> size_t = "mac#%" // fun g0int2string_ssize(ssz: ssize_t): Strptr1 = "mac#%" fun g0string2int_ssize(rep: NSH(string)):<> ssize_t = "mac#%" // (* ****** ****** *) // fun print_size (size_t): void = "mac#%" fun prerr_size (size_t): void = "mac#%" fun fprint_size : fprint_type (size_t) = "mac#%" overload print with print_size overload prerr with prerr_size overload fprint with fprint_size // fun print_ssize (ssize_t): void = "mac#%" fun prerr_ssize (ssize_t): void = "mac#%" fun fprint_ssize : fprint_type (ssize_t) = "mac#%" overload print with print_ssize overload prerr with prerr_ssize overload fprint with fprint_ssize // (* ****** ****** *) // fun g0uint_succ_size (x: size_t):<> size_t = "mac#%" fun g0uint_pred_size (x: size_t):<> size_t = "mac#%" fun g0uint_half_size (x: size_t):<> size_t = "mac#%" fun g0uint_add_size (x: size_t, y: size_t):<> size_t = "mac#%" fun g0uint_sub_size (x: size_t, y: size_t):<> size_t = "mac#%" fun g0uint_mul_size (x: size_t, y: size_t):<> size_t = "mac#%" fun g0uint_div_size (x: size_t, y: size_t):<> size_t = "mac#%" fun g0uint_mod_size (x: size_t, y: size_t):<> size_t = "mac#%" fun g0uint_lsl_size (x: size_t, n: intGte(0)):<> size_t = "mac#%" fun g0uint_lsr_size (x: size_t, n: intGte(0)):<> size_t = "mac#%" fun g0uint_lnot_size (x: size_t):<> size_t = "mac#%" fun g0uint_lor_size (x: size_t, y: size_t):<> size_t = "mac#%" fun g0uint_lxor_size (x: size_t, y: size_t):<> size_t = "mac#%" fun g0uint_land_size (x: size_t, y: size_t):<> size_t = "mac#%" fun g0uint_lt_size (x: size_t, y: size_t):<> bool = "mac#%" fun g0uint_lte_size (x: size_t, y: size_t):<> bool = "mac#%" fun g0uint_gt_size (x: size_t, y: size_t):<> bool = "mac#%" fun g0uint_gte_size (x: size_t, y: size_t):<> bool = "mac#%" fun g0uint_eq_size (x: size_t, y: size_t):<> bool = "mac#%" fun g0uint_neq_size (x: size_t, y: size_t):<> bool = "mac#%" fun g0uint_compare_size (x: size_t, y: size_t):<> int = "mac#%" fun g0uint_max_size (x: size_t, y: size_t):<> size_t = "mac#%" fun g0uint_min_size (x: size_t, y: size_t):<> size_t = "mac#%" fun g0uint_isgtz_size (x: size_t):<> bool = "mac#%" fun g0uint_iseqz_size (x: size_t):<> bool = "mac#%" fun g0uint_isneqz_size (x: size_t):<> bool = "mac#%" // fun g0int_neg_ssize (x: ssize_t):<> ssize_t = "mac#%" fun g0int_abs_ssize (x: ssize_t):<> ssize_t = "mac#%" fun g0int_succ_ssize (x: ssize_t):<> ssize_t = "mac#%" fun g0int_pred_ssize (x: ssize_t):<> ssize_t = "mac#%" fun g0int_half_ssize (x: ssize_t):<> ssize_t = "mac#%" fun g0int_asl_ssize (x: ssize_t, n: intGte(0)):<> ssize_t = "mac#%" fun g0int_asr_ssize (x: ssize_t, n: intGte(0)):<> ssize_t = "mac#%" fun g0int_add_ssize (x: ssize_t, y: ssize_t):<> ssize_t = "mac#%" fun g0int_sub_ssize (x: ssize_t, y: ssize_t):<> ssize_t = "mac#%" fun g0int_mul_ssize (x: ssize_t, y: ssize_t):<> ssize_t = "mac#%" fun g0int_div_ssize (x: ssize_t, y: ssize_t):<> ssize_t = "mac#%" fun g0int_mod_ssize (x: ssize_t, y: ssize_t):<> ssize_t = "mac#%" fun g0int_lt_ssize (x: ssize_t, y: ssize_t):<> bool = "mac#%" fun g0int_lte_ssize (x: ssize_t, y: ssize_t):<> bool = "mac#%" fun g0int_gt_ssize (x: ssize_t, y: ssize_t):<> bool = "mac#%" fun g0int_gte_ssize (x: ssize_t, y: ssize_t):<> bool = "mac#%" fun g0int_eq_ssize (x: ssize_t, y: ssize_t):<> bool = "mac#%" fun g0int_neq_ssize (x: ssize_t, y: ssize_t):<> bool = "mac#%" fun g0int_compare_ssize (x: ssize_t, y: ssize_t):<> int = "mac#%" fun g0int_max_ssize (x: ssize_t, y: ssize_t):<> ssize_t = "mac#%" fun g0int_min_ssize (x: ssize_t, y: ssize_t):<> ssize_t = "mac#%" fun g0int_isltz_ssize (x: ssize_t):<> bool = "mac#%" fun g0int_isltez_ssize (x: ssize_t):<> bool = "mac#%" fun g0int_isgtz_ssize (x: ssize_t):<> bool = "mac#%" fun g0int_isgtez_ssize (x: ssize_t):<> bool = "mac#%" fun g0int_iseqz_ssize (x: ssize_t):<> bool = "mac#%" fun g0int_isneqz_ssize (x: ssize_t):<> bool = "mac#%" // (* ****** ****** *) // fun g1int2uint_int_size: g1int2uint_type(intknd, sizeknd) = "mac#%" fun g1uint2uint_uint_size: g1uint2uint_type(uintknd, sizeknd) = "mac#%" // fun g1int2int_int_ssize: g1int2int_type(intknd, ssizeknd) = "mac#%" fun g1uint2int_uint_ssize: g1uint2int_type(uintknd, ssizeknd) = "mac#%" // (* ****** ****** *) // fun g1uint2int_size_int: g1uint2int_type(sizeknd, intknd) = "mac#%" fun g1uint2uint_size_uint: g1uint2uint_type(sizeknd, uintknd) = "mac#%" // fun g1uint2uint_size_size: g1uint2uint_type(sizeknd, sizeknd) = "mac#%" // (* ****** ****** *) // fun g1int2int_ssize_int: g1int2int_type(ssizeknd, intknd) = "mac#%" fun g1int2uint_ssize_uint: g1int2uint_type(ssizeknd, uintknd) = "mac#%" // fun g1int2int_ssize_ssize: g1int2int_type(ssizeknd, ssizeknd) = "mac#%" // (* ****** ****** *) // fun g1uint2int_size_ssize: g1uint2int_type(sizeknd, ssizeknd) = "mac#%" fun g1int2uint_ssize_size: g1int2uint_type(ssizeknd, sizeknd) = "mac#%" // (* ****** ****** *) // fun g1uint_succ_size : g1uint_succ_type (sizeknd) = "mac#%" fun g1uint_pred_size : g1uint_pred_type (sizeknd) = "mac#%" fun g1uint_half_size : g1uint_half_type (sizeknd) = "mac#%" fun g1uint_add_size : g1uint_add_type (sizeknd) = "mac#%" fun g1uint_sub_size : g1uint_sub_type (sizeknd) = "mac#%" fun g1uint_mul_size : g1uint_mul_type (sizeknd) = "mac#%" fun g1uint_div_size : g1uint_div_type (sizeknd) = "mac#%" fun g1uint_mod_size : g1uint_mod_type (sizeknd) = "mac#%" fun g1uint_lt_size : g1uint_lt_type (sizeknd) = "mac#%" fun g1uint_lte_size : g1uint_lte_type (sizeknd) = "mac#%" fun g1uint_gt_size : g1uint_gt_type (sizeknd) = "mac#%" fun g1uint_gte_size : g1uint_gte_type (sizeknd) = "mac#%" fun g1uint_eq_size : g1uint_eq_type (sizeknd) = "mac#%" fun g1uint_neq_size : g1uint_neq_type (sizeknd) = "mac#%" fun g1uint_compare_size : g1uint_compare_type (sizeknd) = "mac#%" fun g1uint_max_size : g1uint_max_type (sizeknd) = "mac#%" fun g1uint_min_size : g1uint_min_type (sizeknd) = "mac#%" fun g1uint_isgtz_size : g1uint_isgtz_type (sizeknd) = "mac#%" fun g1uint_iseqz_size : g1uint_iseqz_type (sizeknd) = "mac#%" fun g1uint_isneqz_size : g1uint_isneqz_type (sizeknd) = "mac#%" // fun g1int_neg_ssize : g1int_neg_type (ssizeknd) = "mac#%" fun g1int_abs_ssize : g1int_abs_type (ssizeknd) = "mac#%" fun g1int_succ_ssize : g1int_succ_type (ssizeknd) = "mac#%" fun g1int_pred_ssize : g1int_pred_type (ssizeknd) = "mac#%" fun g1int_half_ssize : g1int_half_type (ssizeknd) = "mac#%" fun g1int_add_ssize : g1int_add_type (ssizeknd) = "mac#%" fun g1int_sub_ssize : g1int_sub_type (ssizeknd) = "mac#%" fun g1int_mul_ssize : g1int_mul_type (ssizeknd) = "mac#%" fun g1int_div_ssize : g1int_div_type (ssizeknd) = "mac#%" fun g1int_nmod_ssize : g1int_nmod_type (ssizeknd) = "mac#%" fun g1int_lt_ssize : g1int_lt_type (ssizeknd) = "mac#%" fun g1int_lte_ssize : g1int_lte_type (ssizeknd) = "mac#%" fun g1int_gt_ssize : g1int_gt_type (ssizeknd) = "mac#%" fun g1int_gte_ssize : g1int_gte_type (ssizeknd) = "mac#%" fun g1int_eq_ssize : g1int_eq_type (ssizeknd) = "mac#%" fun g1int_neq_ssize : g1int_neq_type (ssizeknd) = "mac#%" fun g1int_compare_ssize : g1int_compare_type (ssizeknd) = "mac#%" fun g1int_max_ssize : g1int_max_type (ssizeknd) = "mac#%" fun g1int_min_ssize : g1int_min_type (ssizeknd) = "mac#%" fun g1int_isltz_ssize : g1int_isltz_type (ssizeknd) = "mac#%" fun g1int_isltez_ssize : g1int_isltez_type (ssizeknd) = "mac#%" fun g1int_isgtz_ssize : g1int_isgtz_type (ssizeknd) = "mac#%" fun g1int_isgtez_ssize : g1int_isgtez_type (ssizeknd) = "mac#%" fun g1int_iseqz_ssize : g1int_iseqz_type (ssizeknd) = "mac#%" fun g1int_isneqz_ssize : g1int_isneqz_type (ssizeknd) = "mac#%" // (* ****** ****** *) // macdef i2sz(x) = g1int2uint_int_size(,(x)) macdef u2sz(x) = g1uint2uint_uint_size(,(x)) // macdef i2ssz(x) = g1int2int_int_ssize(,(x)) macdef u2ssz(x) = g1uint2int_uint_ssize(,(x)) // (* ****** ****** *) // symintr sz2i overload sz2i with g0uint2int_size_int of 0 overload sz2i with g1uint2int_size_int of 10 // symintr sz2u overload sz2u with g0uint2uint_size_uint of 0 overload sz2u with g1uint2uint_size_uint of 10 // (* ****** ****** *) (* end of [integer_size.sats] *)