increase accuracy for fp16

This commit is contained in:
conrad
2025-08-06 14:12:15 +10:00
parent 43786efafe
commit 52cd25c365
+13 -1
View File
@@ -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);