fast-arithmetic-0.3.2.1: ats-src/combinatorics.dats
#include "share/atspre_staload.hats"
#include "ats-src/combinatorics-internal.dats"
%{^
#define ATS_MEMALLOC_LIBC
#include "ccomp/runtime/pats_ccomp_memalloc_libc.h"
#include "ccomp/runtime/pats_ccomp_runtime_memalloc.c"
%}
#define ATS_MAINATSFLAG 1
extern
fun choose_ats {n:nat}{ m : nat | m <= n } : (int(n), int(m)) -> Intinf =
"mac#"
extern
fun permutations_ats {n:nat}{ m : nat | m <= n } : (int(n), int(m)) -> Intinf =
"mac#"
extern
fun double_factorial_ats {n:nat} : int(n) -> Intinf =
"mac#"
extern
fun factorial_ats {n:nat} : int(n) -> Intinf =
"mac#"
extern
fun catalan_ats {n:nat} : int(n) -> Intinf =
"mac#"
implement choose_ats (n, k) =
choose(n, k)
implement permutations_ats (n, k) =
choose(n, k)
implement double_factorial_ats (m) =
dfact(m)
implement factorial_ats (m) =
fact(m)
implement catalan_ats (n) =
catalan(n)