Lines Matching refs:b
519 static inline unsigned int div32(unsigned int a, unsigned int b, in div32() argument
522 if (b == 0) { in div32()
526 *r = a % b; in div32()
527 return a / b; in div32()
530 static inline unsigned int div_down(unsigned int a, unsigned int b) in div_down() argument
532 if (b == 0) in div_down()
534 return a / b; in div_down()
537 static inline unsigned int div_up(unsigned int a, unsigned int b) in div_up() argument
541 if (b == 0) in div_up()
543 q = div32(a, b, &r); in div_up()
549 static inline unsigned int mul(unsigned int a, unsigned int b) in mul() argument
553 if (div_down(UINT_MAX, a) < b) in mul()
555 return a * b; in mul()
558 static inline unsigned int muldiv32(unsigned int a, unsigned int b, in muldiv32() argument
561 u_int64_t n = (u_int64_t) a * b; in muldiv32()
662 void snd_interval_mul(const struct snd_interval *a, const struct snd_interval *b, struct snd_interv… in snd_interval_mul() argument
664 if (a->empty || b->empty) { in snd_interval_mul()
669 c->min = mul(a->min, b->min); in snd_interval_mul()
670 c->openmin = (a->openmin || b->openmin); in snd_interval_mul()
671 c->max = mul(a->max, b->max); in snd_interval_mul()
672 c->openmax = (a->openmax || b->openmax); in snd_interval_mul()
673 c->integer = (a->integer && b->integer); in snd_interval_mul()
686 void snd_interval_div(const struct snd_interval *a, const struct snd_interval *b, struct snd_interv… in snd_interval_div() argument
689 if (a->empty || b->empty) { in snd_interval_div()
694 c->min = div32(a->min, b->max, &r); in snd_interval_div()
695 c->openmin = (r || a->openmin || b->openmax); in snd_interval_div()
696 if (b->min > 0) { in snd_interval_div()
697 c->max = div32(a->max, b->min, &r); in snd_interval_div()
702 c->openmax = (a->openmax || b->openmin); in snd_interval_div()
721 void snd_interval_muldivk(const struct snd_interval *a, const struct snd_interval *b, in snd_interval_muldivk() argument
725 if (a->empty || b->empty) { in snd_interval_muldivk()
730 c->min = muldiv32(a->min, b->min, k, &r); in snd_interval_muldivk()
731 c->openmin = (r || a->openmin || b->openmin); in snd_interval_muldivk()
732 c->max = muldiv32(a->max, b->max, k, &r); in snd_interval_muldivk()
737 c->openmax = (a->openmax || b->openmax); in snd_interval_muldivk()
753 const struct snd_interval *b, struct snd_interval *c) in snd_interval_mulkdiv() argument
756 if (a->empty || b->empty) { in snd_interval_mulkdiv()
761 c->min = muldiv32(a->min, k, b->max, &r); in snd_interval_mulkdiv()
762 c->openmin = (r || a->openmin || b->openmax); in snd_interval_mulkdiv()
763 if (b->min > 0) { in snd_interval_mulkdiv()
764 c->max = muldiv32(a->max, k, b->min, &r); in snd_interval_mulkdiv()
769 c->openmax = (a->openmax || b->openmin); in snd_interval_mulkdiv()