Add sqrt_qxx functions

This commit is contained in:
iabdalkader 2014-03-01 16:39:49 +02:00
parent a1cf2c4602
commit 9ad02e2b83
2 changed files with 10 additions and 5 deletions

View File

@ -63,7 +63,7 @@ const uint8_t xyz_table[256]= {
93.868573, 94.730654, 95.597335, 96.468625, 97.344529, 98.225055, 99.110210, 100.000000,
};
uint16_t f_sqrt_q16(uint16_t a)
uint16_t sqrt_q16(uint16_t a)
{
uint16_t op = a;
uint16_t res = 0;
@ -84,7 +84,7 @@ uint16_t f_sqrt_q16(uint16_t a)
return res;
}
uint32_t f_sqrt_q32(uint32_t a)
uint32_t sqrt_q32(uint32_t a)
{
uint32_t op = a;
uint32_t res = 0;
@ -111,7 +111,7 @@ uint16_t imlib_lab_distance(struct color *c0, struct color *c1)
sum += (c0->L - c1->L) * (c0->L - c1->L);
sum += (c0->A - c1->A) * (c0->A - c1->A);
sum += (c0->B - c1->B) * (c0->B - c1->B);
return f_sqrt_q16(sum);
return sqrt_q16(sum);
}
uint16_t imlib_rgb_distance(struct color *c0, struct color *c1)
@ -120,7 +120,7 @@ uint16_t imlib_rgb_distance(struct color *c0, struct color *c1)
sum += (c0->r - c1->r) * (c0->r - c1->r);
sum += (c0->g - c1->g) * (c0->g - c1->g);
sum += (c0->b - c1->b) * (c0->b - c1->b);
return f_sqrt_q16(sum);
return sqrt_q16(sum);
}
uint16_t imlib_hsv_distance(struct color *c0, struct color *c1)
@ -129,7 +129,7 @@ uint16_t imlib_hsv_distance(struct color *c0, struct color *c1)
sum += (c0->h - c1->h) * (c0->h - c1->h);
sum += (c0->s - c1->s) * (c0->s - c1->s);
sum += (c0->v - c1->v) * (c0->v - c1->v);
return f_sqrt_q16(sum);
return sqrt_q16(sum);
}
void imlib_rgb_to_lab(struct color *rgb, struct color *lab)

View File

@ -152,6 +152,11 @@ typedef struct cascade {
int8_t *rectangles_array;
} cascade_t;
/* sqrt functions */
uint16_t sqrt_q16(uint16_t a);
uint32_t sqrt_q32(uint32_t a);
/* Point functions */
point_t *point_alloc(int x, int y);
int point_equal(point_t *p1, point_t *p2);