tesseract  5.0.0-alpha-619-ge9db
dotproduct.h
Go to the documentation of this file.
1 // File: dotproduct.h
3 // Description: Native dot product function.
4 //
5 // (C) Copyright 2018, Google Inc.
6 // Licensed under the Apache License, Version 2.0 (the "License");
7 // you may not use this file except in compliance with the License.
8 // You may obtain a copy of the License at
9 // http://www.apache.org/licenses/LICENSE-2.0
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
16 
17 #ifndef TESSERACT_ARCH_DOTPRODUCT_H_
18 #define TESSERACT_ARCH_DOTPRODUCT_H_
19 
20 namespace tesseract {
21 
22 // Computes and returns the dot product of the n-vectors u and v.
23 double DotProductNative(const double* u, const double* v, int n);
24 
25 // Uses Intel AVX intrinsics to access the SIMD instruction set.
26 double DotProductAVX(const double* u, const double* v, int n);
27 
28 // Use Intel FMA.
29 double DotProductFMA(const double* u, const double* v, int n);
30 
31 // Uses Intel SSE intrinsics to access the SIMD instruction set.
32 double DotProductSSE(const double* u, const double* v, int n);
33 
34 } // namespace tesseract.
35 
36 #endif // TESSERACT_ARCH_DOTPRODUCT_H_
tesseract::DotProductFMA
double DotProductFMA(const double *u, const double *v, int n)
Definition: dotproductfma.cpp:30
tesseract::DotProductSSE
double DotProductSSE(const double *u, const double *v, int n)
Definition: dotproductsse.cpp:31
tesseract
Definition: baseapi.h:65
tesseract::DotProductAVX
double DotProductAVX(const double *u, const double *v, int n)
Definition: dotproductavx.cpp:30
tesseract::DotProductNative
double DotProductNative(const double *u, const double *v, int n)
Definition: dotproduct.cpp:22