blob: 501e6af37cf08a19197126f521164b89e9ddbb4d [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-Ofast" } */
typedef struct {
double x, y;
} PointInfo;
typedef struct {
PointInfo point;
} PrimitiveInfo;
int TraceBezier_alpha, TraceBezier_i;
double TraceBezier_weight;
PointInfo *TraceBezier_points;
PrimitiveInfo *TraceBezier_primitive_info;
void TracePath() {
double *coefficients;
PointInfo point;
long j;
for (; TraceBezier_i; TraceBezier_i++) {
point.x = point.y = TraceBezier_alpha = 1.0;
j = 0;
for (; j < 4; j++) {
point.x += TraceBezier_alpha * coefficients[j] *
TraceBezier_primitive_info->point.x;
point.y += TraceBezier_alpha * TraceBezier_primitive_info->point.y;
TraceBezier_alpha *= TraceBezier_weight;
TraceBezier_primitive_info++;
}
TraceBezier_points[TraceBezier_i] = point;
TraceBezier_weight += 1.0;
}
}