(***********************************************************************) (* *) (* 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_long.atxt ** Time of generation: Thu Jan 11 11:00:02 2018 *) (* ****** ****** *) sortdef tk = tkind (* ****** ****** *) // stadef lintknd = lint_kind stadef ulintknd = ulint_kind // stadef llintknd = llint_kind stadef ullintknd = ullint_kind // (* ****** ****** *) // fun g0int2int_int_lint(int):<> lint = "mac#%" fun g0uint2int_uint_lint(uint):<> lint = "mac#%" // fun g0int2uint_int_ulint(int):<> ulint = "mac#%" fun g0uint2uint_uint_ulint(uint):<> ulint = "mac#%" // (* ****** ****** *) // fun g0int2int_lint_int(lint):<> int = "mac#%" fun g0int2int_lint_lint(lint):<> lint = "mac#%" fun g0int2int_lint_llint(lint):<> llint = "mac#%" // fun g0int2uint_lint_uint(lint):<> uint = "mac#%" fun g0int2uint_lint_ulint(lint):<> ulint = "mac#%" fun g0int2uint_lint_ullint(lint):<> ullint = "mac#%" // (* ****** ****** *) // fun g0uint2int_ulint_int(ulint):<> int = "mac#%" fun g0uint2int_ulint_lint(ulint):<> lint = "mac#%" fun g0uint2int_ulint_llint(ulint):<> llint = "mac#%" // fun g0uint2uint_ulint_uint(ulint):<> uint = "mac#%" fun g0uint2uint_ulint_ulint(ulint):<> ulint = "mac#%" fun g0uint2uint_ulint_ullint(ulint):<> ullint = "mac#%" // (* ****** ****** *) // fun g0int2int_int_llint(int):<> llint = "mac#%" fun g0uint2int_uint_llint(uint):<> llint = "mac#%" // fun g0int2uint_int_ullint(int):<> ullint = "mac#%" fun g0uint2uint_uint_ullint(uint):<> ullint = "mac#%" // (* ****** ****** *) // fun g0int2int_llint_int(llint):<> int = "mac#%" fun g0int2int_llint_lint(llint):<> lint = "mac#%" fun g0int2int_llint_llint(llint):<> llint = "mac#%" // fun g0int2uint_llint_uint(llint):<> uint = "mac#%" fun g0int2uint_llint_ulint(llint):<> ulint = "mac#%" fun g0int2uint_llint_ullint(llint):<> ullint = "mac#%" // (* ****** ****** *) // fun g0uint2int_ullint_int(ullint):<> int = "mac#%" fun g0uint2int_ullint_lint(ullint):<> lint = "mac#%" fun g0uint2int_ullint_llint(ullint):<> llint = "mac#%" // fun g0uint2uint_ullint_uint(ullint):<> uint = "mac#%" fun g0uint2uint_ullint_ulint(ullint):<> ulint = "mac#%" fun g0uint2uint_ullint_ullint(ullint):<> ullint = "mac#%" // (* ****** ****** *) // fun g0int2string_lint(i0: lint): Strptr1 = "mac#%" fun g0int2string_llint(i0: llint): Strptr1 = "mac#%" // fun g0uint2string_ulint(u0: ulint): Strptr1 = "mac#%" fun g0uint2string_ullint(u0: ullint): Strptr1 = "mac#%" // (* ****** ****** *) // fun g0string2int_lint(rep: NSH(string)):<> lint = "mac#%" fun g0string2int_llint(rep: NSH(string)):<> llint = "mac#%" // fun g0string2uint_ulint(rep: NSH(string)):<> ulint = "mac#%" fun g0string2uint_ullint(rep: NSH(string)):<> ullint = "mac#%" // (* ****** ****** *) // fun print_lint (lint): void = "mac#%" fun prerr_lint (lint): void = "mac#%" fun fprint_lint : fprint_type (lint) = "mac#%" overload print with print_lint overload prerr with prerr_lint overload fprint with fprint_lint // fun print_ulint (ulint): void = "mac#%" fun prerr_ulint (ulint): void = "mac#%" fun fprint_ulint : fprint_type (ulint) = "mac#%" overload print with print_ulint overload prerr with prerr_ulint overload fprint with fprint_ulint // fun print_llint (llint): void = "mac#%" fun prerr_llint (llint): void = "mac#%" fun fprint_llint : fprint_type (llint) = "mac#%" overload print with print_llint overload prerr with prerr_llint overload fprint with fprint_llint // fun print_ullint (ullint): void = "mac#%" fun prerr_ullint (ullint): void = "mac#%" fun fprint_ullint : fprint_type (ullint) = "mac#%" overload print with print_ullint overload prerr with prerr_ullint overload fprint with fprint_ullint // (* ****** ****** *) // fun g0int_neg_lint (x: lint):<> lint = "mac#%" fun g0int_abs_lint (x: lint):<> lint = "mac#%" fun g0int_succ_lint (x: lint):<> lint = "mac#%" fun g0int_pred_lint (x: lint):<> lint = "mac#%" fun g0int_half_lint (x: lint):<> lint = "mac#%" fun g0int_asl_lint (x: lint, n: intGte(0)):<> lint = "mac#%" fun g0int_asr_lint (x: lint, n: intGte(0)):<> lint = "mac#%" fun g0int_add_lint (x: lint, y: lint):<> lint = "mac#%" fun g0int_sub_lint (x: lint, y: lint):<> lint = "mac#%" fun g0int_mul_lint (x: lint, y: lint):<> lint = "mac#%" fun g0int_div_lint (x: lint, y: lint):<> lint = "mac#%" fun g0int_mod_lint (x: lint, y: lint):<> lint = "mac#%" fun g0int_lt_lint (x: lint, y: lint):<> bool = "mac#%" fun g0int_lte_lint (x: lint, y: lint):<> bool = "mac#%" fun g0int_gt_lint (x: lint, y: lint):<> bool = "mac#%" fun g0int_gte_lint (x: lint, y: lint):<> bool = "mac#%" fun g0int_eq_lint (x: lint, y: lint):<> bool = "mac#%" fun g0int_neq_lint (x: lint, y: lint):<> bool = "mac#%" fun g0int_compare_lint (x: lint, y: lint):<> int = "mac#%" fun g0int_max_lint (x: lint, y: lint):<> lint = "mac#%" fun g0int_min_lint (x: lint, y: lint):<> lint = "mac#%" fun g0int_isltz_lint (x: lint):<> bool = "mac#%" fun g0int_isltez_lint (x: lint):<> bool = "mac#%" fun g0int_isgtz_lint (x: lint):<> bool = "mac#%" fun g0int_isgtez_lint (x: lint):<> bool = "mac#%" fun g0int_iseqz_lint (x: lint):<> bool = "mac#%" fun g0int_isneqz_lint (x: lint):<> bool = "mac#%" // fun g0uint_succ_ulint (x: ulint):<> ulint = "mac#%" fun g0uint_pred_ulint (x: ulint):<> ulint = "mac#%" fun g0uint_half_ulint (x: ulint):<> ulint = "mac#%" fun g0uint_add_ulint (x: ulint, y: ulint):<> ulint = "mac#%" fun g0uint_sub_ulint (x: ulint, y: ulint):<> ulint = "mac#%" fun g0uint_mul_ulint (x: ulint, y: ulint):<> ulint = "mac#%" fun g0uint_div_ulint (x: ulint, y: ulint):<> ulint = "mac#%" fun g0uint_mod_ulint (x: ulint, y: ulint):<> ulint = "mac#%" fun g0uint_lsl_ulint (x: ulint, n: intGte(0)):<> ulint = "mac#%" fun g0uint_lsr_ulint (x: ulint, n: intGte(0)):<> ulint = "mac#%" fun g0uint_lnot_ulint (x: ulint):<> ulint = "mac#%" fun g0uint_lor_ulint (x: ulint, y: ulint):<> ulint = "mac#%" fun g0uint_lxor_ulint (x: ulint, y: ulint):<> ulint = "mac#%" fun g0uint_land_ulint (x: ulint, y: ulint):<> ulint = "mac#%" fun g0uint_lt_ulint (x: ulint, y: ulint):<> bool = "mac#%" fun g0uint_lte_ulint (x: ulint, y: ulint):<> bool = "mac#%" fun g0uint_gt_ulint (x: ulint, y: ulint):<> bool = "mac#%" fun g0uint_gte_ulint (x: ulint, y: ulint):<> bool = "mac#%" fun g0uint_eq_ulint (x: ulint, y: ulint):<> bool = "mac#%" fun g0uint_neq_ulint (x: ulint, y: ulint):<> bool = "mac#%" fun g0uint_compare_ulint (x: ulint, y: ulint):<> int = "mac#%" fun g0uint_max_ulint (x: ulint, y: ulint):<> ulint = "mac#%" fun g0uint_min_ulint (x: ulint, y: ulint):<> ulint = "mac#%" fun g0uint_isgtz_ulint (x: ulint):<> bool = "mac#%" fun g0uint_iseqz_ulint (x: ulint):<> bool = "mac#%" fun g0uint_isneqz_ulint (x: ulint):<> bool = "mac#%" // fun g0int_neg_llint (x: llint):<> llint = "mac#%" fun g0int_abs_llint (x: llint):<> llint = "mac#%" fun g0int_succ_llint (x: llint):<> llint = "mac#%" fun g0int_pred_llint (x: llint):<> llint = "mac#%" fun g0int_half_llint (x: llint):<> llint = "mac#%" fun g0int_asl_llint (x: llint, n: intGte(0)):<> llint = "mac#%" fun g0int_asr_llint (x: llint, n: intGte(0)):<> llint = "mac#%" fun g0int_add_llint (x: llint, y: llint):<> llint = "mac#%" fun g0int_sub_llint (x: llint, y: llint):<> llint = "mac#%" fun g0int_mul_llint (x: llint, y: llint):<> llint = "mac#%" fun g0int_div_llint (x: llint, y: llint):<> llint = "mac#%" fun g0int_mod_llint (x: llint, y: llint):<> llint = "mac#%" fun g0int_lt_llint (x: llint, y: llint):<> bool = "mac#%" fun g0int_lte_llint (x: llint, y: llint):<> bool = "mac#%" fun g0int_gt_llint (x: llint, y: llint):<> bool = "mac#%" fun g0int_gte_llint (x: llint, y: llint):<> bool = "mac#%" fun g0int_eq_llint (x: llint, y: llint):<> bool = "mac#%" fun g0int_neq_llint (x: llint, y: llint):<> bool = "mac#%" fun g0int_compare_llint (x: llint, y: llint):<> int = "mac#%" fun g0int_max_llint (x: llint, y: llint):<> llint = "mac#%" fun g0int_min_llint (x: llint, y: llint):<> llint = "mac#%" fun g0int_isltz_llint (x: llint):<> bool = "mac#%" fun g0int_isltez_llint (x: llint):<> bool = "mac#%" fun g0int_isgtz_llint (x: llint):<> bool = "mac#%" fun g0int_isgtez_llint (x: llint):<> bool = "mac#%" fun g0int_iseqz_llint (x: llint):<> bool = "mac#%" fun g0int_isneqz_llint (x: llint):<> bool = "mac#%" // fun g0uint_succ_ullint (x: ullint):<> ullint = "mac#%" fun g0uint_pred_ullint (x: ullint):<> ullint = "mac#%" fun g0uint_half_ullint (x: ullint):<> ullint = "mac#%" fun g0uint_add_ullint (x: ullint, y: ullint):<> ullint = "mac#%" fun g0uint_sub_ullint (x: ullint, y: ullint):<> ullint = "mac#%" fun g0uint_mul_ullint (x: ullint, y: ullint):<> ullint = "mac#%" fun g0uint_div_ullint (x: ullint, y: ullint):<> ullint = "mac#%" fun g0uint_mod_ullint (x: ullint, y: ullint):<> ullint = "mac#%" fun g0uint_lsl_ullint (x: ullint, n: intGte(0)):<> ullint = "mac#%" fun g0uint_lsr_ullint (x: ullint, n: intGte(0)):<> ullint = "mac#%" fun g0uint_lnot_ullint (x: ullint):<> ullint = "mac#%" fun g0uint_lor_ullint (x: ullint, y: ullint):<> ullint = "mac#%" fun g0uint_lxor_ullint (x: ullint, y: ullint):<> ullint = "mac#%" fun g0uint_land_ullint (x: ullint, y: ullint):<> ullint = "mac#%" fun g0uint_lt_ullint (x: ullint, y: ullint):<> bool = "mac#%" fun g0uint_lte_ullint (x: ullint, y: ullint):<> bool = "mac#%" fun g0uint_gt_ullint (x: ullint, y: ullint):<> bool = "mac#%" fun g0uint_gte_ullint (x: ullint, y: ullint):<> bool = "mac#%" fun g0uint_eq_ullint (x: ullint, y: ullint):<> bool = "mac#%" fun g0uint_neq_ullint (x: ullint, y: ullint):<> bool = "mac#%" fun g0uint_compare_ullint (x: ullint, y: ullint):<> int = "mac#%" fun g0uint_max_ullint (x: ullint, y: ullint):<> ullint = "mac#%" fun g0uint_min_ullint (x: ullint, y: ullint):<> ullint = "mac#%" fun g0uint_isgtz_ullint (x: ullint):<> bool = "mac#%" fun g0uint_iseqz_ullint (x: ullint):<> bool = "mac#%" fun g0uint_isneqz_ullint (x: ullint):<> bool = "mac#%" // (* ****** ****** *) // fun g1int_neg_lint : g1int_neg_type (lintknd) = "mac#%" fun g1int_abs_lint : g1int_abs_type (lintknd) = "mac#%" fun g1int_succ_lint : g1int_succ_type (lintknd) = "mac#%" fun g1int_pred_lint : g1int_pred_type (lintknd) = "mac#%" fun g1int_half_lint : g1int_half_type (lintknd) = "mac#%" fun g1int_add_lint : g1int_add_type (lintknd) = "mac#%" fun g1int_sub_lint : g1int_sub_type (lintknd) = "mac#%" fun g1int_mul_lint : g1int_mul_type (lintknd) = "mac#%" fun g1int_div_lint : g1int_div_type (lintknd) = "mac#%" fun g1int_nmod_lint : g1int_nmod_type (lintknd) = "mac#%" fun g1int_lt_lint : g1int_lt_type (lintknd) = "mac#%" fun g1int_lte_lint : g1int_lte_type (lintknd) = "mac#%" fun g1int_gt_lint : g1int_gt_type (lintknd) = "mac#%" fun g1int_gte_lint : g1int_gte_type (lintknd) = "mac#%" fun g1int_eq_lint : g1int_eq_type (lintknd) = "mac#%" fun g1int_neq_lint : g1int_neq_type (lintknd) = "mac#%" fun g1int_compare_lint : g1int_compare_type (lintknd) = "mac#%" fun g1int_max_lint : g1int_max_type (lintknd) = "mac#%" fun g1int_min_lint : g1int_min_type (lintknd) = "mac#%" fun g1int_isltz_lint : g1int_isltz_type (lintknd) = "mac#%" fun g1int_isltez_lint : g1int_isltez_type (lintknd) = "mac#%" fun g1int_isgtz_lint : g1int_isgtz_type (lintknd) = "mac#%" fun g1int_isgtez_lint : g1int_isgtez_type (lintknd) = "mac#%" fun g1int_iseqz_lint : g1int_iseqz_type (lintknd) = "mac#%" fun g1int_isneqz_lint : g1int_isneqz_type (lintknd) = "mac#%" // fun g1uint_succ_ulint : g1uint_succ_type (ulintknd) = "mac#%" fun g1uint_pred_ulint : g1uint_pred_type (ulintknd) = "mac#%" fun g1uint_half_ulint : g1uint_half_type (ulintknd) = "mac#%" fun g1uint_add_ulint : g1uint_add_type (ulintknd) = "mac#%" fun g1uint_sub_ulint : g1uint_sub_type (ulintknd) = "mac#%" fun g1uint_mul_ulint : g1uint_mul_type (ulintknd) = "mac#%" fun g1uint_div_ulint : g1uint_div_type (ulintknd) = "mac#%" fun g1uint_mod_ulint : g1uint_mod_type (ulintknd) = "mac#%" fun g1uint_lt_ulint : g1uint_lt_type (ulintknd) = "mac#%" fun g1uint_lte_ulint : g1uint_lte_type (ulintknd) = "mac#%" fun g1uint_gt_ulint : g1uint_gt_type (ulintknd) = "mac#%" fun g1uint_gte_ulint : g1uint_gte_type (ulintknd) = "mac#%" fun g1uint_eq_ulint : g1uint_eq_type (ulintknd) = "mac#%" fun g1uint_neq_ulint : g1uint_neq_type (ulintknd) = "mac#%" fun g1uint_compare_ulint : g1uint_compare_type (ulintknd) = "mac#%" fun g1uint_max_ulint : g1uint_max_type (ulintknd) = "mac#%" fun g1uint_min_ulint : g1uint_min_type (ulintknd) = "mac#%" fun g1uint_isgtz_ulint : g1uint_isgtz_type (ulintknd) = "mac#%" fun g1uint_iseqz_ulint : g1uint_iseqz_type (ulintknd) = "mac#%" fun g1uint_isneqz_ulint : g1uint_isneqz_type (ulintknd) = "mac#%" // fun g1int_neg_llint : g1int_neg_type (llintknd) = "mac#%" fun g1int_abs_llint : g1int_abs_type (llintknd) = "mac#%" fun g1int_succ_llint : g1int_succ_type (llintknd) = "mac#%" fun g1int_pred_llint : g1int_pred_type (llintknd) = "mac#%" fun g1int_half_llint : g1int_half_type (llintknd) = "mac#%" fun g1int_add_llint : g1int_add_type (llintknd) = "mac#%" fun g1int_sub_llint : g1int_sub_type (llintknd) = "mac#%" fun g1int_mul_llint : g1int_mul_type (llintknd) = "mac#%" fun g1int_div_llint : g1int_div_type (llintknd) = "mac#%" fun g1int_nmod_llint : g1int_nmod_type (llintknd) = "mac#%" fun g1int_lt_llint : g1int_lt_type (llintknd) = "mac#%" fun g1int_lte_llint : g1int_lte_type (llintknd) = "mac#%" fun g1int_gt_llint : g1int_gt_type (llintknd) = "mac#%" fun g1int_gte_llint : g1int_gte_type (llintknd) = "mac#%" fun g1int_eq_llint : g1int_eq_type (llintknd) = "mac#%" fun g1int_neq_llint : g1int_neq_type (llintknd) = "mac#%" fun g1int_compare_llint : g1int_compare_type (llintknd) = "mac#%" fun g1int_max_llint : g1int_max_type (llintknd) = "mac#%" fun g1int_min_llint : g1int_min_type (llintknd) = "mac#%" fun g1int_isltz_llint : g1int_isltz_type (llintknd) = "mac#%" fun g1int_isltez_llint : g1int_isltez_type (llintknd) = "mac#%" fun g1int_isgtz_llint : g1int_isgtz_type (llintknd) = "mac#%" fun g1int_isgtez_llint : g1int_isgtez_type (llintknd) = "mac#%" fun g1int_iseqz_llint : g1int_iseqz_type (llintknd) = "mac#%" fun g1int_isneqz_llint : g1int_isneqz_type (llintknd) = "mac#%" // fun g1uint_succ_ullint : g1uint_succ_type (ullintknd) = "mac#%" fun g1uint_pred_ullint : g1uint_pred_type (ullintknd) = "mac#%" fun g1uint_half_ullint : g1uint_half_type (ullintknd) = "mac#%" fun g1uint_add_ullint : g1uint_add_type (ullintknd) = "mac#%" fun g1uint_sub_ullint : g1uint_sub_type (ullintknd) = "mac#%" fun g1uint_mul_ullint : g1uint_mul_type (ullintknd) = "mac#%" fun g1uint_div_ullint : g1uint_div_type (ullintknd) = "mac#%" fun g1uint_mod_ullint : g1uint_mod_type (ullintknd) = "mac#%" fun g1uint_lt_ullint : g1uint_lt_type (ullintknd) = "mac#%" fun g1uint_lte_ullint : g1uint_lte_type (ullintknd) = "mac#%" fun g1uint_gt_ullint : g1uint_gt_type (ullintknd) = "mac#%" fun g1uint_gte_ullint : g1uint_gte_type (ullintknd) = "mac#%" fun g1uint_eq_ullint : g1uint_eq_type (ullintknd) = "mac#%" fun g1uint_neq_ullint : g1uint_neq_type (ullintknd) = "mac#%" fun g1uint_compare_ullint : g1uint_compare_type (ullintknd) = "mac#%" fun g1uint_max_ullint : g1uint_max_type (ullintknd) = "mac#%" fun g1uint_min_ullint : g1uint_min_type (ullintknd) = "mac#%" fun g1uint_isgtz_ullint : g1uint_isgtz_type (ullintknd) = "mac#%" fun g1uint_iseqz_ullint : g1uint_iseqz_type (ullintknd) = "mac#%" fun g1uint_isneqz_ullint : g1uint_isneqz_type (ullintknd) = "mac#%" // (* ****** ****** *) // fun g1int2int_int_lint: g1int2int_type(intknd, lintknd) = "mac#%" fun g1int2int_int_llint: g1int2int_type(intknd, llintknd) = "mac#%" // fun g1int2int_lint_lint: g1int2int_type(lintknd, lintknd) = "mac#%" fun g1int2int_lint_llint: g1int2int_type(lintknd, llintknd) = "mac#%" // (* ****** ****** *) // fun g1int2uint_int_ulint: g1int2uint_type(intknd, ulintknd) = "mac#%" fun g1int2uint_int_ullint: g1int2uint_type(intknd, ullintknd) = "mac#%" // (* ****** ****** *) // fun g1uint2int_uint_lint: g1uint2int_type(uintknd, lintknd) = "mac#%" fun g1uint2int_uint_llint: g1uint2int_type(uintknd, llintknd) = "mac#%" // fun g1uint2uint_uint_ulint: g1uint2uint_type(uintknd, ulintknd) = "mac#%" fun g1uint2uint_uint_ullint: g1uint2uint_type(uintknd, ullintknd) = "mac#%" // fun g1uint2uint_ulint_uint: g1uint2uint_type(uintknd, uintknd) = "mac#%" fun g1uint2uint_ulint_ulint: g1uint2uint_type(uintknd, ulintknd) = "mac#%" fun g1uint2uint_ulint_ullint: g1uint2uint_type(uintknd, ullintknd) = "mac#%" // (* ****** ****** *) (* end of [integer_long.sats] *)