Main Page | File List | File Members

gmpR.c File Reference

C function to interface R and libgmp. More...

#include <stdlib.h>
#include <math.h>
#include <gmp.h>
#include <R.h>
#include <Rdefines.h>

Functions

 isprime (char **nbrein, int *val, int *reps)
 Check if nbrein is prime, Use mpz_probab_prime_p from libgmp return 2 if prime, 0 if not, 1 if don't know.

int gmp_div (char **a, char **b, double *res)
 division as a double. res = (doulbe) a / b

SEXP nextprime (SEXP nbrein, SEXP nbreout)
 Give next prime number.

SEXP gmp_add (SEXP a, SEXP b)
 Addition of a & b.

SEXP gmp_sub (SEXP a, SEXP b)
 Substraction of a & b.

SEXP gmp_mul (SEXP a, SEXP b)
 Multiplication of a & b.

SEXP gmp_fdivq (SEXP a, SEXP b)
 Quotient of a / b.

SEXP gmp_fdivr (SEXP a, SEXP b)
 Reminder of a / b (a = bq +r).

SEXP gmp_gcd (SEXP a, SEXP b)
 Great common divisor of a & b.

SEXP gmp_lcm (SEXP a, SEXP b)
 Lower common multiple of a & b.

SEXP gmp_invert (SEXP a, SEXP b)
 Invert of a in [b/bZ].

SEXP gmp_powm (SEXP a, SEXP exp, SEXP m)
 Power of a ^ exp [m].

SEXP gmp_pow (SEXP a, SEXP exp)
 Power of a ^ exp.

SEXP gmp_gcdex (SEXP a, SEXP b)
 Bezoult coefficients: compute g,s and t as as + bt = g.

SEXP gmp_rand_u (SEXP length, SEXP newseed, SEXP ok)
 Random number generation.


Variables

gmp_randstate_t seed_state
int seed_init = 0


Detailed Description

C function to interface R and libgmp.

Version:
1
Date:
26/09/04

Last modified: Time-stamp: <2004-09-27 16:21:42 lucas>

Author:
A. Lucas
Note:
Licence: CeCIll

Function Documentation

SEXP gmp_add SEXP  a,
SEXP  b
 

Addition of a & b.

Parameters:
a Integer
b Integer

int gmp_div char **  a,
char **  b,
double *  res
 

division as a double. res = (doulbe) a / b

Parameters:
a Integer
b Integer
res Result: a/b

SEXP gmp_fdivq SEXP  a,
SEXP  b
 

Quotient of a / b.

Parameters:
a Integer
b Integer

SEXP gmp_fdivr SEXP  a,
SEXP  b
 

Reminder of a / b (a = bq +r).

Parameters:
a Integer
b Integer

SEXP gmp_gcd SEXP  a,
SEXP  b
 

Great common divisor of a & b.

Parameters:
a Integer
b Integer

SEXP gmp_gcdex SEXP  a,
SEXP  b
 

Bezoult coefficients: compute g,s and t as as + bt = g.

Parameters:
a Integer
b Integer

SEXP gmp_invert SEXP  a,
SEXP  b
 

Invert of a in [b/bZ].

Parameters:
a Integer
b Integer

SEXP gmp_lcm SEXP  a,
SEXP  b
 

Lower common multiple of a & b.

Parameters:
a Integer
b Integer

SEXP gmp_mul SEXP  a,
SEXP  b
 

Multiplication of a & b.

Parameters:
a Integer
b Integer

SEXP gmp_pow SEXP  a,
SEXP  exp
 

Power of a ^ exp.

Parameters:
a Integer
exp Integer

SEXP gmp_powm SEXP  a,
SEXP  exp,
SEXP  m
 

Power of a ^ exp [m].

Parameters:
a Integer
exp Integer
m Integer

SEXP gmp_rand_u SEXP  length,
SEXP  newseed,
SEXP  ok
 

Random number generation.

Note:
If seed is not initialised: generation of a new seed
Parameters:
length Integer number will be of length 2^length
newseed Integer, seed initialisation (if exists)
ok Integer 1: seed generation 0 not

SEXP gmp_sub SEXP  a,
SEXP  b
 

Substraction of a & b.

Parameters:
a Integer
b Integer

isprime char **  nbrein,
int *  val,
int *  reps
 

Check if nbrein is prime, Use mpz_probab_prime_p from libgmp return 2 if prime, 0 if not, 1 if don't know.

Parameters:
nbrein Integer to check (as a character)
val Return value (0,1,2)
reps Number of repeat

SEXP nextprime SEXP  nbrein,
SEXP  nbreout
 

Give next prime number.

Parameters:
nbrein Number input
nbreout Prime number (out)


Variable Documentation

int seed_init = 0
 

gmp_randstate_t seed_state
 


Generated on Mon Sep 27 16:25:23 2004 for C functions for R Gmp package by doxygen 1.3.5