On 7/14/16 3:28 PM, Andrey wrote:
On Thursday, 14 July 2016 at 19:27:14 UTC, Andrey wrote:
struct Neurons_layer(T = float, size_t neurons_num = 0, F = Sigmoid!T)
if(isFloatingPoint!T && is(typeof(F.Function)))
{
private:
static if(neurons_num > 0)
T[neurons_num] _neurons_arr;
else
T[] _neurons_arr;
private:
alias Function = F.Function;
}
unittest
{
Neurons_layer!(float,5,Sigmoid!float) nf;
}
The question is - How to make in pretty way this line:
Neurons_layer!(float,5,Sigmoid!float) nf;
to something like - Neurons_layer!(float,5,Sigmoid) nf;
You can't pass an uninstantiated template type as a type, but you can
pass as an alias:
struct Neurons_layer(T = float, size_t neurons_num = 0, alias FTemp =
Sigmoid)
{
alias F = FTemp!T;
...
-Steve