GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
#include"typedef.h"1#include "gmp.h"2/* #include "gmp-impl.h" */34/**************************************************************************\5@---------------------------------------------------------------------------6@---------------------------------------------------------------------------7@ FILE: MP_red_sort.c8@---------------------------------------------------------------------------9@---------------------------------------------------------------------------10@11\**************************************************************************/121314/**************************************************************************\15@---------------------------------------------------------------------------16@ void MP_reduction_sort(G,T,n)17@ MP_INT **G, **T;18@ int n;19@20@ The same as 'red_sort' in directory 'Reduction' for MP_INT** insted21@ of matrix_TYP*22@---------------------------------------------------------------------------23@24\**************************************************************************/25void MP_reduction_sort(G,T,n)26MP_INT **G, **T;27int n;28{29int i,j,k;30int minpos;31MP_INT min, *tmp, merk;3233mpz_init(&min);34mpz_init(&merk);3536for(i=0;i<n;i++)37{38mpz_set(&min, &G[i][i]);39minpos = i;40for(j=i+1;j<n;j++)41{42if(mpz_cmp(&G[j][j], &min)<0)43{ mpz_set(&min, &G[j][j]); minpos = j;}44}45if(minpos != i)46{47tmp = G[i]; G[i] = G[minpos]; G[minpos] = tmp;48tmp = T[i]; T[i] = T[minpos]; T[minpos] = tmp;49for(j=0;j<n;j++)50{51mpz_set(&merk, &G[j][i]);52mpz_set(&G[j][i], &G[j][minpos]);53mpz_set(&G[j][minpos], &merk);54}55}56}57mpz_clear(&merk);58mpz_clear(&min);59}606162