Hier noch ergänzend meine Signum funktionen.
Code:
inline int8_t signf(float number)
{
	if (signbit(number))
		return -1;
	else
		return 1;
}
inline int8_t signi(int16_t number)
{
	if(number>>15)
		return -1;
	else
		return 1;
}
inline int8_t signl(long number)
{
	if(number>>31)
		return -1;
	else
		return 1;
}
nicht, dass dort der fehler herkommt