increase accuracy for fp16
This commit is contained in:
@@ -59,7 +59,7 @@ linspace
|
||||
|
||||
const uword num_m1 = num - 1;
|
||||
|
||||
if(is_real<T>::value)
|
||||
if(is_float<T>::value || is_double<T>::value)
|
||||
{
|
||||
const T delta = (end-start)/T(num_m1);
|
||||
|
||||
@@ -71,6 +71,18 @@ linspace
|
||||
x_mem[num_m1] = eT(end);
|
||||
}
|
||||
else
|
||||
if(is_fp16<T>::value)
|
||||
{
|
||||
const float delta = (end-start)/float(num_m1);
|
||||
|
||||
for(uword i=0; i<num_m1; ++i)
|
||||
{
|
||||
x_mem[i] = eT(float(start) + i*delta);
|
||||
}
|
||||
|
||||
x_mem[num_m1] = eT(end);
|
||||
}
|
||||
else
|
||||
{
|
||||
const double delta = (end >= start) ? double(end-start)/double(num_m1) : -double(start-end)/double(num_m1);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user