Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download

GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it

563603 views
1
#include"typedef.h"
2
#include "gmp.h"
3
/* #include "gmp-impl.h" */
4
5
/**************************************************************************\
6
@---------------------------------------------------------------------------
7
@---------------------------------------------------------------------------
8
@ FILE: MP_red_sort.c
9
@---------------------------------------------------------------------------
10
@---------------------------------------------------------------------------
11
@
12
\**************************************************************************/
13
14
15
/**************************************************************************\
16
@---------------------------------------------------------------------------
17
@ void MP_reduction_sort(G,T,n)
18
@ MP_INT **G, **T;
19
@ int n;
20
@
21
@ The same as 'red_sort' in directory 'Reduction' for MP_INT** insted
22
@ of matrix_TYP*
23
@---------------------------------------------------------------------------
24
@
25
\**************************************************************************/
26
void MP_reduction_sort(G,T,n)
27
MP_INT **G, **T;
28
int n;
29
{
30
int i,j,k;
31
int minpos;
32
MP_INT min, *tmp, merk;
33
34
mpz_init(&min);
35
mpz_init(&merk);
36
37
for(i=0;i<n;i++)
38
{
39
mpz_set(&min, &G[i][i]);
40
minpos = i;
41
for(j=i+1;j<n;j++)
42
{
43
if(mpz_cmp(&G[j][j], &min)<0)
44
{ mpz_set(&min, &G[j][j]); minpos = j;}
45
}
46
if(minpos != i)
47
{
48
tmp = G[i]; G[i] = G[minpos]; G[minpos] = tmp;
49
tmp = T[i]; T[i] = T[minpos]; T[minpos] = tmp;
50
for(j=0;j<n;j++)
51
{
52
mpz_set(&merk, &G[j][i]);
53
mpz_set(&G[j][i], &G[j][minpos]);
54
mpz_set(&G[j][minpos], &merk);
55
}
56
}
57
}
58
mpz_clear(&merk);
59
mpz_clear(&min);
60
}
61
62