C++ API Reference for Intel® Data Analytics Acceleration Library 2020 Update 1

compatibility.h
1 /* file: compatibility.h */
2 /*******************************************************************************
3 * Copyright 2014-2020 Intel Corporation
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *******************************************************************************/
17 
18 #ifndef __DATA_MANAGEMENT_FEATURES_COMPATIBILITY_H__
19 #define __DATA_MANAGEMENT_FEATURES_COMPATIBILITY_H__
20 
21 #include "data_management/features/defines.h"
22 #include "data_management/features/internal/helpers.h"
23 #include "data_management/data/internal/conversion.h"
24 
25 namespace daal
26 {
27 namespace data_management
28 {
32 namespace data_feature_utils
33 {
34 
35 const int NumOfIndexNumTypes = (int)(data_management::features::DAAL_OTHER_T);
36 
37 /* Usings for IndexNumType */
38 using data_management::features::IndexNumType;
39 using data_management::features::DAAL_FLOAT32;
40 using data_management::features::DAAL_FLOAT64;
41 using data_management::features::DAAL_INT32_S;
42 using data_management::features::DAAL_INT32_U;
43 using data_management::features::DAAL_INT64_S;
44 using data_management::features::DAAL_INT64_U;
45 using data_management::features::DAAL_INT8_S;
46 using data_management::features::DAAL_INT8_U;
47 using data_management::features::DAAL_INT16_S;
48 using data_management::features::DAAL_INT16_U;
49 using data_management::features::DAAL_OTHER_T;
50 
51 /* Usings for PMMLNumType */
52 using data_management::features::PMMLNumType;
53 using data_management::features::DAAL_GEN_FLOAT;
54 using data_management::features::DAAL_GEN_DOUBLE;
55 using data_management::features::DAAL_GEN_INTEGER;
56 using data_management::features::DAAL_GEN_BOOLEAN;
57 using data_management::features::DAAL_GEN_STRING;
58 using data_management::features::DAAL_GEN_UNKNOWN;
59 
60 /* Usings for FeatureType */
61 using data_management::features::FeatureType;
62 using data_management::features::DAAL_CATEGORICAL;
63 using data_management::features::DAAL_ORDINAL;
64 using data_management::features::DAAL_CONTINUOUS;
65 
66 /* Usings for InternalNumType */
67 typedef data_management::internal::ConversionDataType InternalNumType;
68 using data_management::internal::DAAL_SINGLE;
69 using data_management::internal::DAAL_DOUBLE;
70 using data_management::internal::DAAL_INT32;
71 using data_management::internal::DAAL_OTHER;
72 
73 /* Usings for helper functions */
74 using data_management::features::internal::getIndexNumType;
75 using data_management::features::internal::getPMMLNumType;
76 using data_management::internal::vectorConvertFuncType;
77 using data_management::internal::vectorStrideConvertFuncType;
78 DAAL_EXPORT vectorConvertFuncType getVectorUpCast(int, int);
79 DAAL_EXPORT vectorConvertFuncType getVectorDownCast(int, int);
80 DAAL_EXPORT vectorStrideConvertFuncType getVectorStrideUpCast(int, int);
81 DAAL_EXPORT vectorStrideConvertFuncType getVectorStrideDownCast(int, int);
82 
83 using data_management::internal::vectorCopy2vFuncType;
84 template <typename T>
85 DAAL_EXPORT vectorCopy2vFuncType getVector();
86 
87 template <typename T>
88 inline InternalNumType getInternalNumType()
89 {
90  return data_management::internal::getConversionDataType<T>();
91 }
92 
93 } // namespace data_feature_utils
94 } // namespace data_management
95 } // namespace daal
96 
97 namespace DataFeatureUtils = daal::data_management::data_feature_utils;
98 
99 #endif

For more complete information about compiler optimizations, see our Optimization Notice.