Skip to content

Commit c33ec26

Browse files
committed
[TYPES] Exposed more of the data types API.
1 parent ebb0611 commit c33ec26

File tree

2 files changed

+87
-3
lines changed

2 files changed

+87
-3
lines changed

modules/api/src/main/scala/org/platanios/tensorflow/api/core/types/package.scala

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ import org.tensorflow.framework.DataType._
2121
* @author Emmanouil Antonios Platanios
2222
*/
2323
package object types {
24+
//region Value Classes
25+
2426
// TODO: [TYPES] Add some useful functionality to the following types.
2527

2628
case class Half(data: Short) extends AnyVal
@@ -39,6 +41,8 @@ package object types {
3941
case class Resource(data: Long) extends AnyVal
4042
case class Variant(data: Long) extends AnyVal
4143

44+
//endregion Value Classes
45+
4246
//region Data Type Instances
4347

4448
val STRING : DataType[String] = DataType[String]("String", 7, None, DT_STRING)

modules/api/src/main/scala/org/platanios/tensorflow/api/package.scala

Lines changed: 83 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -107,9 +107,45 @@ package object api extends implicits.Implicits with Documentation {
107107
type VariableLike[T] = ops.variables.VariableLike[T]
108108
type Variable[T] = ops.variables.Variable[T]
109109

110-
//region Data Types API
110+
//region Types
111111

112-
// TODO: [TYPES] !!! Move the value classes here.
112+
//region Value Classes
113+
114+
type Half = core.types.Half
115+
type TruncatedHalf = core.types.TruncatedHalf
116+
type ComplexFloat = core.types.ComplexFloat
117+
type ComplexDouble = core.types.ComplexDouble
118+
type UByte = core.types.UByte
119+
type UShort = core.types.UShort
120+
type UInt = core.types.UInt
121+
type ULong = core.types.ULong
122+
type QByte = core.types.QByte
123+
type QShort = core.types.QShort
124+
type QInt = core.types.QInt
125+
type QUByte = core.types.QUByte
126+
type QUShort = core.types.QUShort
127+
type Resource = core.types.Resource
128+
type Variant = core.types.Variant
129+
130+
val Half : core.types.Half.type = core.types.Half
131+
val TruncatedHalf: core.types.TruncatedHalf.type = core.types.TruncatedHalf
132+
val ComplexFloat : core.types.ComplexFloat.type = core.types.ComplexFloat
133+
val ComplexDouble: core.types.ComplexDouble.type = core.types.ComplexDouble
134+
val UByte : core.types.UByte.type = core.types.UByte
135+
val UShort : core.types.UShort.type = core.types.UShort
136+
val UInt : core.types.UInt.type = core.types.UInt
137+
val ULong : core.types.ULong.type = core.types.ULong
138+
val QByte : core.types.QByte.type = core.types.QByte
139+
val QShort : core.types.QShort.type = core.types.QShort
140+
val QInt : core.types.QInt.type = core.types.QInt
141+
val QUByte : core.types.QUByte.type = core.types.QUByte
142+
val QUShort : core.types.QUShort.type = core.types.QUShort
143+
val Resource : core.types.Resource.type = core.types.Resource
144+
val Variant : core.types.Variant.type = core.types.Variant
145+
146+
//endregion Value Classes
147+
148+
//region Data Type Instances
113149

114150
type DataType[T] = core.types.DataType[T]
115151

@@ -161,7 +197,51 @@ package object api extends implicits.Implicits with Documentation {
161197
val RESOURCE : RESOURCE = core.types.RESOURCE
162198
val VARIANT : VARIANT = core.types.VARIANT
163199

164-
//endregion Data Types API
200+
//endregion Data Type Instances
201+
202+
//region Type Traits
203+
204+
type TF[T] = core.types.TF[T]
205+
type IsFloatOrDouble[T] = core.types.IsFloatOrDouble[T]
206+
type IsHalfOrFloatOrDouble[T] = core.types.IsHalfOrFloatOrDouble[T]
207+
type IsTruncatedHalfOrFloatOrDouble[T] = core.types.IsTruncatedHalfOrFloatOrDouble[T]
208+
type IsTruncatedHalfOrHalfOrFloat[T] = core.types.IsTruncatedHalfOrHalfOrFloat[T]
209+
type IsDecimal[T] = core.types.IsDecimal[T]
210+
type IsIntOrLong[T] = core.types.IsIntOrLong[T]
211+
type IsIntOrLongOrFloatOrDouble[T] = core.types.IsIntOrLongOrFloatOrDouble[T]
212+
type IsIntOrLongOrHalfOrFloatOrDouble[T] = core.types.IsIntOrLongOrHalfOrFloatOrDouble[T]
213+
type IsIntOrLongOrUByte[T] = core.types.IsIntOrLongOrUByte[T]
214+
type IsIntOrUInt[T] = core.types.IsIntOrUInt[T]
215+
type IsStringOrIntOrUInt[T] = core.types.IsStringOrIntOrUInt[T]
216+
type IsReal[T] = core.types.IsReal[T]
217+
type IsComplex[T] = core.types.IsComplex[T]
218+
type IsNotQuantized[T] = core.types.IsNotQuantized[T]
219+
type IsQuantized[T] = core.types.IsQuantized[T]
220+
type IsNumeric[T] = core.types.IsNumeric[T]
221+
type IsBooleanOrNumeric[T] = core.types.IsBooleanOrNumeric[T]
222+
223+
val TF : core.types.TF.type = core.types.TF
224+
val IsFloatOrDouble : core.types.IsFloatOrDouble.type = core.types.IsFloatOrDouble
225+
val IsHalfOrFloatOrDouble : core.types.IsHalfOrFloatOrDouble.type = core.types.IsHalfOrFloatOrDouble
226+
val IsTruncatedHalfOrFloatOrDouble : core.types.IsTruncatedHalfOrFloatOrDouble.type = core.types.IsTruncatedHalfOrFloatOrDouble
227+
val IsTruncatedHalfOrHalfOrFloat : core.types.IsTruncatedHalfOrHalfOrFloat.type = core.types.IsTruncatedHalfOrHalfOrFloat
228+
val IsDecimal : core.types.IsDecimal.type = core.types.IsDecimal
229+
val IsIntOrLong : core.types.IsIntOrLong.type = core.types.IsIntOrLong
230+
val IsIntOrLongOrFloatOrDouble : core.types.IsIntOrLongOrFloatOrDouble.type = core.types.IsIntOrLongOrFloatOrDouble
231+
val IsIntOrLongOrHalfOrFloatOrDouble: core.types.IsIntOrLongOrHalfOrFloatOrDouble.type = core.types.IsIntOrLongOrHalfOrFloatOrDouble
232+
val IsIntOrLongOrUByte : core.types.IsIntOrLongOrUByte.type = core.types.IsIntOrLongOrUByte
233+
val IsIntOrUInt : core.types.IsIntOrUInt.type = core.types.IsIntOrUInt
234+
val IsStringOrIntOrUInt : core.types.IsStringOrIntOrUInt.type = core.types.IsStringOrIntOrUInt
235+
val IsReal : core.types.IsReal.type = core.types.IsReal
236+
val IsComplex : core.types.IsComplex.type = core.types.IsComplex
237+
val IsNotQuantized : core.types.IsNotQuantized.type = core.types.IsNotQuantized
238+
val IsQuantized : core.types.IsQuantized.type = core.types.IsQuantized
239+
val IsNumeric : core.types.IsNumeric.type = core.types.IsNumeric
240+
val IsBooleanOrNumeric : core.types.IsBooleanOrNumeric.type = core.types.IsBooleanOrNumeric
241+
242+
//endregion Type Traits
243+
244+
//endregion Types
165245

166246
type Closeable = utilities.Closeable
167247

0 commit comments

Comments
 (0)