| 99 | enum class LegacyScalarPolicy { kAvoidLegacyScalars, kDoCreateLegacyScalars }; |
| 100 | |
| 101 | void ExportFloatArray(const Shape& input_shape, const float* input_data, |
| 102 | TensorProto* output_tensor, |
| 103 | LegacyScalarPolicy legacy_scalar_policy) { |
| 104 | output_tensor->set_dtype(DT_FLOAT); |
| 105 | const int input_flat_size = RequiredBufferSizeForShape(input_shape); |
| 106 | auto* shape = output_tensor->mutable_tensor_shape(); |
| 107 | |
| 108 | const int kDims = input_shape.dimensions_count(); |
| 109 | if (legacy_scalar_policy == LegacyScalarPolicy::kDoCreateLegacyScalars || |
| 110 | kDims > 1 || (kDims == 1 && input_shape.dims(0) > 1)) { |
| 111 | for (int i = 0; i < kDims; ++i) { |
| 112 | shape->add_dim()->set_size(input_shape.dims(i)); |
| 113 | } |
| 114 | } |
| 115 | output_tensor->set_tensor_content( |
| 116 | string(reinterpret_cast<const char*>(input_data), |
| 117 | sizeof(*input_data) * input_flat_size)); |
| 118 | } |
| 119 | |
| 120 | void ExportFloatArray(AxesOrder input_axes_order, const Shape& input_shape, |
| 121 | const float* input_data, AxesOrder output_axes_order, |
no test coverage detected