commiting examples
This commit is contained in:
68
Examples/NeoPixel Example/utility.c
Normal file
68
Examples/NeoPixel Example/utility.c
Normal file
@@ -0,0 +1,68 @@
|
||||
#include <ctype.h>
|
||||
#include "string_func.h"
|
||||
#include "utility.h"
|
||||
|
||||
int atoint(const char *a)
|
||||
{
|
||||
while (isspace(*a))
|
||||
a++;
|
||||
int sign = 1;
|
||||
if (*a == '-')
|
||||
sign = -1;
|
||||
if (*a == '+' || *a == '-')
|
||||
a++;
|
||||
int i = 0;
|
||||
while (isdigit(*a))
|
||||
i = *a++ - '0' + i*10;
|
||||
return sign*i;
|
||||
}
|
||||
|
||||
char *inttoa(int i,char *a)
|
||||
{
|
||||
char *p = a;
|
||||
do
|
||||
{
|
||||
*a++ = i % 10 + '0';
|
||||
} while ((i /= 10) > 0);
|
||||
*a = '\0';
|
||||
return reverse(p);
|
||||
}
|
||||
|
||||
double atofloat(const char *a)
|
||||
{
|
||||
while (isspace(*a))
|
||||
a++;
|
||||
int sign = *a == '-' ? -1 : 1;
|
||||
if (*a == '+' || *a == '-')
|
||||
a++;
|
||||
double val = 0.0;
|
||||
while (isdigit(*a))
|
||||
val = *a++ - '0' + val * 10.0;
|
||||
if (*a == '.')
|
||||
a++;
|
||||
double power = 1.0;
|
||||
while (isdigit(*a))
|
||||
{
|
||||
val = *a++ - '0' + val * 10.0;
|
||||
power *= 10.0;
|
||||
}
|
||||
val = sign*val/power;
|
||||
if (*a == 'e' || *a == 'E')
|
||||
a++;
|
||||
sign = *a == '-' ? -1 : 1;
|
||||
if (*a == '+' || *a == '-')
|
||||
a++;
|
||||
int n = 0;
|
||||
while (isdigit(*a))
|
||||
n = *a++ - '0' + n * 10;
|
||||
if (sign == 1)
|
||||
while (n-- > 0)
|
||||
val *= 10.0;
|
||||
else
|
||||
while (n-- > 0)
|
||||
val /= 10.0;
|
||||
return val;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user