Соглашения об именах для числовых функций? - PullRequest
3 голосов
/ 21 марта 2012

Скажите, у меня есть эта функция:

int epic(int);

Я знаю об этих соглашениях об именах, верно? Существуют ли другие очень распространенные?

              long epicl   (long);
         long long epicll  (long long);
      unsigned int epicu   (unsigned int);
     unsigned long epicul  (unsigned long);
unsigned long long epicull (unsigned long long);
            double fepic   (double);
             float fepicf  (float);

Ответы [ 2 ]

1 голос
/ 21 марта 2012

Иногда, если тип возвращаемого значения отличается от типа (ов) аргумента, для указания этого используется префикс.Рассмотрим, например, следующее (из C99):


double round(double x);
float roundf(float x);
long double roundl(long double x);

long int lround(double x);
long int lroundf(float x);
long int lroundl(long double x);

long long int llround(double x);
long long int llroundf(float x);
long long int llroundl(long double x);
0 голосов
/ 21 марта 2012

Ну, вы в значительной степени суммировали большинство из них. Несколько вы забыли:

long double fepicl(long double); /* thanks @pmg */
double epich(double); /* if epic is a hyperbolic function  */

В некоторых встроенных системах, таких как ARM:

/* disclaimer, once saw them in an unofficial ARM SDK,
 * not sure if these conventions are standard */
u8 epic_8(u8);  
u16 epic_16(u16); 
...