LINUX.ORG.RU

История изменений

Исправление PolarFox, (текущая версия) :

мне больше всего не хватает какой-нибудь формы дженериков

#define acos(X) _Generic((X), \
    long double complex: cacosl, \
    double complex: cacos, \
    float complex: cacosf, \
    long double: acosl, \
    float: acosf, \
    default: acos \
    )(X)

В С11 есть, правда писать неудобно.

Хотя что-то вру, это скорее перегруженные функции, чем дженерики. Но называется generic, да.

возврат нескольких значений из функции

Можно возвращать структуру.

Исходная версия PolarFox, :

мне больше всего не хватает какой-нибудь формы дженериков

#define acos(X) _Generic((X), \
    long double complex: cacosl, \
    double complex: cacos, \
    float complex: cacosf, \
    long double: acosl, \
    float: acosf, \
    default: acos \
    )(X)

В С11 есть, правда писать неудобно.

возврат нескольких значений из функции

Можно возвращать структуру.