Skip to content

Commit

Permalink
arch: Replace Tesseract data types by POSIX data types
Browse files Browse the repository at this point in the history
Signed-off-by: Stefan Weil <[email protected]>
  • Loading branch information
stweil committed May 2, 2017
1 parent c1d649e commit e7794c0
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 5 deletions.
2 changes: 1 addition & 1 deletion arch/dotproductavx.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ double DotProductAVX(const double* u, const double* v, int n) {
// instruction, as that introduces a 70 cycle delay. All this casting is to
// fool the intrinsics into thinking we are extracting the bottom int64.
auto cast_sum = _mm256_castpd_si256(sum);
*(reinterpret_cast<inT64*>(&result)) =
*(reinterpret_cast<int64_t*>(&result)) =
#if defined(_WIN32) || defined(__i386__)
// This is a very simple workaround that is activated
// for all platforms that do not have _mm256_extract_epi64.
Expand Down
6 changes: 3 additions & 3 deletions arch/dotproductsse.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ double DotProductSSE(const double* u, const double* v, int n) {
fprintf(stderr, "DotProductSSE can't be used on Android\n");
abort();
}
inT32 IntDotProductSSE(const inT8* u, const inT8* v, int n) {
int32_t IntDotProductSSE(const int8_t* u, const int8_t* v, int n) {
fprintf(stderr, "IntDotProductSSE can't be used on Android\n");
abort();
}
Expand Down Expand Up @@ -99,7 +99,7 @@ double DotProductSSE(const double* u, const double* v, int n) {

// Computes and returns the dot product of the n-vectors u and v.
// Uses Intel SSE intrinsics to access the SIMD instruction set.
inT32 IntDotProductSSE(const inT8* u, const inT8* v, int n) {
int32_t IntDotProductSSE(const int8_t* u, const int8_t* v, int n) {
int max_offset = n - 8;
int offset = 0;
// Accumulate a set of 4 32-bit sums in sum, by loading 8 pairs of 8-bit
Expand Down Expand Up @@ -128,7 +128,7 @@ inT32 IntDotProductSSE(const inT8* u, const inT8* v, int n) {
// Sum the 4 packed 32 bit sums and extract the low result.
sum = _mm_hadd_epi32(sum, sum);
sum = _mm_hadd_epi32(sum, sum);
inT32 result = _mm_cvtsi128_si32(sum);
int32_t result = _mm_cvtsi128_si32(sum);
while (offset < n) {
result += u[offset] * v[offset];
++offset;
Expand Down
2 changes: 1 addition & 1 deletion arch/dotproductsse.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ namespace tesseract {
double DotProductSSE(const double* u, const double* v, int n);
// Computes and returns the dot product of the n-vectors u and v.
// Uses Intel SSE intrinsics to access the SIMD instruction set.
inT32 IntDotProductSSE(const inT8* u, const inT8* v, int n);
int32_t IntDotProductSSE(const int8_t* u, const int8_t* v, int n);

} // namespace tesseract.

Expand Down

0 comments on commit e7794c0

Please sign in to comment.