@@ -127,28 +127,7 @@ struct ContinuousScalareSpace
127127 static constexpr uint_t size = Size;
128128};
129129
130- // /
131- // / \brief A space that represents a range of discrete
132- // /
133- template <real_t S, real_t E>
134- struct BoundedContinuousScalarSpace
135- {
136- // /
137- // / \brief item_t
138- // /
139- typedef real_t space_item_type;
140-
141- // /
142- // / \brief The overall size of the space meaning
143- // / how many elements can potentially the space have
144- // /
145- static constexpr uint_t size = 1 ;
146-
147- // /
148- // / \brief The boundaries the scalar value can assume
149- // /
150- static constexpr RealRange<S, E> limits = RealRange<S, E>();
151- };
130+
152131
153132
154133template <uint_t Size, typename T=real_t >
@@ -168,227 +147,6 @@ struct ContinuousVectorSpace
168147 typedef std::vector<T> space_item_type;
169148};
170149
171-
172-
173-
174-
175- /* template<uint_t SpaceSize>
176- typename DiscreteSpace<SpaceSize>::space_item_type
177- DiscreteSpace<SpaceSize>::sample(uint_t seed){
178-
179- std::uniform_int_distribution<> dist(0, SpaceSize - 1);
180- std::mt19937 gen(seed);
181- return dist(gen);
182- }
183-
184- template<uint_t SpaceSize>
185- std::vector<typename DiscreteSpace<SpaceSize>::space_item_type>
186- DiscreteSpace<SpaceSize>::sample(uint_t seed, uint_t size){
187-
188- std::vector<typename DiscreteSpace<SpaceSize>::space_item_type> vals_;
189- vals_.reserve(size);
190-
191- std::uniform_int_distribution<> dist(0, SpaceSize - 1);
192- std::mt19937 gen(seed);
193- for(uint_t i=0; i<size; ++i){
194-
195- vals_.push_back(dist(gen));
196- }
197-
198- return vals_;
199- }*/
200-
201- /*
202- template<typename T=real_t>
203- struct ScalarContinuousSpace
204- {
205- static_assert(std::is_floating_point_v<T> == true && "Floating point type is expected");
206-
207- ///
208- /// \brief item_t
209- ///
210- typedef T space_item_type;
211-
212-
213- ///
214- /// \brief size
215- ///
216- static constexpr uint_t size = 1;
217-
218- };
219-
220- ///
221- /// \brief Discrete vector space all elements of the
222- /// space should be of integral type. A discrete vector
223- /// can be used to specify a discrete state that is vector
224- /// valued see e.g. the Connect2 environment
225- ///
226- template<typename uint_t SpaceSize, typename VectorType>
227- struct DiscreteVectorSpace;
228-
229- template<uint_t SpaceSize, typename T=uint_t>
230- struct DiscreteVectorSpace<SpaceSize, DynVec<T> >
231- {
232- static_assert(std::is_integral_v<T> == true && "Integral type is expected");
233-
234- ///
235- /// \brief item_t
236- ///
237- typedef std::vector<T> space_item_type;
238-
239-
240- ///
241- /// \brief size
242- ///
243- static constexpr uint_t size = SpaceSize;
244-
245- ///
246- /// \brief sample
247- /// \return
248- ///
249- static space_item_type sample();
250-
251- ///
252- /// \brief sample
253- /// \param seed
254- /// \return
255- ///
256- static space_item_type sample(uint_t seed);
257-
258- ///
259- /// \brief sample
260- /// \param seed
261- /// \return
262- ///
263- static std::vector<space_item_type> sample(uint_t seed, uint_t size);
264- };
265-
266-
267- template<uint_t SpaceSize, typename T=uint_t>
268- struct DiscreteVectorSpace<SpaceSize, std::vector<T> >
269- {
270-
271- static_assert(std::is_integral_v<T> == true && "Integral type is expected");
272-
273- ///
274- /// \brief item_t
275- ///
276- typedef std::vector<T> space_item_type;
277-
278-
279- ///
280- /// \brief size
281- ///
282- static constexpr uint_t size = SpaceSize;
283-
284- ///
285- /// \brief sample
286- /// \return
287- ///
288- static space_item_type sample();
289-
290- ///
291- /// \brief sample
292- /// \param seed
293- /// \return
294- ///
295- static space_item_type sample(uint_t seed);
296-
297- ///
298- /// \brief sample
299- /// \param seed
300- /// \return
301- ///
302- static std::vector<space_item_type> sample(uint_t seed, uint_t size);
303- };
304-
305- template<uint_t SpaceSize>
306- typename DiscreteSpace<SpaceSize>::space_item_type
307- DiscreteSpace<SpaceSize>::sample(){
308-
309- std::uniform_int_distribution<> dist(0, SpaceSize - 1);
310- std::random_device rd;
311- std::mt19937 gen(rd());
312- return dist(gen);
313- }
314-
315- template<uint_t SpaceSize>
316- typename DiscreteSpace<SpaceSize>::space_item_type
317- DiscreteSpace<SpaceSize>::sample(uint_t seed){
318-
319- std::uniform_int_distribution<> dist(0, SpaceSize - 1);
320- std::mt19937 gen(seed);
321- return dist(gen);
322- }
323-
324- template<uint_t SpaceSize>
325- std::vector<typename DiscreteSpace<SpaceSize>::space_item_type>
326- DiscreteSpace<SpaceSize>::sample(uint_t seed, uint_t size){
327-
328- std::vector<typename DiscreteSpace<SpaceSize>::space_item_type> vals_;
329- vals_.reserve(size);
330-
331- std::uniform_int_distribution<> dist(0, SpaceSize - 1);
332- std::mt19937 gen(seed);
333- for(uint_t i=0; i<size; ++i){
334-
335- vals_.push_back(dist(gen));
336- }
337-
338- return vals_;
339- }
340-
341- template<uint_t SpaceSize, typename ItemType = std::vector<real_t>>
342- struct ContinuousSpace{
343-
344- ///
345- /// \brief item_t
346- ///
347- typedef std::vector<real_t> space_item_type;
348-
349- ///
350- /// \brief size. The number of members in the space
351- ///
352- static constexpr uint_t size = SpaceSize;
353- };
354-
355- ///
356- /// \brief The ContinuousSpace class.
357- ///
358- //template<uint_t SpaceSize>
359- //struct ContinuousSpace<SpaceSize, std::vector<real_t> >
360- //{
361- // ///
362- // /// \brief item_t
363- // ///
364- // typedef std::vector<real_t> space_item_type;
365- //
366- // ///
367- // /// \brief size. The number of members in the space
368- // ///
369- // static constexpr uint_t size = SpaceSize;
370- //
371- //};
372-
373-
374-
375- template<>
376- struct ContinuousSpace<1, Null>
377- {
378-
379- ///
380- /// \brief item_t
381- ///
382- typedef real_t space_item_type;
383-
384- ///
385- /// \brief size. The number of members in the space
386- ///
387- static constexpr uint_t size = 1;
388-
389- };
390- */
391-
392150template <uint_t SpaceSize, typename T=uint_t >
393151struct DiscreteVectorSpace
394152{
0 commit comments