1/*
2 * util.hpp
3 *
4 * Created on: Feb 23, 2016
5 * Author: i-bird
6 */
7
8#ifndef OPENFPM_IO_SRC_PLOT_UTIL_HPP_
9#define OPENFPM_IO_SRC_PLOT_UTIL_HPP_
10
11/*! \brief It fill the vector x with function values
12 *
13 * ### Define a function
14 * \snippet Plot_unit_tests.hpp Definition of a function
15 * ### Example vector with points on a specified range
16 * \snippet Plot_unit_tests.hpp fill a vector with a function
17 *
18 */
19template<typename T> static inline void Fill1D(T start, T stop, size_t np, openfpm::vector<T> & x,T f(T x))
20{
21 x.resize(np);
22
23 T spacing = (stop - start) / (np - 1);
24
25 for (size_t i = 0 ; i < np ; i++)
26 x.get(i) = f(start + i*spacing);
27}
28
29/*! \brief It fill the vector x with uniformly distributed set of points
30 *
31 * ### Example vector with points on a specified range
32 * \snippet Plot_unit_tests.hpp fill a vector
33 *
34 */
35template<typename T> static inline void Fill1D(T start, T stop, size_t np, openfpm::vector<T> & x)
36{
37 x.resize(np);
38
39 T spacing = (stop - start) / (np - 1);
40
41 for (size_t i = 0 ; i < np ; i++)
42 x.get(i) = start + i*spacing;
43}
44
45#endif /* OPENFPM_IO_SRC_PLOT_UTIL_HPP_ */
46