/*
* call-seq:
* dtable.rotate_cw90 -> a_dtable
*
* Returns a copy of _dtable_ rotated 90 degrees clockwise.
*/ VALUE dtable_rotate_cw90(VALUE ary)
{
Dtable *d = Get_Dtable(ary);
int i, j, num_cols = d->num_cols, num_rows = d->num_rows, last_row = num_rows - 1;
VALUE new = dtable_init(dtable_alloc(cDtable), num_rows, num_cols);
Dtable *d2 = Get_Dtable(new);
double **src, **dest;
src = d->ptr; dest = d2->ptr;
for (i = 0; i < num_rows; i++) {
for (j = 0; j < num_cols; j++) {
dest[j][last_row-i] = src[i][j];
}
}
return new;
}