mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-20 19:40:18 +00:00
16 lines
232 B
C
16 lines
232 B
C
#include "libm.h"
|
|
|
|
double fsum(double* aptr, int n)
|
|
{
|
|
|
|
/*Kahan sum for float addition*/
|
|
double sum = 0, C = 0, Y, T;
|
|
for (int i = 0; i < n; i++)
|
|
{
|
|
Y = aptr[i] - C;
|
|
T = sum + Y;
|
|
C = T - sum - Y;
|
|
sum = T;
|
|
}
|
|
return sum;
|
|
} |