Skip to content
This repository was archived by the owner on Aug 31, 2021. It is now read-only.

Commit f8309ef

Browse files
Add explicit casts to templated utility functions
1 parent acdf3e9 commit f8309ef

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

libcore/include/core.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -507,15 +507,15 @@ inline int32_t MCMin(int32_t a, int32_t b) { return a < b ? a : b; }
507507
inline int32_t MCMax(int32_t a, int32_t b) { return a > b ? a : b; }
508508
inline int64_t MCMin(int64_t a, int64_t b) { return a < b ? a : b; }
509509
inline int64_t MCMax(int64_t a, int64_t b) { return a > b ? a : b; }
510-
inline int64_t MCMin(uint64_t a, uint64_t b) { return a < b ? a : b; }
511-
inline int64_t MCMax(uint64_t a, uint64_t b) { return a > b ? a : b; }
510+
inline uint64_t MCMin(uint64_t a, uint64_t b) { return a < b ? a : b; }
511+
inline uint64_t MCMax(uint64_t a, uint64_t b) { return a > b ? a : b; }
512512
inline double MCMin(double a, double b) { return a < b ? a : b; }
513513
inline double MCMax(double a, double b) { return a > b ? a : b; }
514514
inline float MCMin(float a, float b) { return a < b ? a : b; }
515515
inline float MCMax(float a, float b) { return a > b ? a : b; }
516516

517-
inline uint32_t MCAbs(int32_t a) { return a < 0 ? -a : a; }
518-
inline uint64_t MCAbs(int64_t a) { return a < 0 ? -a : a; }
517+
inline uint32_t MCAbs(int32_t a) { return a < 0 ? uint32_t(-a) : uint32_t(a); }
518+
inline uint64_t MCAbs(int64_t a) { return a < 0 ? uint64_t(-a) : uint64_t(a); }
519519
inline float MCAbs(float a) { return fabsf(a); }
520520
inline double MCAbs(double a) { return fabs(a); }
521521
inline compare_t MCSgn(int32_t a) { return a < 0 ? -1 : (a > 0 ? 1 : 0); }

libfoundation/include/foundation.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -763,14 +763,16 @@ typedef struct __MCLocale* MCLocaleRef;
763763
// MINIMUM FUNCTIONS
764764
//
765765

766-
template <class T, class U> inline T MCMin(T a, U b) { return a < b ? a : b; }
766+
// TODO: re-write when we adopt C++11
767+
template <class T, class U> inline T MCMin(T a, U b) { return a < b ? a : T(b); }
767768

768769
////////////////////////////////////////////////////////////////////////////////
769770
//
770771
// MAXIMUM FUNCTIONS
771772
//
772773

773-
template <class T, class U> inline T MCMax(T a, U b) { return a > b ? a : b; }
774+
// TODO: re-write when we adopt C++11
775+
template <class T, class U> inline T MCMax(T a, U b) { return a > b ? a : T(b); }
774776

775777
////////////////////////////////////////////////////////////////////////////////
776778
//

0 commit comments

Comments
 (0)