On Thu, Apr 05, 2018 at 09:32:57AM -0600, Ian Lepore wrote: > On Thu, 2018-04-05 at 14:31 +0000, Roger Pau Monné wrote: > > Author: royger > > Date: Thu Apr 5 14:31:54 2018 > > New Revision: 332072 > > URL: https://svnweb.freebsd.org/changeset/base/332072 > > > > Log: > > introduce GiB and MiB macros > > > > This macros convert from GiB or MiB into bytes. > > > > Sponsored by: Citrix Systems R&D > > > > Modified: > > head/sys/sys/param.h > > > > Modified: head/sys/sys/param.h > > ============================================================================== > > --- head/sys/sys/param.h Thu Apr 5 14:25:39 2018 (r332071) > > +++ head/sys/sys/param.h Thu Apr 5 14:31:54 2018 (r332072) > > @@ -362,4 +362,8 @@ __END_DECLS > > */ > > #define __PAST_END(array, offset) (((__typeof__(*(array)) > > *)(array))[offset]) > > > > +/* Unit conversion macros. */ > > +#define GiB(v) (v ## ULL << 30) > > +#define MiB(v) (v ## ULL << 20) > > + > > #endif /* _SYS_PARAM_H_ */ > > > > These names don't make it clear whether the conversion is bytes->GiB or > GiB->bytes. The names seem way too generic for a public namespace in a > file as heavily included behind your back as param.h is. > > Also, this completely reasonable usage won't work, likely with > confusing compile error messages: > > int bytes, gibytes; > ... > bytes = GiB(gibytes);
I find those helpful for their specific usage. I could introduce static inline functions like: size_t gb_to_bytes(size_t)... But I assume this is also going to cause further discussion. Roger. _______________________________________________ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"