Changeset 62595b31 for libcfa/prelude
- Timestamp:
- Nov 8, 2024, 5:14:27 PM (6 weeks ago)
- Branches:
- master
- Children:
- 44e2a5a
- Parents:
- 135a2d8
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libcfa/prelude/builtins.c
r135a2d8 r62595b31 10 10 // Created On : Fri Jul 21 16:21:03 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Feb 2 11:33:56 202313 // Update Count : 1 3512 // Last Modified On : Fri Nov 8 17:07:15 2024 13 // Update Count : 144 14 14 // 15 15 … … 140 140 ) \ 141 141 typeof(x) op = 1; /* accumulate odd product */ \ 142 typeof(x) w = x; /* FIX-ME: possible bug in the box pass changing value argument through parameter */ \ 142 143 for ( ; y > 1; y >>= 1 ) { /* squaring exponentiation, O(log2 y) */ \ 143 if ( (y & 1) == 1 ) op = op * x; /* odd ? */ \144 x = x * x; \144 if ( (y & 1) == 1 ) op = op * w; /* odd ? */ \ 145 w = w * w; \ 145 146 } \ 146 return x* op147 return w * op 147 148 #define __CFA_EXP_INT__(...) __VA_ARGS__ 148 149
Note: See TracChangeset
for help on using the changeset viewer.