Signature Description Parameters

template<typename T>
std::vector<T>
gen_log_space_nums(std::size_t n,
                   T first,
                   T last,
                   T base);
        
Produces n logarithmically spaced numbers between the given base raised to the power of first to last.

It returns the vector of results
T: Any type that supports arithmetic
n: Number of numerics to generate
first: Starting power to raise the base to
last: Last power to raise the base to
base: Base of the numbers

template<typename T>
std::vector<T>
gen_even_space_nums(std::size_t n,
                    T first,
                    T last);
        
This function generates n evenly spaced numbers between the given first and ast parameters. The result vector always starts with first and ends shy of last

It returns the vector of results
T: Any type that supports arithmetic
n: Number of values to generate
first: Starting value
last: Last value (excluded)

template<typename T>
std::vector<T>
gen_triangular_nums(T last,
                    T first = 1);
        
A number is termed as triangular number if we can represent it in the form of triangular grid of points such that the points form an equilateral triangle and each row contains as many points as the row number, i.e., the first row has one point, second row has two points, third row has three points and so on.
This function generates n triangle numbers arranged in an equilateral triangle. The n-th triangular number is equal to the sum of the n natural numbers from 1 to n (assuming first is 1 and last is n).
The result vector always starts with a value >= than first and ends with a value <= than last.

It returns the vector of results
T: Any type that supports arithmetic
last: Last value
last: Starting value defaulted to 1