Mam funkcję, która coś robi, ale kompletnie nie wiem, co. Potrzebuję napisać coś takiego w Pascalu. Mógłby ktoś wytłumaczyć o co tu chodzi i/lub przepisać to do Pascala?
Kod pochodzi ze strony http://m.m.i24.cc/o5m_demo.c
static inline char* sint32tosfix7(int32_t v,char* sp) {
// treat sint32 as a 7 decimals fixpoint value and convert it
// to a string;
// v: integer value (fixpoint);
// sp[13]: destination string;
// return: sp;
char* s1,*s2,c;
int i;
s1= sp;
if(v<0)
{ *s1++= '-'; v= -v; }
s2= s1;
i= 7;
while((v%10)==0 && i>0) // trailing zeroes
{ v/= 10; i--; }
while(--i>=0)
{ *s2++= (v%10)+'0'; v/= 10; }
*s2++= '.';
do
{ *s2++= (v%10)+'0'; v/= 10; }
while(v>0);
*s2--= 0;
while(s2>s1)
{ c= *s1; *s1= *s2; *s2= c; s1++; s2--; }
return sp;
} // sint32tosfix7()