Add math utils.
PiperOrigin-RevId: 279985214 Change-Id: I92b038771acdc1735c104b6f8d1077a380f9394a
This commit is contained in:
parent
e82d1b938e
commit
72633f4632
@ -12,16 +12,6 @@ package_group(
|
||||
],
|
||||
)
|
||||
|
||||
cc_library(
|
||||
name = "timespan",
|
||||
hdrs = ["timespan.h"],
|
||||
deps = [
|
||||
":time_utils",
|
||||
"//tensorflow/core/platform:logging",
|
||||
"//tensorflow/core/platform:types",
|
||||
],
|
||||
)
|
||||
|
||||
cc_library(
|
||||
name = "event_span",
|
||||
srcs = ["event_span.cc"],
|
||||
@ -36,6 +26,25 @@ cc_library(
|
||||
],
|
||||
)
|
||||
|
||||
cc_library(
|
||||
name = "math_utils",
|
||||
hdrs = ["math_utils.h"],
|
||||
visibility = [
|
||||
"//perftools/accelerators/xprof/convert:__pkg__",
|
||||
"//perftools/gputools/profiler/collector:__pkg__",
|
||||
],
|
||||
)
|
||||
|
||||
cc_library(
|
||||
name = "timespan",
|
||||
hdrs = ["timespan.h"],
|
||||
deps = [
|
||||
":time_utils",
|
||||
"//tensorflow/core/platform:logging",
|
||||
"//tensorflow/core/platform:types",
|
||||
],
|
||||
)
|
||||
|
||||
tf_cc_test(
|
||||
name = "timespan_test",
|
||||
srcs = ["timespan_test.cc"],
|
||||
|
32
tensorflow/core/profiler/utils/math_utils.h
Normal file
32
tensorflow/core/profiler/utils/math_utils.h
Normal file
@ -0,0 +1,32 @@
|
||||
/* Copyright 2019 The TensorFlow Authors. All Rights Reserved.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
==============================================================================*/
|
||||
|
||||
#ifndef TENSORFLOW_CORE_PROFILER_UTILS_MATH_UTILS_H_
|
||||
#define TENSORFLOW_CORE_PROFILER_UTILS_MATH_UTILS_H_
|
||||
|
||||
namespace tensorflow {
|
||||
namespace profiler {
|
||||
|
||||
// Checks the divisor and returns 0 to avoid divide by zero.
|
||||
inline double SafeDivide(double dividend, double divisor) {
|
||||
constexpr double kEpsilon = 1.0E-10;
|
||||
if ((-kEpsilon < divisor) && (divisor < kEpsilon)) return 0.0;
|
||||
return dividend / divisor;
|
||||
}
|
||||
|
||||
} // namespace profiler
|
||||
} // namespace tensorflow
|
||||
|
||||
#endif // TENSORFLOW_CORE_PROFILER_UTILS_MATH_UTILS_H_
|
Loading…
Reference in New Issue
Block a user