useDynLib(flint, .registration = TRUE)
importFrom(methods, Complex, Math, Math2, Ops, Summary, as, coerce,
           getClassDef, initialize, new, selectMethod, setAs, setClass,
           setMethod, show)
importFrom(stats, quantile, runif)
exportClasses(flint, ulong, slong, fmpz, fmpq, mag, arf, acf, arb, acb)
exportMethods(Num, "Num<-", Den, "Den<-", Mid, "Mid<-", Rad, "Rad<-",
              Real, "Real<-", Imag, "Imag<-")
exportMethods("!", "+", "-", "[", "[<-", "[[", "[[<-", all.equal,
              anyDuplicated, anyNA, as.raw, as.logical, as.integer,
              as.numeric, as.complex, as.vector, as.matrix, as.array,
              as.data.frame, as.Date, as.POSIXct, as.POSIXlt, c, cut,
              duplicated, findInterval, format, is.finite, is.infinite,
              is.na, "is.na<-", is.nan, is.unsorted, length, "length<-",
              log, match, mean, mtfrm, names, "names<-", print, rep,
              rep.int, rep_len, seq, sequence, summary, unique, xtfrm)
exportMethods(Complex, Math, Math2, Ops, Summary, coerce, initialize,
              show)
exportMethods(quantile)
export(.ulong, .slong, .fmpz, .fmpq, .mag, .arf, .acf, .arb, .acb)
export(c.flint,
       flintABI,
       flintIdentical,
       flintLength,
       flintPrec,
       flintRnd,
       flintSize,
       flintTriple,
       flintVersion,
       arb_const_pi,
       arb_const_log2,
       arb_const_log10,
       arb_const_e,
       arb_lambertw,
       acb_lambertw,
       arb_dirichlet_zeta,
       acb_dirichlet_zeta,
       arb_dirichlet_hurwitz,
       acb_dirichlet_hurwitz,
       acb_dirichlet_lerch_phi,
       arb_hypgeom_gamma,
       acb_hypgeom_gamma,
       arb_hypgeom_rgamma,
       acb_hypgeom_rgamma,
       arb_hypgeom_lgamma,
       acb_hypgeom_lgamma,
       acb_hypgeom_polygamma,
       arb_hypgeom_gamma_lower,
       acb_hypgeom_gamma_lower,
       arb_hypgeom_gamma_upper,
       acb_hypgeom_gamma_upper,
       arb_hypgeom_beta,
       acb_hypgeom_beta,
       arb_hypgeom_beta_lower,
       acb_hypgeom_beta_lower,
       arb_hypgeom_2f1,
       acb_hypgeom_2f1)
S3method(all.equal, flint, .S3.all.equal.flint)
S3method(anyDuplicated, flint, .S3.anyDuplicated.flint)
S3method(as.matrix, flint, .S3.as.matrix.flint)
S3method(as.array, flint, .S3.as.array.flint)
S3method(as.Date, flint, .S3.as.Date.flint)
S3method(as.POSIXct, flint, .S3.as.POSIXct.flint)
S3method(as.POSIXlt, flint, .S3.as.POSIXlt.flint)
S3method(as.data.frame, flint, .S3.as.data.frame.flint)
S3method(c, flint)
S3method(duplicated, flint, .S3.duplicated.flint)
S3method(format, flint, .S3.format.flint)
S3method("is.na<-", flint, ".S3.is.na<-.flint")
S3method(is.unsorted, flint, .S3.is.unsorted.flint)
S3method(mean, flint, .S3.mean.flint)
S3method(mtfrm, flint, .S3.mtfrm.flint)
S3method(print, flint, .S3.print.flint)
S3method(quantile, flint, .S3.quantile.flint)
S3method(rep.int, flint, .S3.rep.int.flint)
S3method(rep_len, flint, .S3.rep_len.flint)
S3method(seq, flint, .S3.seq.flint)
S3method(sequence, flint, .S3.sequence.flint)
S3method(summary, flint, .S3.summary.flint)
S3method(unique, flint, .S3.unique.flint)
