blob: dc8987d809a63eee6728b2637d5ea8c82723cc99 [file] [view] [edit]
(libc_gpu_support)=
# Supported Functions
The following functions and headers are supported at least partially on the
device. Some functions are implemented fully on the GPU, while others require a
{ref}`remote procedure call <libc_gpu_rpc>`.
## ctype.h
| Function Name | Available | RPC Required |
| ------------- | ----------- | ------------ |
| isalnum | {{ check }} | |
| isalpha | {{ check }} | |
| isascii | {{ check }} | |
| isblank | {{ check }} | |
| iscntrl | {{ check }} | |
| isdigit | {{ check }} | |
| isgraph | {{ check }} | |
| islower | {{ check }} | |
| isprint | {{ check }} | |
| ispunct | {{ check }} | |
| isspace | {{ check }} | |
| isupper | {{ check }} | |
| isxdigit | {{ check }} | |
| toascii | {{ check }} | |
| tolower | {{ check }} | |
| toupper | {{ check }} | |
## string.h
| Function Name | Available | RPC Required |
| ------------- | ----------- | ------------ |
| bcmp | {{ check }} | |
| bcopy | {{ check }} | |
| bzero | {{ check }} | |
| memccpy | {{ check }} | |
| memchr | {{ check }} | |
| memcmp | {{ check }} | |
| memcpy | {{ check }} | |
| memmem | {{ check }} | |
| memmove | {{ check }} | |
| mempcpy | {{ check }} | |
| memrchr | {{ check }} | |
| memset | {{ check }} | |
| stpcpy | {{ check }} | |
| stpncpy | {{ check }} | |
| strcat | {{ check }} | |
| strchr | {{ check }} | |
| strchrnul | {{ check }} | |
| strcmp | {{ check }} | |
| strcoll | {{ check }} | |
| strcpy | {{ check }} | |
| strcspn | {{ check }} | |
| strdup | {{ check }} | |
| strerror | {{ check }} | |
| strlcat | {{ check }} | |
| strlcpy | {{ check }} | |
| strlen | {{ check }} | |
| strncat | {{ check }} | |
| strncmp | {{ check }} | |
| strncpy | {{ check }} | |
| strndup | {{ check }} | |
| strnlen | {{ check }} | |
| strpbrk | {{ check }} | |
| strrchr | {{ check }} | |
| strsep | {{ check }} | |
| strspn | {{ check }} | |
| strstr | {{ check }} | |
| strtok | {{ check }} | |
| strtok_r | {{ check }} | |
| strxfrm | {{ check }} | |
## strings.h
| Function Name | Available | RPC Required |
| ------------- | ----------- | ------------ |
| bcmp | {{ check }} | |
| bcopy | {{ check }} | |
| bzero | {{ check }} | |
| strcasecmp | {{ check }} | |
| strcasestr | {{ check }} | |
| index | {{ check }} | |
| rindex | {{ check }} | |
## stdbit.h
| Function Name | Available | RPC Required |
| ---------------------------- | ----------- | ------------ |
| stdc_leading_zeros_uc | {{ check }} | |
| stdc_leading_zeros_us | {{ check }} | |
| stdc_leading_zeros_ui | {{ check }} | |
| stdc_leading_zeros_ul | {{ check }} | |
| stdc_leading_zeros_ull | {{ check }} | |
| stdc_trailing_zeros_uc | {{ check }} | |
| stdc_trailing_zeros_us | {{ check }} | |
| stdc_trailing_zeros_ui | {{ check }} | |
| stdc_trailing_zeros_ul | {{ check }} | |
| stdc_trailing_zeros_ull | {{ check }} | |
| stdc_trailing_ones_uc | {{ check }} | |
| stdc_trailing_ones_us | {{ check }} | |
| stdc_trailing_ones_ui | {{ check }} | |
| stdc_trailing_ones_ul | {{ check }} | |
| stdc_trailing_ones_ull | {{ check }} | |
| stdc_first_leading_zero_uc | {{ check }} | |
| stdc_first_leading_zero_us | {{ check }} | |
| stdc_first_leading_zero_ui | {{ check }} | |
| stdc_first_leading_zero_ul | {{ check }} | |
| stdc_first_leading_zero_ull | {{ check }} | |
| stdc_first_leading_one_uc | {{ check }} | |
| stdc_first_leading_one_us | {{ check }} | |
| stdc_first_leading_one_ui | {{ check }} | |
| stdc_first_leading_one_ul | {{ check }} | |
| stdc_first_leading_one_ull | {{ check }} | |
| stdc_first_trailing_zero_uc | {{ check }} | |
| stdc_first_trailing_zero_us | {{ check }} | |
| stdc_first_trailing_zero_ui | {{ check }} | |
| stdc_first_trailing_zero_ul | {{ check }} | |
| stdc_first_trailing_zero_ull | {{ check }} | |
| stdc_first_trailing_one_uc | {{ check }} | |
| stdc_first_trailing_one_us | {{ check }} | |
| stdc_first_trailing_one_ui | {{ check }} | |
| stdc_first_trailing_one_ul | {{ check }} | |
| stdc_first_trailing_one_ull | {{ check }} | |
| stdc_count_zeros_uc | {{ check }} | |
| stdc_count_zeros_us | {{ check }} | |
| stdc_count_zeros_ui | {{ check }} | |
| stdc_count_zeros_ul | {{ check }} | |
| stdc_count_zeros_ull | {{ check }} | |
| stdc_count_ones_uc | {{ check }} | |
| stdc_count_ones_us | {{ check }} | |
| stdc_count_ones_ui | {{ check }} | |
| stdc_count_ones_ul | {{ check }} | |
| stdc_count_ones_ull | {{ check }} | |
| stdc_has_single_bit_uc | {{ check }} | |
| stdc_has_single_bit_us | {{ check }} | |
| stdc_has_single_bit_ui | {{ check }} | |
| stdc_has_single_bit_ul | {{ check }} | |
| stdc_has_single_bit_ull | {{ check }} | |
| stdc_bit_width_uc | {{ check }} | |
| stdc_bit_width_us | {{ check }} | |
| stdc_bit_width_ui | {{ check }} | |
| stdc_bit_width_ul | {{ check }} | |
| stdc_bit_width_ull | {{ check }} | |
| stdc_bit_floor_uc | {{ check }} | |
| stdc_bit_floor_us | {{ check }} | |
| stdc_bit_floor_ui | {{ check }} | |
| stdc_bit_floor_ul | {{ check }} | |
| stdc_bit_floor_ull | {{ check }} | |
| stdc_bit_ceil_uc | {{ check }} | |
| stdc_bit_ceil_us | {{ check }} | |
| stdc_bit_ceil_ui | {{ check }} | |
| stdc_bit_ceil_ul | {{ check }} | |
| stdc_bit_ceil_ull | {{ check }} | |
## stdlib.h
| Function Name | Available | RPC Required |
| ------------- | ----------- | ------------ |
| abs | {{ check }} | |
| atoi | {{ check }} | |
| atof | {{ check }} | |
| atol | {{ check }} | |
| atoll | {{ check }} | |
| exit | {{ check }} | {{ check }} |
| abort | {{ check }} | {{ check }} |
| system | {{ check }} | {{ check }} |
| labs | {{ check }} | |
| llabs | {{ check }} | |
| div | {{ check }} | |
| ldiv | {{ check }} | |
| lldiv | {{ check }} | |
| bsearch | {{ check }} | |
| qsort | {{ check }} | |
| qsort_r | {{ check }} | |
| strtod | {{ check }} | |
| strtof | {{ check }} | |
| strtol | {{ check }} | |
| strtold | {{ check }} | |
| strtoll | {{ check }} | |
| strtoul | {{ check }} | |
| strtoull | {{ check }} | |
| srand | {{ check }} | |
| rand | {{ check }} | |
## inttypes.h
| Function Name | Available | RPC Required |
| ------------- | ----------- | ------------ |
| imaxabs | {{ check }} | |
| imaxdiv | {{ check }} | |
| strtoimax | {{ check }} | |
| strtoumax | {{ check }} | |
## stdio.h
| Function Name | Available | RPC Required |
| ------------- | ----------- | ------------ |
| feof | {{ check }} | {{ check }} |
| ferror | {{ check }} | {{ check }} |
| clearerr | {{ check }} | {{ check }} |
| fseek | {{ check }} | {{ check }} |
| ftell | {{ check }} | {{ check }} |
| fflush | {{ check }} | {{ check }} |
| fgetc | {{ check }} | {{ check }} |
| fgets | {{ check }} | {{ check }} |
| ungetc | {{ check }} | {{ check }} |
| getc | {{ check }} | {{ check }} |
| getchar | {{ check }} | {{ check }} |
| puts | {{ check }} | {{ check }} |
| fputs | {{ check }} | {{ check }} |
| fputc | {{ check }} | {{ check }} |
| fwrite | {{ check }} | {{ check }} |
| remove | {{ check }} | {{ check }} |
| rename | {{ check }} | {{ check }} |
| putc | {{ check }} | {{ check }} |
| printf | {{ check }} | {{ check }} |
| vprintf | {{ check }} | {{ check }} |
| fprintf | {{ check }} | {{ check }} |
| vfprintf | {{ check }} | {{ check }} |
| sprintf | {{ check }} | |
| snprintf | {{ check }} | |
| vsprintf | {{ check }} | |
| vsnprintf | {{ check }} | |
| sscanf | {{ check }} | |
| scanf | {{ check }} | {{ check }} |
| fscanf | {{ check }} | {{ check }} |
| putchar | {{ check }} | {{ check }} |
| fclose | {{ check }} | {{ check }} |
| fopen | {{ check }} | {{ check }} |
| fread | {{ check }} | {{ check }} |
## time.h
| Function Name | Available | RPC Required |
| ------------- | ----------- | ------------ |
| clock | {{ check }} | |
| clock_gettime | {{ check }} | |
| nanosleep | {{ check }} | |
| strftime | {{ check }} | |
| strftime_l | {{ check }} | |
## assert.h
| Function Name | Available | RPC Required |
| --------------- | ----------- | ------------ |
| assert | {{ check }} | {{ check }} |
| `__assert_fail` | {{ check }} | {{ check }} |