%{ #define ATSCODEFORMAT "txt" #if (ATSCODEFORMAT == "txt") #include "utils/atsdoc/HATS/postiatsatxt.hats" #endif // end of [ATSCCODEFORMAT] val _thisfilename = atext_strcst"bool.cats" val () = theAtextMap_insert_str ("thisfilename", _thisfilename) %}\ \ #atscode_banner_for_C() #atscode_copyright_GPL_for_C() #atscode_separator_for_C() /* ** Source: ** $PATSHOME/prelude/CATS/CODEGEN/bool.atxt ** Time of generation: #timestamp() */ #atscode_separator_for_C() /* #atscode_author("Hongwei Xi") #atscode_authoremail("hwxi AT cs DOT bu DOT edu") #atscode_start_time("February, 2012") */ #atscode_separator_for_C() \#ifndef ATSLIB_PRELUDE_CATS_BOOL \#define ATSLIB_PRELUDE_CATS_BOOL #atscode_separator_for_C() ATSinline() atstype_bool atspre_int2bool (atstype_int x) { return (x != 0 ? atsbool_true : atsbool_false) ; } \#define atspre_int2bool0 atspre_int2bool \#define atspre_int2bool1 atspre_int2bool #atscode_separator_for_C() \#define atspre_bool2int0(x) x \#define atspre_bool2int1(x) x #atscode_separator_for_C() ATSinline() atstype_bool atspre_neg_bool (atstype_bool b) { return (b) ? atsbool_false : atsbool_true ; } // end of [atspre_neg_bool] \#define atspre_neg_bool0 atspre_neg_bool \#define atspre_neg_bool1 atspre_neg_bool ATSinline() atstype_bool atspre_add_bool_bool ( atstype_bool b1, atstype_bool b2 ) { return (b1) ? atsbool_true : (b2) ; } // end of [atspre_add_bool_bool] \#define atspre_add_bool0_bool0 atspre_add_bool_bool \#define atspre_add_bool0_bool1 atspre_add_bool_bool \#define atspre_add_bool1_bool0 atspre_add_bool_bool \#define atspre_add_bool1_bool1 atspre_add_bool_bool ATSinline() atstype_bool atspre_mul_bool_bool ( atstype_bool b1, atstype_bool b2 ) { return (b1) ? (b2) : atsbool_false ; } // end of [atspre_mul_bool_bool] \#define atspre_mul_bool0_bool0 atspre_mul_bool_bool \#define atspre_mul_bool0_bool1 atspre_mul_bool_bool \#define atspre_mul_bool1_bool0 atspre_mul_bool_bool \#define atspre_mul_bool1_bool1 atspre_mul_bool_bool #atscode_separator_for_C() ATSinline() atstype_bool atspre_xor_bool_bool ( atstype_bool b1, atstype_bool b2 ) { return (b1) ? (!b2) : (b2) ; } // end of [atspre_xor_bool_bool] \#define atspre_xor_bool0_bool0 atspre_xor_bool_bool \#define atspre_xor_bool1_bool1 atspre_xor_bool_bool #atscode_separator_for_C() ATSinline() atstype_bool atspre_lt_bool_bool ( atstype_bool b1, atstype_bool b2 ) { return (b1) ? atsbool_false : (b2) ; } // end of [atspre_lt_bool_bool] \#define atspre_lt_bool0_bool0 atspre_lt_bool_bool \#define atspre_lt_bool1_bool1 atspre_lt_bool_bool ATSinline() atstype_bool atspre_lte_bool_bool ( atstype_bool b1, atstype_bool b2 ) { return (b1) ? (b2) : atsbool_true ; } // end of [atspre_lte_bool_bool] \#define atspre_lte_bool0_bool0 atspre_lte_bool_bool \#define atspre_lte_bool1_bool1 atspre_lte_bool_bool ATSinline() atstype_bool atspre_gt_bool_bool ( atstype_bool b1, atstype_bool b2 ) { return (b2) ? atsbool_false : (b1) ; } // end of [atspre_gt_bool_bool] \#define atspre_gt_bool0_bool0 atspre_gt_bool_bool \#define atspre_gt_bool1_bool1 atspre_gt_bool_bool ATSinline() atstype_bool atspre_gte_bool_bool ( atstype_bool b1, atstype_bool b2 ) { return (b2) ? (b1) : atsbool_true ; } // end of [atspre_gte_bool_bool] \#define atspre_gte_bool0_bool0 atspre_gte_bool_bool \#define atspre_gte_bool1_bool1 atspre_gte_bool_bool ATSinline() atstype_bool atspre_eq_bool_bool ( atstype_bool b1, atstype_bool b2 ) { return (b1 == b2) ; } // end of [atspre_eq_bool_bool] \#define atspre_eq_bool0_bool0 atspre_eq_bool_bool \#define atspre_eq_bool1_bool1 atspre_eq_bool_bool ATSinline() atstype_bool atspre_neq_bool_bool ( atstype_bool b1, atstype_bool b2 ) { return (b1 != b2) ; } // end of [atspre_neq_bool_bool] \#define atspre_neq_bool0_bool0 atspre_neq_bool_bool \#define atspre_neq_bool1_bool1 atspre_neq_bool_bool #atscode_separator_for_C() ATSinline() atstype_int atspre_compare_bool_bool ( atstype_bool b1, atstype_bool b2 ) { return (b1 - b2) ; } // end of [atspre_compare_bool_bool] \#define atspre_compare_bool0_bool0 atspre_compare_bool_bool \#define atspre_compare_bool1_bool1 atspre_compare_bool_bool #atscode_separator_for_C() ATSinline() atstype_string atspre_bool2string ( atstype_bool x ) { return (x) ? "true" : "false" ; } // end of [atspre_bool2string] ATSinline() atstype_string atspre_bool_tostring ( atstype_bool x ) { return (x) ? "true" : "false" ; } // end of [atspre_bool_tostring] #atscode_separator_for_C() \#endif // ifndef ATSLIB_PRELUDE_CATS_BOOL #atscode_separator_for_C() #atscode_eof_strsub_for_C("\#thisfilename$")\ %{ implement main (argc, argv) = fprint_filsub (stdout_ref, "bool_atxt.txt") %}\