Skip to content

Commit a7b5cde

Browse files
authored
Add missing function specifiers to match their declaration (#143)
All these function are declared with `static LIBDIVIDE_INLINE`, but do not have them at definition
1 parent 31f1e42 commit a7b5cde

File tree

1 file changed

+42
-42
lines changed

1 file changed

+42
-42
lines changed

libdivide.h

Lines changed: 42 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -821,11 +821,11 @@ static LIBDIVIDE_INLINE struct libdivide_u16_t libdivide_internal_u16_gen(
821821
return result;
822822
}
823823

824-
struct libdivide_u16_t libdivide_u16_gen(uint16_t d) {
824+
static LIBDIVIDE_INLINE struct libdivide_u16_t libdivide_u16_gen(uint16_t d) {
825825
return libdivide_internal_u16_gen(d, 0);
826826
}
827827

828-
struct libdivide_u16_branchfree_t libdivide_u16_branchfree_gen(uint16_t d) {
828+
static LIBDIVIDE_INLINE struct libdivide_u16_branchfree_t libdivide_u16_branchfree_gen(uint16_t d) {
829829
if (d == 1) {
830830
LIBDIVIDE_ERROR("branchfree divider must be != 1");
831831
}
@@ -838,7 +838,7 @@ struct libdivide_u16_branchfree_t libdivide_u16_branchfree_gen(uint16_t d) {
838838
// The original libdivide_u16_do takes a const pointer. However, this cannot be used
839839
// with a compile time constant libdivide_u16_t: it will generate a warning about
840840
// taking the address of a temporary. Hence this overload.
841-
uint16_t libdivide_u16_do_raw(uint16_t numer, uint16_t magic, uint8_t more) {
841+
static LIBDIVIDE_INLINE uint16_t libdivide_u16_do_raw(uint16_t numer, uint16_t magic, uint8_t more) {
842842
if (!magic) {
843843
return numer >> more;
844844
} else {
@@ -854,18 +854,18 @@ uint16_t libdivide_u16_do_raw(uint16_t numer, uint16_t magic, uint8_t more) {
854854
}
855855
}
856856

857-
uint16_t libdivide_u16_do(uint16_t numer, const struct libdivide_u16_t *denom) {
857+
static LIBDIVIDE_INLINE uint16_t libdivide_u16_do(uint16_t numer, const struct libdivide_u16_t *denom) {
858858
return libdivide_u16_do_raw(numer, denom->magic, denom->more);
859859
}
860860

861-
uint16_t libdivide_u16_branchfree_do(
861+
static LIBDIVIDE_INLINE uint16_t libdivide_u16_branchfree_do(
862862
uint16_t numer, const struct libdivide_u16_branchfree_t *denom) {
863863
uint16_t q = libdivide_mullhi_u16(numer, denom->magic);
864864
uint16_t t = ((numer - q) >> 1) + q;
865865
return t >> denom->more;
866866
}
867867

868-
uint16_t libdivide_u16_recover(const struct libdivide_u16_t *denom) {
868+
static LIBDIVIDE_INLINE uint16_t libdivide_u16_recover(const struct libdivide_u16_t *denom) {
869869
uint8_t more = denom->more;
870870
uint8_t shift = more & LIBDIVIDE_16_SHIFT_MASK;
871871

@@ -903,7 +903,7 @@ uint16_t libdivide_u16_recover(const struct libdivide_u16_t *denom) {
903903
}
904904
}
905905

906-
uint16_t libdivide_u16_branchfree_recover(const struct libdivide_u16_branchfree_t *denom) {
906+
static LIBDIVIDE_INLINE uint16_t libdivide_u16_branchfree_recover(const struct libdivide_u16_branchfree_t *denom) {
907907
uint8_t more = denom->more;
908908
uint8_t shift = more & LIBDIVIDE_16_SHIFT_MASK;
909909

@@ -985,11 +985,11 @@ static LIBDIVIDE_INLINE struct libdivide_u32_t libdivide_internal_u32_gen(
985985
return result;
986986
}
987987

988-
struct libdivide_u32_t libdivide_u32_gen(uint32_t d) {
988+
static LIBDIVIDE_INLINE struct libdivide_u32_t libdivide_u32_gen(uint32_t d) {
989989
return libdivide_internal_u32_gen(d, 0);
990990
}
991991

992-
struct libdivide_u32_branchfree_t libdivide_u32_branchfree_gen(uint32_t d) {
992+
static LIBDIVIDE_INLINE struct libdivide_u32_branchfree_t libdivide_u32_branchfree_gen(uint32_t d) {
993993
if (d == 1) {
994994
LIBDIVIDE_ERROR("branchfree divider must be != 1");
995995
}
@@ -999,7 +999,7 @@ struct libdivide_u32_branchfree_t libdivide_u32_branchfree_gen(uint32_t d) {
999999
return ret;
10001000
}
10011001

1002-
uint32_t libdivide_u32_do_raw(uint32_t numer, uint32_t magic, uint8_t more) {
1002+
static LIBDIVIDE_INLINE uint32_t libdivide_u32_do_raw(uint32_t numer, uint32_t magic, uint8_t more) {
10031003
if (!magic) {
10041004
return numer >> more;
10051005
} else {
@@ -1015,18 +1015,18 @@ uint32_t libdivide_u32_do_raw(uint32_t numer, uint32_t magic, uint8_t more) {
10151015
}
10161016
}
10171017

1018-
uint32_t libdivide_u32_do(uint32_t numer, const struct libdivide_u32_t *denom) {
1018+
static LIBDIVIDE_INLINE uint32_t libdivide_u32_do(uint32_t numer, const struct libdivide_u32_t *denom) {
10191019
return libdivide_u32_do_raw(numer, denom->magic, denom->more);
10201020
}
10211021

1022-
uint32_t libdivide_u32_branchfree_do(
1022+
static LIBDIVIDE_INLINE uint32_t libdivide_u32_branchfree_do(
10231023
uint32_t numer, const struct libdivide_u32_branchfree_t *denom) {
10241024
uint32_t q = libdivide_mullhi_u32(numer, denom->magic);
10251025
uint32_t t = ((numer - q) >> 1) + q;
10261026
return t >> denom->more;
10271027
}
10281028

1029-
uint32_t libdivide_u32_recover(const struct libdivide_u32_t *denom) {
1029+
static LIBDIVIDE_INLINE uint32_t libdivide_u32_recover(const struct libdivide_u32_t *denom) {
10301030
uint8_t more = denom->more;
10311031
uint8_t shift = more & LIBDIVIDE_32_SHIFT_MASK;
10321032

@@ -1064,7 +1064,7 @@ uint32_t libdivide_u32_recover(const struct libdivide_u32_t *denom) {
10641064
}
10651065
}
10661066

1067-
uint32_t libdivide_u32_branchfree_recover(const struct libdivide_u32_branchfree_t *denom) {
1067+
static LIBDIVIDE_INLINE uint32_t libdivide_u32_branchfree_recover(const struct libdivide_u32_branchfree_t *denom) {
10681068
uint8_t more = denom->more;
10691069
uint8_t shift = more & LIBDIVIDE_32_SHIFT_MASK;
10701070

@@ -1148,11 +1148,11 @@ static LIBDIVIDE_INLINE struct libdivide_u64_t libdivide_internal_u64_gen(
11481148
return result;
11491149
}
11501150

1151-
struct libdivide_u64_t libdivide_u64_gen(uint64_t d) {
1151+
static LIBDIVIDE_INLINE struct libdivide_u64_t libdivide_u64_gen(uint64_t d) {
11521152
return libdivide_internal_u64_gen(d, 0);
11531153
}
11541154

1155-
struct libdivide_u64_branchfree_t libdivide_u64_branchfree_gen(uint64_t d) {
1155+
static LIBDIVIDE_INLINE struct libdivide_u64_branchfree_t libdivide_u64_branchfree_gen(uint64_t d) {
11561156
if (d == 1) {
11571157
LIBDIVIDE_ERROR("branchfree divider must be != 1");
11581158
}
@@ -1162,7 +1162,7 @@ struct libdivide_u64_branchfree_t libdivide_u64_branchfree_gen(uint64_t d) {
11621162
return ret;
11631163
}
11641164

1165-
uint64_t libdivide_u64_do_raw(uint64_t numer, uint64_t magic, uint8_t more) {
1165+
static LIBDIVIDE_INLINE uint64_t libdivide_u64_do_raw(uint64_t numer, uint64_t magic, uint8_t more) {
11661166
if (!magic) {
11671167
return numer >> more;
11681168
} else {
@@ -1178,18 +1178,18 @@ uint64_t libdivide_u64_do_raw(uint64_t numer, uint64_t magic, uint8_t more) {
11781178
}
11791179
}
11801180

1181-
uint64_t libdivide_u64_do(uint64_t numer, const struct libdivide_u64_t *denom) {
1181+
static LIBDIVIDE_INLINE uint64_t libdivide_u64_do(uint64_t numer, const struct libdivide_u64_t *denom) {
11821182
return libdivide_u64_do_raw(numer, denom->magic, denom->more);
11831183
}
11841184

1185-
uint64_t libdivide_u64_branchfree_do(
1185+
static LIBDIVIDE_INLINE uint64_t libdivide_u64_branchfree_do(
11861186
uint64_t numer, const struct libdivide_u64_branchfree_t *denom) {
11871187
uint64_t q = libdivide_mullhi_u64(numer, denom->magic);
11881188
uint64_t t = ((numer - q) >> 1) + q;
11891189
return t >> denom->more;
11901190
}
11911191

1192-
uint64_t libdivide_u64_recover(const struct libdivide_u64_t *denom) {
1192+
static LIBDIVIDE_INLINE uint64_t libdivide_u64_recover(const struct libdivide_u64_t *denom) {
11931193
uint8_t more = denom->more;
11941194
uint8_t shift = more & LIBDIVIDE_64_SHIFT_MASK;
11951195

@@ -1233,7 +1233,7 @@ uint64_t libdivide_u64_recover(const struct libdivide_u64_t *denom) {
12331233
}
12341234
}
12351235

1236-
uint64_t libdivide_u64_branchfree_recover(const struct libdivide_u64_branchfree_t *denom) {
1236+
static LIBDIVIDE_INLINE uint64_t libdivide_u64_branchfree_recover(const struct libdivide_u64_branchfree_t *denom) {
12371237
uint8_t more = denom->more;
12381238
uint8_t shift = more & LIBDIVIDE_64_SHIFT_MASK;
12391239

@@ -1336,11 +1336,11 @@ static LIBDIVIDE_INLINE struct libdivide_s16_t libdivide_internal_s16_gen(
13361336
return result;
13371337
}
13381338

1339-
struct libdivide_s16_t libdivide_s16_gen(int16_t d) {
1339+
static LIBDIVIDE_INLINE struct libdivide_s16_t libdivide_s16_gen(int16_t d) {
13401340
return libdivide_internal_s16_gen(d, 0);
13411341
}
13421342

1343-
struct libdivide_s16_branchfree_t libdivide_s16_branchfree_gen(int16_t d) {
1343+
static LIBDIVIDE_INLINE struct libdivide_s16_branchfree_t libdivide_s16_branchfree_gen(int16_t d) {
13441344
struct libdivide_s16_t tmp = libdivide_internal_s16_gen(d, 1);
13451345
struct libdivide_s16_branchfree_t result = {tmp.magic, tmp.more};
13461346
return result;
@@ -1349,7 +1349,7 @@ struct libdivide_s16_branchfree_t libdivide_s16_branchfree_gen(int16_t d) {
13491349
// The original libdivide_s16_do takes a const pointer. However, this cannot be used
13501350
// with a compile time constant libdivide_s16_t: it will generate a warning about
13511351
// taking the address of a temporary. Hence this overload.
1352-
int16_t libdivide_s16_do_raw(int16_t numer, int16_t magic, uint8_t more) {
1352+
static LIBDIVIDE_INLINE int16_t libdivide_s16_do_raw(int16_t numer, int16_t magic, uint8_t more) {
13531353
uint8_t shift = more & LIBDIVIDE_16_SHIFT_MASK;
13541354

13551355
if (!magic) {
@@ -1376,11 +1376,11 @@ int16_t libdivide_s16_do_raw(int16_t numer, int16_t magic, uint8_t more) {
13761376
}
13771377
}
13781378

1379-
int16_t libdivide_s16_do(int16_t numer, const struct libdivide_s16_t *denom) {
1379+
static LIBDIVIDE_INLINE int16_t libdivide_s16_do(int16_t numer, const struct libdivide_s16_t *denom) {
13801380
return libdivide_s16_do_raw(numer, denom->magic, denom->more);
13811381
}
13821382

1383-
int16_t libdivide_s16_branchfree_do(int16_t numer, const struct libdivide_s16_branchfree_t *denom) {
1383+
static LIBDIVIDE_INLINE int16_t libdivide_s16_branchfree_do(int16_t numer, const struct libdivide_s16_branchfree_t *denom) {
13841384
uint8_t more = denom->more;
13851385
uint8_t shift = more & LIBDIVIDE_16_SHIFT_MASK;
13861386
// must be arithmetic shift and then sign extend
@@ -1404,7 +1404,7 @@ int16_t libdivide_s16_branchfree_do(int16_t numer, const struct libdivide_s16_br
14041404
return q;
14051405
}
14061406

1407-
int16_t libdivide_s16_recover(const struct libdivide_s16_t *denom) {
1407+
static LIBDIVIDE_INLINE int16_t libdivide_s16_recover(const struct libdivide_s16_t *denom) {
14081408
uint8_t more = denom->more;
14091409
uint8_t shift = more & LIBDIVIDE_16_SHIFT_MASK;
14101410
if (!denom->magic) {
@@ -1439,7 +1439,7 @@ int16_t libdivide_s16_recover(const struct libdivide_s16_t *denom) {
14391439
}
14401440
}
14411441

1442-
int16_t libdivide_s16_branchfree_recover(const struct libdivide_s16_branchfree_t *denom) {
1442+
static LIBDIVIDE_INLINE int16_t libdivide_s16_branchfree_recover(const struct libdivide_s16_branchfree_t *denom) {
14431443
const struct libdivide_s16_t den = {denom->magic, denom->more};
14441444
return libdivide_s16_recover(&den);
14451445
}
@@ -1512,17 +1512,17 @@ static LIBDIVIDE_INLINE struct libdivide_s32_t libdivide_internal_s32_gen(
15121512
return result;
15131513
}
15141514

1515-
struct libdivide_s32_t libdivide_s32_gen(int32_t d) {
1515+
static LIBDIVIDE_INLINE struct libdivide_s32_t libdivide_s32_gen(int32_t d) {
15161516
return libdivide_internal_s32_gen(d, 0);
15171517
}
15181518

1519-
struct libdivide_s32_branchfree_t libdivide_s32_branchfree_gen(int32_t d) {
1519+
static LIBDIVIDE_INLINE struct libdivide_s32_branchfree_t libdivide_s32_branchfree_gen(int32_t d) {
15201520
struct libdivide_s32_t tmp = libdivide_internal_s32_gen(d, 1);
15211521
struct libdivide_s32_branchfree_t result = {tmp.magic, tmp.more};
15221522
return result;
15231523
}
15241524

1525-
int32_t libdivide_s32_do_raw(int32_t numer, int32_t magic, uint8_t more) {
1525+
static LIBDIVIDE_INLINE int32_t libdivide_s32_do_raw(int32_t numer, int32_t magic, uint8_t more) {
15261526
uint8_t shift = more & LIBDIVIDE_32_SHIFT_MASK;
15271527

15281528
if (!magic) {
@@ -1549,11 +1549,11 @@ int32_t libdivide_s32_do_raw(int32_t numer, int32_t magic, uint8_t more) {
15491549
}
15501550
}
15511551

1552-
int32_t libdivide_s32_do(int32_t numer, const struct libdivide_s32_t *denom) {
1552+
static LIBDIVIDE_INLINE int32_t libdivide_s32_do(int32_t numer, const struct libdivide_s32_t *denom) {
15531553
return libdivide_s32_do_raw(numer, denom->magic, denom->more);
15541554
}
15551555

1556-
int32_t libdivide_s32_branchfree_do(int32_t numer, const struct libdivide_s32_branchfree_t *denom) {
1556+
static LIBDIVIDE_INLINE int32_t libdivide_s32_branchfree_do(int32_t numer, const struct libdivide_s32_branchfree_t *denom) {
15571557
uint8_t more = denom->more;
15581558
uint8_t shift = more & LIBDIVIDE_32_SHIFT_MASK;
15591559
// must be arithmetic shift and then sign extend
@@ -1577,7 +1577,7 @@ int32_t libdivide_s32_branchfree_do(int32_t numer, const struct libdivide_s32_br
15771577
return q;
15781578
}
15791579

1580-
int32_t libdivide_s32_recover(const struct libdivide_s32_t *denom) {
1580+
static LIBDIVIDE_INLINE int32_t libdivide_s32_recover(const struct libdivide_s32_t *denom) {
15811581
uint8_t more = denom->more;
15821582
uint8_t shift = more & LIBDIVIDE_32_SHIFT_MASK;
15831583
if (!denom->magic) {
@@ -1612,7 +1612,7 @@ int32_t libdivide_s32_recover(const struct libdivide_s32_t *denom) {
16121612
}
16131613
}
16141614

1615-
int32_t libdivide_s32_branchfree_recover(const struct libdivide_s32_branchfree_t *denom) {
1615+
static LIBDIVIDE_INLINE int32_t libdivide_s32_branchfree_recover(const struct libdivide_s32_branchfree_t *denom) {
16161616
const struct libdivide_s32_t den = {denom->magic, denom->more};
16171617
return libdivide_s32_recover(&den);
16181618
}
@@ -1685,17 +1685,17 @@ static LIBDIVIDE_INLINE struct libdivide_s64_t libdivide_internal_s64_gen(
16851685
return result;
16861686
}
16871687

1688-
struct libdivide_s64_t libdivide_s64_gen(int64_t d) {
1688+
static LIBDIVIDE_INLINE struct libdivide_s64_t libdivide_s64_gen(int64_t d) {
16891689
return libdivide_internal_s64_gen(d, 0);
16901690
}
16911691

1692-
struct libdivide_s64_branchfree_t libdivide_s64_branchfree_gen(int64_t d) {
1692+
static LIBDIVIDE_INLINE struct libdivide_s64_branchfree_t libdivide_s64_branchfree_gen(int64_t d) {
16931693
struct libdivide_s64_t tmp = libdivide_internal_s64_gen(d, 1);
16941694
struct libdivide_s64_branchfree_t ret = {tmp.magic, tmp.more};
16951695
return ret;
16961696
}
16971697

1698-
int64_t libdivide_s64_do_raw(int64_t numer, int64_t magic, uint8_t more) {
1698+
static LIBDIVIDE_INLINE int64_t libdivide_s64_do_raw(int64_t numer, int64_t magic, uint8_t more) {
16991699
uint8_t shift = more & LIBDIVIDE_64_SHIFT_MASK;
17001700

17011701
if (!magic) { // shift path
@@ -1723,11 +1723,11 @@ int64_t libdivide_s64_do_raw(int64_t numer, int64_t magic, uint8_t more) {
17231723
}
17241724
}
17251725

1726-
int64_t libdivide_s64_do(int64_t numer, const struct libdivide_s64_t *denom) {
1726+
static LIBDIVIDE_INLINE int64_t libdivide_s64_do(int64_t numer, const struct libdivide_s64_t *denom) {
17271727
return libdivide_s64_do_raw(numer, denom->magic, denom->more);
17281728
}
17291729

1730-
int64_t libdivide_s64_branchfree_do(int64_t numer, const struct libdivide_s64_branchfree_t *denom) {
1730+
static LIBDIVIDE_INLINE int64_t libdivide_s64_branchfree_do(int64_t numer, const struct libdivide_s64_branchfree_t *denom) {
17311731
uint8_t more = denom->more;
17321732
uint8_t shift = more & LIBDIVIDE_64_SHIFT_MASK;
17331733
// must be arithmetic shift and then sign extend
@@ -1751,7 +1751,7 @@ int64_t libdivide_s64_branchfree_do(int64_t numer, const struct libdivide_s64_br
17511751
return q;
17521752
}
17531753

1754-
int64_t libdivide_s64_recover(const struct libdivide_s64_t *denom) {
1754+
static LIBDIVIDE_INLINE int64_t libdivide_s64_recover(const struct libdivide_s64_t *denom) {
17551755
uint8_t more = denom->more;
17561756
uint8_t shift = more & LIBDIVIDE_64_SHIFT_MASK;
17571757
if (denom->magic == 0) { // shift path
@@ -1777,7 +1777,7 @@ int64_t libdivide_s64_recover(const struct libdivide_s64_t *denom) {
17771777
}
17781778
}
17791779

1780-
int64_t libdivide_s64_branchfree_recover(const struct libdivide_s64_branchfree_t *denom) {
1780+
static LIBDIVIDE_INLINE int64_t libdivide_s64_branchfree_recover(const struct libdivide_s64_branchfree_t *denom) {
17811781
const struct libdivide_s64_t den = {denom->magic, denom->more};
17821782
return libdivide_s64_recover(&den);
17831783
}

0 commit comments

Comments
 (0)