mirror of
https://github.com/tesseract-ocr/tesseract.git
synced 2024-12-01 07:59:05 +08:00
chop: Use more efficient float calculations for sqrt
This fixes warnings from LGTM: Multiplication result may overflow 'float' before it is converted to 'double'. While the sqrt function always calculates with double, here the overloaded std::sqrt can be used to handle the float arguments more efficiently. Replace also an old C++ type cast by a static_cast. Signed-off-by: Stefan Weil <sw@weilnetz.de>
This commit is contained in:
parent
f264464ec6
commit
819c43d377
@ -89,7 +89,6 @@ int Wordrec::angle_change(EDGEPT *point1, EDGEPT *point2, EDGEPT *point3) {
|
||||
VECTOR vector2;
|
||||
|
||||
int angle;
|
||||
float length;
|
||||
|
||||
/* Compute angle */
|
||||
vector1.x = point2->pos.x - point1->pos.x;
|
||||
@ -97,7 +96,7 @@ int Wordrec::angle_change(EDGEPT *point1, EDGEPT *point2, EDGEPT *point3) {
|
||||
vector2.x = point3->pos.x - point2->pos.x;
|
||||
vector2.y = point3->pos.y - point2->pos.y;
|
||||
/* Use cross product */
|
||||
length = (float)sqrt((float)LENGTH(vector1) * LENGTH(vector2));
|
||||
float length = std::sqrt(static_cast<float>(LENGTH(vector1)) * LENGTH(vector2));
|
||||
if ((int) length == 0)
|
||||
return (0);
|
||||
angle = static_cast<int>(floor(asin(CROSS (vector1, vector2) /
|
||||
|
Loading…
Reference in New Issue
Block a user