LibC: Implement {,l,ll}{abs,div}
This commit is contained in:
@@ -45,11 +45,6 @@ void _Exit(int status)
|
|||||||
_exit(status);
|
_exit(status);
|
||||||
}
|
}
|
||||||
|
|
||||||
int abs(int val)
|
|
||||||
{
|
|
||||||
return val < 0 ? -val : val;
|
|
||||||
}
|
|
||||||
|
|
||||||
int atexit(void (*func)(void))
|
int atexit(void (*func)(void))
|
||||||
{
|
{
|
||||||
void* func_addr = reinterpret_cast<void*>(func);
|
void* func_addr = reinterpret_cast<void*>(func);
|
||||||
@@ -367,6 +362,45 @@ unsigned long long strtoull(const char* __restrict str, char** __restrict endp,
|
|||||||
return strtoT<unsigned long long>(str, endp, base, errno);
|
return strtoT<unsigned long long>(str, endp, base, errno);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int abs(int val)
|
||||||
|
{
|
||||||
|
return val < 0 ? -val : val;
|
||||||
|
}
|
||||||
|
|
||||||
|
long labs(long val)
|
||||||
|
{
|
||||||
|
return val < 0 ? -val : val;
|
||||||
|
}
|
||||||
|
|
||||||
|
long long llabs(long long val)
|
||||||
|
{
|
||||||
|
return val < 0 ? -val : val;
|
||||||
|
}
|
||||||
|
|
||||||
|
div_t div(int numer, int denom)
|
||||||
|
{
|
||||||
|
return {
|
||||||
|
.quot = numer / denom,
|
||||||
|
.rem = numer % denom,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
ldiv_t ldiv(long numer, long denom)
|
||||||
|
{
|
||||||
|
return {
|
||||||
|
.quot = numer / denom,
|
||||||
|
.rem = numer % denom,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
lldiv_t lldiv(long long numer, long long denom)
|
||||||
|
{
|
||||||
|
return {
|
||||||
|
.quot = numer / denom,
|
||||||
|
.rem = numer % denom,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
char* realpath(const char* __restrict file_name, char* __restrict resolved_name)
|
char* realpath(const char* __restrict file_name, char* __restrict resolved_name)
|
||||||
{
|
{
|
||||||
char buffer[PATH_MAX] {};
|
char buffer[PATH_MAX] {};
|
||||||
|
|||||||
Reference in New Issue
Block a user