#include <stdio.h>#include <math.h>#include <ctype.h>
Go to the source code of this file.
Functions | |
| void | rotate_i2 (unsigned short *, int) |
| void | rotate_ch (unsigned char *, int) |
| void | rotate_i4 (unsigned int *, int) |
| void | rotate_i4_anti (unsigned int *, int) |
| void | rotate_i2_anti (unsigned short *, int) |
| void | rotate_ch_anti (unsigned char *, int) |
| void | wtext (int, char *) |
| void rotate_ch | ( | unsigned char * | data, |
| int | nx | ||
| ) |
Definition at line 264 of file misc.c.
{
register unsigned char *ptr1, *ptr2, *ptr3, *ptr4, temp;
register int i, j;
int nx2 = (nx+1)/2;
for ( i=nx/2; i--; ) {
/* Set pointer addresses */
j = nx2 - 1;
ptr1 = data + nx*i + j; /* 1. Quadrant */
ptr2 = data + nx*j + nx-1-i; /* 2. Quadrant */
ptr3 = data + nx*(nx-1-i) + nx-1-j; /* 4. Quadrant */
ptr4 = data + nx*(nx-1-j) + i; /* 3. Quadrant */
for ( j = nx2; j--; ) {
/* Restack: clockwise rotation by 90.0 */
temp = *ptr4;
*ptr4 = *ptr3;
*ptr3 = *ptr2;
*ptr2 = *ptr1;
*ptr1 = temp;
/* Increase pointer */
ptr1 --;
ptr2 -= nx;
ptr3 ++;
ptr4 += nx;
}
}
}
| void rotate_ch_anti | ( | unsigned char * | data, |
| int | nx | ||
| ) |
Definition at line 132 of file misc.c.
{
register unsigned char *ptr1, *ptr2, *ptr3, *ptr4, temp;
register int i, j;
int nx2 = (nx+1)/2;
for ( i=nx/2; i--; ) {
/* Set pointer addresses */
j = nx2 - 1;
ptr1 = data + nx*i + j; /* 1. Quadrant */
ptr2 = data + nx*j + nx-1-i; /* 2. Quadrant */
ptr3 = data + nx*(nx-1-i) + nx-1-j; /* 4. Quadrant */
ptr4 = data + nx*(nx-1-j) + i; /* 3. Quadrant */
for ( j = nx2; j--; ) {
/* Restack: anticlockwise rotation by 90.0 */
temp = *ptr1;
*ptr1 = *ptr2;
*ptr2 = *ptr3;
*ptr3 = *ptr4;
*ptr4 = temp;
/* Increase pointer */
ptr1 --;
ptr2 -= nx;
ptr3 ++;
ptr4 += nx;
}
}
}
| void rotate_i2 | ( | unsigned short * | data, |
| int | nx | ||
| ) |
Definition at line 220 of file misc.c.
{
register unsigned short *ptr1, *ptr2, *ptr3, *ptr4, temp;
register int i, j;
int nx2 = (nx+1)/2;
for ( i=nx/2; i--; ) {
/* Set pointer addresses */
j = nx2 - 1;
ptr1 = data + nx*i + j; /* 1. Quadrant */
ptr2 = data + nx*j + nx-1-i; /* 2. Quadrant */
ptr3 = data + nx*(nx-1-i) + nx-1-j; /* 4. Quadrant */
ptr4 = data + nx*(nx-1-j) + i; /* 3. Quadrant */
for ( j = nx2; j--; ) {
/* Restack: clockwise rotation by 90.0 */
temp = *ptr4;
*ptr4 = *ptr3;
*ptr3 = *ptr2;
*ptr2 = *ptr1;
*ptr1 = temp;
/* Increase pointer */
ptr1 --;
ptr2 -= nx;
ptr3 ++;
ptr4 += nx;
}
}
}
| void rotate_i2_anti | ( | unsigned short * | data, |
| int | nx | ||
| ) |
Definition at line 88 of file misc.c.
{
register unsigned short *ptr1, *ptr2, *ptr3, *ptr4, temp;
register int i, j;
int nx2 = (nx+1)/2;
for ( i=nx/2; i--; ) {
/* Set pointer addresses */
j = nx2 - 1;
ptr1 = data + nx*i + j; /* 1. Quadrant */
ptr2 = data + nx*j + nx-1-i; /* 2. Quadrant */
ptr3 = data + nx*(nx-1-i) + nx-1-j; /* 4. Quadrant */
ptr4 = data + nx*(nx-1-j) + i; /* 3. Quadrant */
for ( j = nx2; j--; ) {
/* Restack: anticlockwise rotation by 90.0 */
temp = *ptr1;
*ptr1 = *ptr2;
*ptr2 = *ptr3;
*ptr3 = *ptr4;
*ptr4 = temp;
/* Increase pointer */
ptr1 --;
ptr2 -= nx;
ptr3 ++;
ptr4 += nx;
}
}
}
| void rotate_i4 | ( | unsigned int * | data, |
| int | nx | ||
| ) |
Definition at line 176 of file misc.c.
Referenced by MarXF::output_image().
{
register unsigned int *ptr1, *ptr2, *ptr3, *ptr4, temp;
register int i, j;
int nx2 = (nx+1)/2;
for ( i=nx/2; i--; ) {
/* Set pointer addresses */
j = nx2 - 1;
ptr1 = data + nx*i + j; /* 1. Quadrant */
ptr2 = data + nx*j + nx-1-i; /* 2. Quadrant */
ptr3 = data + nx*(nx-1-i) + nx-1-j; /* 4. Quadrant */
ptr4 = data + nx*(nx-1-j) + i; /* 3. Quadrant */
for ( j = nx2; j--; ) {
/* Restack: clockwise rotation by 90.0 */
temp = *ptr4;
*ptr4 = *ptr3;
*ptr3 = *ptr2;
*ptr2 = *ptr1;
*ptr1 = temp;
/* Increase pointer */
ptr1 --;
ptr2 -= nx;
ptr3 ++;
ptr4 += nx;
}
}
}
| void rotate_i4_anti | ( | unsigned int * | data, |
| int | nx | ||
| ) |
Definition at line 44 of file misc.c.
Referenced by MarXF::output_image().
{
register unsigned int *ptr1, *ptr2, *ptr3, *ptr4, temp;
register int i, j;
int nx2 = (nx+1)/2;
for ( i=nx/2; i--; ) {
/* Set pointer addresses */
j = nx2 - 1;
ptr1 = data + nx*i + j; /* 1. Quadrant */
ptr2 = data + nx*j + nx-1-i; /* 2. Quadrant */
ptr3 = data + nx*(nx-1-i) + nx-1-j; /* 4. Quadrant */
ptr4 = data + nx*(nx-1-j) + i; /* 3. Quadrant */
for ( j = nx2; j--; ) {
/* Restack: anticlockwise rotation by 90.0 */
temp = *ptr1;
*ptr1 = *ptr2;
*ptr2 = *ptr3;
*ptr3 = *ptr4;
*ptr4 = temp;
/* Increase pointer */
ptr1 --;
ptr2 -= nx;
ptr3 ++;
ptr4 += nx;
}
}
}
1.7.3