diff options
author | karl@kubx.ca <karl@kubx.ca> | 2018-08-13 21:44:01 -0400 |
---|---|---|
committer | karl@kubx.ca <karl@kubx.ca> | 2018-08-13 21:57:41 -0400 |
commit | 22de3494abde705f9cbce973ed37323a8fe17363 (patch) | |
tree | 8cd39ef67c493076c209596537d74d08433b47e0 /tensorflow/java/src | |
parent | 5326a7fb028d6a66286e9e929dc9454c12e81522 (diff) |
Extend UInt8 class from Number (via TFNumber abstract class)
Diffstat (limited to 'tensorflow/java/src')
-rw-r--r-- | tensorflow/java/src/main/java/org/tensorflow/types/TFNumber.java | 50 | ||||
-rw-r--r-- | tensorflow/java/src/main/java/org/tensorflow/types/UInt8.java | 5 |
2 files changed, 54 insertions, 1 deletions
diff --git a/tensorflow/java/src/main/java/org/tensorflow/types/TFNumber.java b/tensorflow/java/src/main/java/org/tensorflow/types/TFNumber.java new file mode 100644 index 0000000000..82e5c360ff --- /dev/null +++ b/tensorflow/java/src/main/java/org/tensorflow/types/TFNumber.java @@ -0,0 +1,50 @@ +/* Copyright 2018 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. +==============================================================================*/ +package org.tensorflow.types; + +/** + * Base class for Tensorflow real numbers data types. + * + * <p>Real number Tensorflow data types must extend from this class to satisfy compile-time type safety enforced by + * operations that only accept real number tensors as some of their operands. This is asserted by extending the + * generic parameter of those operands from {@link Number}. + * + * <p>Since data types listed under this pacakge are only used for generic parameterization, there is no real data + * manipulation involved. So it is safe to implement the {@link Number} abstract methods by returning zero in all cases. + */ +abstract class TFNumber extends Number { + + private static final long serialVersionUID = 1L; + + @Override + public double doubleValue() { + return 0.0; + } + + @Override + public float floatValue() { + return 0.0f; + } + + @Override + public int intValue() { + return 0; + } + + @Override + public long longValue() { + return 0L; + } +} diff --git a/tensorflow/java/src/main/java/org/tensorflow/types/UInt8.java b/tensorflow/java/src/main/java/org/tensorflow/types/UInt8.java index 0c751aed9f..52952afbde 100644 --- a/tensorflow/java/src/main/java/org/tensorflow/types/UInt8.java +++ b/tensorflow/java/src/main/java/org/tensorflow/types/UInt8.java @@ -16,6 +16,9 @@ limitations under the License. package org.tensorflow.types; /** Represents an 8-bit unsigned integer. */ -public class UInt8 { +public class UInt8 extends TFNumber { + + private static final long serialVersionUID = 1L; + private UInt8() {} } |