polylib 7.01
vector.h
Go to the documentation of this file.
1#ifndef _vector_H_
2#define _vector_H_
3
4#if defined(__cplusplus)
5extern "C" {
6#endif
7
8int ConstraintSimplify(Value *old, Value *n, int len, Value *v);
9Value *value_alloc(int want, int *got);
10void value_free(Value *p, int size);
11
12extern void Factorial(int n, Value *result);
13extern void Binomial(int n, int p, Value *result);
14extern void CNP(int a, int b, Value *result);
15extern void Gcd(Value a, Value b, Value *result);
16extern int First_Non_Zero(Value *p, unsigned length);
17extern Vector *Vector_Alloc(unsigned length);
18extern Vector* Vector_Realloc(Vector* V, unsigned newlength);
19extern void Vector_Free(Vector *vector);
20extern void Vector_Print(FILE *Dst, const char *Format, Vector *Vec);
21extern Vector *Vector_Read(void);
22extern void Vector_Set(Value *p, int n, unsigned length);
23extern void Vector_Exchange(Value *p1, Value *p2, unsigned length);
24extern void Vector_Copy(Value *p1, Value *p2, unsigned length);
25extern void Vector_Add(Value *p1, Value *p2, Value *p3, unsigned length);
26extern void Vector_Sub(Value *p1, Value *p2, Value *p3, unsigned length);
27extern void Vector_Or(Value *p1, Value *p2, Value *p3, unsigned length);
28extern void Vector_Scale(Value *p1, Value *p2, Value lambda, unsigned length);
29extern void Vector_AntiScale(Value *p1, Value *p2, Value lambda,
30 unsigned length);
31extern void Vector_Oppose(Value *p1, Value *p2, unsigned length);
32extern void Inner_Product(Value *p1, Value *p2, unsigned length, Value *result);
33extern void Vector_Max(Value *p, unsigned length, Value *result);
34extern void Vector_Min(Value *p, unsigned length, Value *result);
35extern void Vector_Combine(Value *p1, Value *p2, Value *p3, Value lambda,
36 Value mu, unsigned length);
37extern int Vector_Equal(Value *Vec1, Value *Vec2, unsigned n);
38extern void Vector_Min_Not_Zero(Value *p, unsigned length, int *index,
39 Value *result);
40extern void Vector_Gcd(Value *p, unsigned length, Value *result);
41extern void Vector_Map(Value *p1, Value *p2, Value *p3, unsigned length,
42 Value *(*f)(Value, Value));
43extern void Vector_Normalize(Value *p, unsigned length);
44extern void Vector_Normalize_Positive(Value *p, int length, int pos);
45extern void Vector_Reduce(Value *p, unsigned length, void (*f)(Value, Value *),
46 Value *result);
47extern void Vector_Sort(Value *vector, unsigned n);
48extern int Vector_IsZero(Value *v, unsigned length);
49extern void free_value_cache(void);
50
51#if defined(__cplusplus)
52}
53#endif
54
55#endif /* _vector_H_ */
int Value
Definition: arithmetique.h:294
static int n
Definition: polyparam.c:278
Definition: types.h:82
void Vector_Oppose(Value *p1, Value *p2, unsigned length)
Definition: vector.c:392
void Vector_Reduce(Value *p, unsigned length, void(*f)(Value, Value *), Value *result)
Definition: vector.c:625
Value * value_alloc(int want, int *got)
Definition: vector.c:826
void Vector_Free(Vector *vector)
Definition: vector.c:187
void Inner_Product(Value *p1, Value *p2, unsigned length, Value *result)
Definition: vector.c:403
void Vector_Scale(Value *p1, Value *p2, Value lambda, unsigned length)
Definition: vector.c:360
void Vector_Print(FILE *Dst, const char *Format, Vector *Vec)
Definition: vector.c:198
void Factorial(int n, Value *result)
Definition: vector.c:22
void Vector_Set(Value *p, int n, unsigned length)
Definition: vector.c:248
int Vector_Equal(Value *Vec1, Value *Vec2, unsigned n)
Definition: vector.c:474
void value_free(Value *p, int size)
Definition: vector.c:875
void Vector_Normalize_Positive(Value *p, int length, int pos)
Definition: vector.c:607
void Gcd(Value a, Value b, Value *result)
Definition: vector.c:96
void Vector_Combine(Value *p1, Value *p2, Value *p3, Value lambda, Value mu, unsigned length)
Definition: vector.c:455
Vector * Vector_Read(void)
Definition: vector.c:218
int Vector_IsZero(Value *v, unsigned length)
Definition: vector.c:763
void Vector_Min_Not_Zero(Value *p, unsigned length, int *index, Value *result)
Definition: vector.c:491
void Vector_Gcd(Value *p, unsigned length, Value *result)
Definition: vector.c:518
void Vector_Max(Value *p, unsigned length, Value *result)
Definition: vector.c:418
void Vector_Min(Value *p, unsigned length, Value *result)
Definition: vector.c:436
void Vector_Exchange(Value *p1, Value *p2, unsigned length)
Definition: vector.c:263
void Vector_AntiScale(Value *p1, Value *p2, Value lambda, unsigned length)
Definition: vector.c:381
void Vector_Add(Value *p1, Value *p2, Value *p3, unsigned length)
Definition: vector.c:294
void Vector_Sub(Value *p1, Value *p2, Value *p3, unsigned length)
Definition: vector.c:316
void Vector_Normalize(Value *p, unsigned length)
Definition: vector.c:588
void Vector_Sort(Value *vector, unsigned n)
Definition: vector.c:643
Vector * Vector_Alloc(unsigned length)
Definition: vector.c:134
int ConstraintSimplify(Value *old, Value *n, int len, Value *v)
Definition: vector.c:743
void Vector_Copy(Value *p1, Value *p2, unsigned length)
Definition: vector.c:276
int First_Non_Zero(Value *p, unsigned length)
Definition: vector.c:117
void Vector_Map(Value *p1, Value *p2, Value *p3, unsigned length, Value *(*f)(Value, Value))
Definition: vector.c:567
void free_value_cache(void)
Definition: vector.c:901
void CNP(int a, int b, Value *result)
Definition: vector.c:69
void Binomial(int n, int p, Value *result)
Definition: vector.c:40
Vector * Vector_Realloc(Vector *V, unsigned newlength)
Definition: vector.c:160
void Vector_Or(Value *p1, Value *p2, Value *p3, unsigned length)
Definition: vector.c:338