Main Page   Compound List   File List   Compound Members   File Members  

bigintegerR.cc File Reference

C function to interface R and libgmp with big integer values. More...

#include <math.h>
#include <gmp.h>
#include <R.h>
#include <Rdefines.h>
#include "biginteger.h"
#include <stdio.h>
#include <vector>
#include <algorithm>

Namespaces

namespace  std

Compounds

struct  mpz_t_sentry

Functions

SEXP biginteger_add (SEXP a, SEXP b)
 Addition of a and b.

SEXP biginteger_sub (SEXP a, SEXP b)
 Subtraction of a and b.

SEXP biginteger_mul (SEXP a, SEXP b)
 Multiplication of a and b.

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

SEXP biginteger_mod (SEXP a, SEXP b)
 Modulus of a % b.

SEXP biginteger_pow (SEXP a, SEXP b)
 Power of base a to exponent b.

SEXP biginteger_inv (SEXP a, SEXP b)
 Inverse from a mod b.

SEXP biginteger_gcd (SEXP a, SEXP b)
 Greatest common divisor of a and b.

SEXP biginteger_lcm (SEXP a, SEXP b)
 Least common multiply of a and b.

SEXP biginteger_setmod (SEXP a, SEXP b)
 Sets the intern modulus of a to b.

SEXP biginteger_get_at (SEXP a, SEXP b)
 Return from vector a all elements specified in vector b.

SEXP biginteger_set_at (SEXP src, SEXP idx, SEXP value)
 Return a vector with the values from src specified by idx to sequentiell values from "value".

SEXP biginteger_as (SEXP a, SEXP mod)
 Convert from an long value or a string into biginteger.

SEXP biginteger_as_character (SEXP a)
 Convert from a biginteger vector to a character string vector.

SEXP biginteger_as_numeric (SEXP a)
 Convert from a biginteger vector to a real vector.

SEXP biginteger_length (SEXP a)
 Return the length of the vector.

SEXP biginteger_setlength (SEXP vec, SEXP value)
 Returns a resized vector cut at end or filled with NA.

SEXP biginteger_is_na (SEXP a)
 Return whether the parameter is NA.

SEXP biginteger_lt (SEXP a, SEXP b)
 Return whether a < b.

SEXP biginteger_gt (SEXP a, SEXP b)
 Return whether a > b.

SEXP biginteger_lte (SEXP a, SEXP b)
 Return whether a <= b.

SEXP biginteger_gte (SEXP a, SEXP b)
 Return whether a >= b.

SEXP biginteger_eq (SEXP a, SEXP b)
 Return whether a == b.

SEXP biginteger_neq (SEXP a, SEXP b)
 Return whether a != b.

SEXP biginteger_c (SEXP args)
 For function c().

SEXP biginteger_rep (SEXP x, SEXP times)
 Create vector as n times x.

SEXP biginteger_is_prime (SEXP a, SEXP reps)
 Return if a is prime with a proba test.

SEXP biginteger_nextprime (SEXP a)
 Return next prime with a proba test.

SEXP biginteger_gcdex (SEXP a, SEXP b)
 Return bezoult coefficients.

SEXP biginteger_rand_u (SEXP nb,SEXP length, SEXP newseed, SEXP ok)
 Random number generation.

SEXP biginteger_sizeinbase (SEXP x, SEXP exp)
 Give size of integer.

SEXP fibnum (SEXP n)
 Compute Fibonacci number.

SEXP fibnum2 (SEXP n)
 Compute Fibonacci number.

SEXP lucnum (SEXP n)
 Compute lucas number.

SEXP lucnum2 (SEXP n)
 Compute lucas number.


Detailed Description

C function to interface R and libgmp with big integer values.

Version:
1
Date:
Created: 27/10/04
Last modified: Time-stamp: <2004-11-27 18:35:46 antoine>
Author:
Immanuel Scholz (help from A. Lucas)
Note:
Licence: GPL

Function Documentation

SEXP biginteger_as SEXP    a,
SEXP    mod
 

Convert from an long value or a string into biginteger.

If you want a modulus-set-bigint, just use as.biginteger(value, modulus)

SEXP biginteger_gcdex SEXP    a,
SEXP    b
 

Return bezoult coefficients.

Parameters:
a  BigInteger
b  BigInteger

SEXP biginteger_rand_u SEXP    nb,
SEXP    length,
SEXP    newseed,
SEXP    ok
 

Random number generation.

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

SEXP biginteger_sizeinbase SEXP    x,
SEXP    base
 

Give size of integer.

Parameters:
x  BigInteger
base  BigInteger

SEXP fibnum SEXP    n
 

Compute Fibonacci number.

Parameters:
n  integer

SEXP fibnum2 SEXP    n
 

Compute Fibonacci number.

Parameters:
n  integer

SEXP lucnum SEXP    n
 

Compute lucas number.

Parameters:
n  integer

SEXP lucnum2 SEXP    n
 

Compute lucas number.

Parameters:
n  integer


Generated on Sat Nov 27 18:46:53 2004 for GMP-RCdocumentation by doxygen1.2.18