#include // #include // #include // #include extern float pslamch_(const int *, const char *); extern void blacs_pinfo_(int *, int *); extern void blacs_get_(const int *, const int *, int *); extern void blacs_gridinit_(int *, const char *, const int *, const int *); extern void blacs_gridinfo_(const int *, int *, int *, int *, int *); extern void blacs_gridexit_(const int *); extern void blacs_exit_(const int *); int main(void){ int myid, nprocs, ictxt, mycol, myrow, npcol=2, nprow=2; const int i0=0, i1=1, in1=-1; blacs_pinfo_(&myid, &nprocs); blacs_get_(&in1, &i0, &ictxt); blacs_gridinit_(&ictxt, "C", &nprocs, &i1); blacs_gridinfo_(&ictxt, &nprow, &npcol, &myrow, &mycol); float eps = pslamch_(&ictxt, "E"); if (myrow == mycol) printf("OK: Scalapack C: eps= %f\n", eps); blacs_gridexit_(&ictxt); blacs_exit_(&i0); return 0; }