(***********************************************************************) (* *) (* 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: February, 2014 *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/integer_short.atxt ** Time of generation: Thu Jan 11 11:00:12 2018 *) (* ****** ****** *) #define ATS_DYNLOADFLAG 0 // no dynloading (* ****** ****** *) // staload UN = "prelude/SATS/unsafe.sats" // (* ****** ****** *) // implement g0int2int = g0int2int_sint_int implement g0int2uint = g0int2uint_sint_uint // (* ****** ****** *) // implement g0uint2int = g0uint2int_usint_int implement g0uint2uint = g0uint2uint_usint_uint // (* ****** ****** *) // implement g0int_neg = g0int_neg_sint implement g0int_abs = g0int_abs_sint implement g0int_succ = g0int_succ_sint implement g0int_pred = g0int_pred_sint implement g0int_half = g0int_half_sint implement g0int_add = g0int_add_sint implement g0int_sub = g0int_sub_sint implement g0int_mul = g0int_mul_sint implement g0int_div = g0int_div_sint implement g0int_mod = g0int_mod_sint implement g0int_asl = g0int_asl_sint implement g0int_asr = g0int_asr_sint implement g0int_isltz = g0int_isltz_sint implement g0int_isltez = g0int_isltez_sint implement g0int_isgtz = g0int_isgtz_sint implement g0int_isgtez = g0int_isgtez_sint implement g0int_iseqz = g0int_iseqz_sint implement g0int_isneqz = g0int_isneqz_sint implement g0int_lt = g0int_lt_sint implement g0int_lte = g0int_lte_sint implement g0int_gt = g0int_gt_sint implement g0int_gte = g0int_gte_sint implement g0int_eq = g0int_eq_sint implement g0int_neq = g0int_neq_sint implement g0int_compare = g0int_compare_sint implement g0int_max = g0int_max_sint implement g0int_min = g0int_min_sint // implement fprint_val (out, x) = fprint_sint((out, x)) // implement g0uint_succ = g0uint_succ_usint implement g0uint_pred = g0uint_pred_usint implement g0uint_half = g0uint_half_usint implement g0uint_add = g0uint_add_usint implement g0uint_sub = g0uint_sub_usint implement g0uint_mul = g0uint_mul_usint implement g0uint_div = g0uint_div_usint implement g0uint_mod = g0uint_mod_usint implement g0uint_lsl = g0uint_lsl_usint implement g0uint_lsr = g0uint_lsr_usint implement g0uint_lnot = g0uint_lnot_usint implement g0uint_lor = g0uint_lor_usint implement g0uint_lxor = g0uint_lxor_usint implement g0uint_land = g0uint_land_usint implement g0uint_isgtz = g0uint_isgtz_usint implement g0uint_iseqz = g0uint_iseqz_usint implement g0uint_isneqz = g0uint_isneqz_usint implement g0uint_lt = g0uint_lt_usint implement g0uint_lte = g0uint_lte_usint implement g0uint_gt = g0uint_gt_usint implement g0uint_gte = g0uint_gte_usint implement g0uint_eq = g0uint_eq_usint implement g0uint_neq = g0uint_neq_usint implement g0uint_compare = g0uint_compare_usint implement g0uint_max = g0uint_max_usint implement g0uint_min = g0uint_min_usint // implement fprint_val (out, x) = fprint_usint((out, x)) // (* ****** ****** *) (* end of [integer_short.dats] *)