// transpose
#include <iostream>
using namespace std;
#include „prob-16-kern.h”
#include „prob-16-bope.h”
#define ROWBASE 3
#define COLBASE 12
extern int currentpoint;
int sizeofpoint = 20; // total point data size
int pointdata; // point variable (4 bytes)
int r; // point variable (4 bytes)
int c; // point variable (4 bytes)
int k;
int a;
int main()
{
int A;
tx(1); tx(2); tx(4); tx(8);
a = 0;
if (currentpoint == (currentpoint & COLBASE)) a = 1; // first matrix column = 1
for (k = 1; k <= 2; k = k + 1)
{
A = a;
t(gtrans(ROWBASE)); // gray transfer in rows
a = a + A;
}
cout << ” currentpoint ” << currentpoint << ” a = ” << a << ” \n „;
A = a;
r = fgoss(ROWBASE);
c = fgoss(COLBASE);
while (r)
{
t(gtrans(r | c));
t(r);
r = ngoss(r, ROWBASE);
c = ngoss(c, COLBASE);
}
cout << ” currentpoint ” << currentpoint << ” A = ” << A << ” \n „;
o();
}