static */
| 164 | } |
| 165 | |
| 166 | /* static */ Literal LiteralUtil::One(PrimitiveType primitive_type) { |
| 167 | switch (primitive_type) { |
| 168 | case U8: |
| 169 | return LiteralUtil::CreateR0<uint8>(1); |
| 170 | case U16: |
| 171 | return LiteralUtil::CreateR0<uint16>(1); |
| 172 | case U32: |
| 173 | return LiteralUtil::CreateR0<uint32>(1); |
| 174 | case U64: |
| 175 | return LiteralUtil::CreateR0<uint64>(1); |
| 176 | case S8: |
| 177 | return LiteralUtil::CreateR0<int8>(1); |
| 178 | case S16: |
| 179 | return LiteralUtil::CreateR0<int16>(1); |
| 180 | case S32: |
| 181 | return LiteralUtil::CreateR0<int32>(1); |
| 182 | case S64: |
| 183 | return LiteralUtil::CreateR0<int64>(1); |
| 184 | case F16: |
| 185 | return LiteralUtil::CreateR0<half>(static_cast<half>(1.0f)); |
| 186 | case BF16: |
| 187 | return LiteralUtil::CreateR0<bfloat16>(static_cast<bfloat16>(1.0f)); |
| 188 | case F32: |
| 189 | return LiteralUtil::CreateR0<float>(1); |
| 190 | case F64: |
| 191 | return LiteralUtil::CreateR0<double>(1); |
| 192 | case C64: |
| 193 | return LiteralUtil::CreateR0<complex64>(1); |
| 194 | case C128: |
| 195 | return LiteralUtil::CreateR0<complex128>(1); |
| 196 | case PRED: |
| 197 | return LiteralUtil::CreateR0<bool>(true); |
| 198 | case TUPLE: |
| 199 | LOG(FATAL) << "tuple element type cannot take on value of 1"; |
| 200 | case OPAQUE_TYPE: |
| 201 | LOG(FATAL) << "opaque element type cannot take on value of 1"; |
| 202 | default: |
| 203 | LOG(FATAL) << "Unhandled primitive type " << primitive_type; |
| 204 | } |
| 205 | } |
| 206 | |
| 207 | /* static */ Literal LiteralUtil::MinValue(PrimitiveType primitive_type) { |
| 208 | switch (primitive_type) { |
no outgoing calls