История изменений
Исправление splinter, (текущая версия) :
Илик примеру, мне необходимо вернуть результат деления если число положительное, в Си я это сделаю одним макросом:
#define isFALSE -1
#define retDivPositive(a,b,ret) (a > 0) & (b > 0) ? (ret = (a/b)) : (ret = isFALSE);
retDivPositive(4,2,a);
retDivPositive(0.888, 2.001, b);
retDivPositive(3, 0.3, c);
printf("a = %d, b = %f c = %e",a,b,c);
a = 2, b = 0.443778 c = 1.000000e+01
В Ada я бы запарился приводить к типам.
Исходная версия splinter, :
Илик примеру, мне необходимо вернуть результат деления если число положительное, в Си я это сделаю одним макросом:
#define retDivPositive(a,b,ret) (a > 0) & (b > 0) ? (ret = (a/b)) : (ret = isFALSE);
retDivPositive(4,2,a);
retDivPositive(0.888, 2.001, b);
retDivPositive(3, 0.3, c);
printf("a = %d, b = %f c = %e",a,b,c);
a = 2, b = 0.443778 c = 1.000000e+01
В Ada я бы запарился приводить к типам.