polylib 5.22.8
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 void Vector_Free(Vector *vector);
19extern void Vector_Print(FILE *Dst, const char *Format, Vector *Vec);
20extern Vector *Vector_Read(void);
21extern void Vector_Set(Value *p, int n, unsigned length);
22extern void Vector_Exchange(Value *p1, Value *p2, unsigned length);
23extern void Vector_Copy(Value *p1, Value *p2, unsigned length);
24extern void Vector_Add(Value *p1, Value *p2, Value *p3, unsigned length);
25extern void Vector_Sub(Value *p1, Value *p2, Value *p3, unsigned length);
26extern void Vector_Or(Value *p1, Value *p2, Value *p3, unsigned length);
27extern void Vector_Scale(Value *p1, Value *p2, Value lambda, unsigned length);
28extern void Vector_AntiScale(Value *p1, Value *p2, Value lambda,
29 unsigned length);
30extern void Vector_Oppose(Value *p1, Value *p2, unsigned length);
31extern void Inner_Product(Value *p1, Value *p2, unsigned length, Value *result);
32extern void Vector_Max(Value *p, unsigned length, Value *result);
33extern void Vector_Min(Value *p, unsigned length, Value *result);
34extern void Vector_Combine(Value *p1, Value *p2, Value *p3, Value lambda,
35 Value mu, unsigned length);
36extern int Vector_Equal(Value *Vec1, Value *Vec2, unsigned n);
37extern void Vector_Min_Not_Zero(Value *p, unsigned length, int *index,
38 Value *result);
39extern void Vector_Gcd(Value *p, unsigned length, Value *result);
40extern void Vector_Map(Value *p1, Value *p2, Value *p3, unsigned length,
41 Value *(*f)(Value, Value));
42extern void Vector_Normalize(Value *p, unsigned length);
43extern void Vector_Normalize_Positive(Value *p, int length, int pos);
44extern void Vector_Reduce(Value *p, unsigned length, void (*f)(Value, Value *),
45 Value *result);
46extern void Vector_Sort(Value *vector, unsigned n);
47extern int Vector_IsZero(Value *v, unsigned length);
48extern void free_value_cache(void);
49
50#if defined(__cplusplus)
51}
52#endif
53
54#endif /* _vector_H_ */
static int n
Definition: polyparam.c:276
Definition: types.h:70
void Vector_Oppose(Value *p1, Value *p2, unsigned length)
Definition: vector.c:366
void Vector_Reduce(Value *p, unsigned length, void(*f)(Value, Value *), Value *result)
Definition: vector.c:591
Value * value_alloc(int want, int *got)
Definition: vector.c:781
void Vector_Free(Vector *vector)
Definition: vector.c:162
void Inner_Product(Value *p1, Value *p2, unsigned length, Value *result)
Definition: vector.c:376
void Vector_Scale(Value *p1, Value *p2, Value lambda, unsigned length)
Definition: vector.c:336
void Vector_Print(FILE *Dst, const char *Format, Vector *Vec)
Definition: vector.c:177
void Factorial(int n, Value *result)
Definition: vector.c:25
void Vector_Set(Value *p, int n, unsigned length)
Definition: vector.c:227
int Vector_Equal(Value *Vec1, Value *Vec2, unsigned n)
Definition: vector.c:443
void value_free(Value *p, int size)
Definition: vector.c:827
void Vector_Normalize_Positive(Value *p, int length, int pos)
Definition: vector.c:574
void Gcd(Value a, Value b, Value *result)
Definition: vector.c:99
void Vector_Combine(Value *p1, Value *p2, Value *p3, Value lambda, Value mu, unsigned length)
Definition: vector.c:425
Vector * Vector_Read(void)
Definition: vector.c:197
int Vector_IsZero(Value *v, unsigned length)
Definition: vector.c:724
void Vector_Min_Not_Zero(Value *p, unsigned length, int *index, Value *result)
Definition: vector.c:458
void Vector_Gcd(Value *p, unsigned length, Value *result)
Definition: vector.c:485
void Vector_Max(Value *p, unsigned length, Value *result)
Definition: vector.c:390
void Vector_Min(Value *p, unsigned length, Value *result)
Definition: vector.c:407
void Vector_Exchange(Value *p1, Value *p2, unsigned length)
Definition: vector.c:243
void Vector_AntiScale(Value *p1, Value *p2, Value lambda, unsigned length)
Definition: vector.c:356
void Vector_Add(Value *p1, Value *p2, Value *p3, unsigned length)
Definition: vector.c:273
void Vector_Sub(Value *p1, Value *p2, Value *p3, unsigned length)
Definition: vector.c:294
void Vector_Normalize(Value *p, unsigned length)
Definition: vector.c:555
void Vector_Sort(Value *vector, unsigned n)
Definition: vector.c:608
Vector * Vector_Alloc(unsigned length)
Definition: vector.c:137
int ConstraintSimplify(Value *old, Value *n, int len, Value *v)
Definition: vector.c:708
void Vector_Copy(Value *p1, Value *p2, unsigned length)
Definition: vector.c:256
int First_Non_Zero(Value *p, unsigned length)
Definition: vector.c:120
void Vector_Map(Value *p1, Value *p2, Value *p3, unsigned length, Value *(*f)(Value, Value))
Definition: vector.c:533
void free_value_cache(void)
Definition: vector.c:853
void CNP(int a, int b, Value *result)
Definition: vector.c:72
void Binomial(int n, int p, Value *result)
Definition: vector.c:43
void Vector_Or(Value *p1, Value *p2, Value *p3, unsigned length)
Definition: vector.c:315