@@ -121,69 +121,85 @@ std::vector<ObservationSpace> getLlvmObservationSpaceList() {
121121 break ;
122122 }
123123 case LlvmObservationSpace::IR2VEC_FLOW_AWARE: {
124- ScalarRange featureSize;
125- std::vector<ScalarRange> featureSizes;
126- featureSizes.reserve (kIR2VecFeatureDim );
127- for (size_t i = 0 ; i < kIR2VecFeatureDim ; ++i) {
128- featureSizes.push_back (featureSize);
129- }
130- *space.mutable_double_range_list ()->mutable_range () = {featureSizes.begin (),
131- featureSizes.end ()};
132- space.set_deterministic (true );
133- space.set_platform_dependent (false );
134- std::vector<double > defaultValue (kIR2VecFeatureDim , 0.0 );
135- *space.mutable_default_value ()->mutable_double_list ()->mutable_value () = {
136- defaultValue.begin (), defaultValue.end ()};
124+ FloatBox& featureSizes = *space.mutable_float_box ();
125+
126+ FloatTensor& featureSizesLow = *featureSizes.mutable_low ();
127+ featureSizesLow.add_shape (kIR2VecFeatureDim );
128+ const std::vector<float > low (kIR2VecFeatureDim , std::numeric_limits<float >::lowest ());
129+ *featureSizesLow.mutable_value () = {low.begin (), low.end ()};
130+
131+ FloatTensor& featureSizesHigh = *featureSizes.mutable_high ();
132+ featureSizesHigh.add_shape (kIR2VecFeatureDim );
133+ const std::vector<float > high (kIR2VecFeatureDim , std::numeric_limits<float >::max ());
134+ *featureSizesHigh.mutable_value () = {high.begin (), high.end ()};
135+
136+ observationSpace.set_deterministic (true );
137+ observationSpace.set_platform_dependent (false );
138+
139+ FloatTensor* defaultObservation =
140+ observationSpace.mutable_default_observation ()->mutable_float_tensor ();
141+ defaultObservation->add_shape (kIR2VecFeatureDim );
142+ const std::vector<float > defaultValues (kIR2VecFeatureDim , 0.0 );
143+ *defaultObservation->mutable_value () = {defaultValues.begin (), defaultValues.end ()};
137144 break ;
138145 }
139146 case LlvmObservationSpace::IR2VEC_SYMBOLIC: {
140- ScalarRange featureSize;
141- std::vector<ScalarRange> featureSizes;
142- featureSizes.reserve (kIR2VecFeatureDim );
143- for (size_t i = 0 ; i < kIR2VecFeatureDim ; ++i) {
144- featureSizes.push_back (featureSize);
145- }
146- *space.mutable_double_range_list ()->mutable_range () = {featureSizes.begin (),
147- featureSizes.end ()};
148- space.set_deterministic (true );
149- space.set_platform_dependent (false );
150- std::vector<double > defaultValue (kIR2VecFeatureDim , 0.0 );
151- *space.mutable_default_value ()->mutable_double_list ()->mutable_value () = {
152- defaultValue.begin (), defaultValue.end ()};
147+ FloatBox& featureSizes = *space.mutable_float_box ();
148+
149+ FloatTensor& featureSizesLow = *featureSizes.mutable_low ();
150+ featureSizesLow.add_shape (kIR2VecFeatureDim );
151+ const std::vector<float > low (kIR2VecFeatureDim , std::numeric_limits<float >::lowest ());
152+ *featureSizesLow.mutable_value () = {low.begin (), low.end ()};
153+
154+ FloatTensor& featureSizesHigh = *featureSizes.mutable_high ();
155+ featureSizesHigh.add_shape (kIR2VecFeatureDim );
156+ const std::vector<float > high (kIR2VecFeatureDim , std::numeric_limits<float >::max ());
157+ *featureSizesHigh.mutable_value () = {high.begin (), high.end ()};
158+
159+ observationSpace.set_deterministic (true );
160+ observationSpace.set_platform_dependent (false );
161+
162+ FloatTensor* defaultObservation =
163+ observationSpace.mutable_default_observation ()->mutable_float_tensor ();
164+ defaultObservation->add_shape (kIR2VecFeatureDim );
165+ const std::vector<float > defaultValues (kIR2VecFeatureDim , 0.0 );
166+ *defaultObservation->mutable_value () = {defaultValues.begin (), defaultValues.end ()};
153167 break ;
154168 }
155169 case LlvmObservationSpace::IR2VEC_FUNCTION_LEVEL_FLOW_AWARE: {
156- space.set_opaque_data_format (" json://" );
157- space.mutable_string_size_range ()->mutable_min ()->set_value (0 );
158- space.set_deterministic (true );
159- space.set_platform_dependent (false );
160- std::vector<double > defaultEmbs;
161- for (double i = 0 ; i < kIR2VecFeatureDim ; i++) {
162- defaultEmbs.push_back (i);
163- }
164- json vectorJson = defaultEmbs;
165- json FunctionKey;
170+ observationSpace.set_deterministic (true );
171+ observationSpace.set_platform_dependent (false );
172+
173+ space.mutable_string_value ()->mutable_length_range ()->set_min (0 );
174+
175+ json vectorJson = std::vector<double >(kIR2VecFeatureDim , 0.0 );
176+ json functionKey;
166177 json embeddings;
167- FunctionKey[" default" ] = vectorJson;
168- embeddings[" embeddings" ] = FunctionKey;
169- *space.mutable_default_value ()->mutable_string_value () = embeddings.dump ();
178+ functionKey[" default" ] = vectorJson;
179+ embeddings[" embeddings" ] = functionKey;
180+
181+ Opaque opaque;
182+ opaque.set_format (" json://" );
183+ *opaque.mutable_data () = embeddings.dump ();
184+ observationSpace.mutable_default_observation ()->mutable_any_value ()->PackFrom (opaque);
170185 break ;
171186 }
172187 case LlvmObservationSpace::IR2VEC_FUNCTION_LEVEL_SYMBOLIC: {
173- space.set_opaque_data_format (" json://" );
174- space.mutable_string_size_range ()->mutable_min ()->set_value (0 );
175- space.set_deterministic (true );
176- space.set_platform_dependent (false );
177- std::vector<double > defaultEmbs;
178- for (double i = 0 ; i < kIR2VecFeatureDim ; i++) {
179- defaultEmbs.push_back (i);
180- }
181- json vectorJson = defaultEmbs;
182- json FunctionKey;
188+ observationSpace.set_deterministic (true );
189+ observationSpace.set_platform_dependent (false );
190+
191+ space.mutable_string_value ()->mutable_length_range ()->set_min (0 );
192+
193+ json vectorJson = std::vector<double >(kIR2VecFeatureDim , 0.0 );
194+ json functionKey;
183195 json embeddings;
184- FunctionKey[" default" ] = vectorJson;
185- embeddings[" embeddings" ] = FunctionKey;
186- *space.mutable_default_value ()->mutable_string_value () = embeddings.dump ();
196+ functionKey[" default" ] = vectorJson;
197+ embeddings[" embeddings" ] = functionKey;
198+
199+ Opaque opaque;
200+ opaque.set_format (" json://" );
201+ *opaque.mutable_data () = embeddings.dump ();
202+ observationSpace.mutable_default_observation ()->mutable_any_value ()->PackFrom (opaque);
187203 break ;
188204 }
189205 case LlvmObservationSpace::PROGRAML: {
0 commit comments