Lines Matching refs:numeric_limits
86 ASSERT_GE(zero_point(), std::numeric_limits<uint8_t>::min()); in TestExactDivideByPO2()
87 ASSERT_LE(zero_point(), std::numeric_limits<uint8_t>::max()); in TestExactDivideByPO2()
88 ASSERT_GE(qmin(), std::numeric_limits<uint8_t>::min()); in TestExactDivideByPO2()
89 ASSERT_LE(qmin(), std::numeric_limits<uint8_t>::max()); in TestExactDivideByPO2()
90 ASSERT_GE(qmax(), std::numeric_limits<uint8_t>::min()); in TestExactDivideByPO2()
91 ASSERT_LE(qmax(), std::numeric_limits<uint8_t>::max()); in TestExactDivideByPO2()
100 const int32_t max_i = (uint32_t(std::numeric_limits<int32_t>::max()) >> s()) + zero_point(); in TestExactDivideByPO2()
101 const int32_t min_i = -(-uint32_t(std::numeric_limits<int32_t>::min()) >> s()) + zero_point(); in TestExactDivideByPO2()
102 for (int32_t i = 0; i <= std::numeric_limits<uint8_t>::max(); i++) { in TestExactDivideByPO2()
109 for (int32_t i = 0; i <= std::numeric_limits<uint8_t>::max(); i++) { in TestExactDivideByPO2()
126 ASSERT_GE(zero_point(), std::numeric_limits<int8_t>::min()); in TestExactDivideByPO2()
127 ASSERT_LE(zero_point(), std::numeric_limits<int8_t>::max()); in TestExactDivideByPO2()
128 ASSERT_GE(qmin(), std::numeric_limits<int8_t>::min()); in TestExactDivideByPO2()
129 ASSERT_LE(qmin(), std::numeric_limits<int8_t>::max()); in TestExactDivideByPO2()
130 ASSERT_GE(qmax(), std::numeric_limits<int8_t>::min()); in TestExactDivideByPO2()
131 ASSERT_LE(qmax(), std::numeric_limits<int8_t>::max()); in TestExactDivideByPO2()
140 const int32_t max_i = (uint32_t(std::numeric_limits<int32_t>::max()) >> s()) + zero_point(); in TestExactDivideByPO2()
141 const int32_t min_i = -(-uint32_t(std::numeric_limits<int32_t>::min()) >> s()) + zero_point(); in TestExactDivideByPO2()
142 …for (int32_t i = std::numeric_limits<int8_t>::min(); i <= std::numeric_limits<int8_t>::max(); i++)… in TestExactDivideByPO2()
144 …inputs[i - std::numeric_limits<int8_t>::min()] = int32_t(uint32_t(clamped_i - zero_point()) << s()… in TestExactDivideByPO2()
149 …for (int32_t i = std::numeric_limits<int8_t>::min(); i <= std::numeric_limits<int8_t>::max(); i++)… in TestExactDivideByPO2()
151 ASSERT_EQ(clamped_i, int32_t(outputs[i - std::numeric_limits<int8_t>::min()])) in TestExactDivideByPO2()
153 << ", input = " << inputs[i - std::numeric_limits<int8_t>::min()] in TestExactDivideByPO2()
167 ASSERT_GE(zero_point(), std::numeric_limits<uint8_t>::min()); in TestDivideByPO2WithRoundingUp()
168 ASSERT_LE(zero_point(), std::numeric_limits<uint8_t>::max()); in TestDivideByPO2WithRoundingUp()
169 ASSERT_GE(qmin(), std::numeric_limits<uint8_t>::min()); in TestDivideByPO2WithRoundingUp()
170 ASSERT_LE(qmin(), std::numeric_limits<uint8_t>::max()); in TestDivideByPO2WithRoundingUp()
171 ASSERT_GE(qmax(), std::numeric_limits<uint8_t>::min()); in TestDivideByPO2WithRoundingUp()
172 ASSERT_LE(qmax(), std::numeric_limits<uint8_t>::max()); in TestDivideByPO2WithRoundingUp()
181 for (int32_t i = 0; i <= std::numeric_limits<uint8_t>::max(); i++) { in TestDivideByPO2WithRoundingUp()
189 for (int32_t i = 0; i <= std::numeric_limits<uint8_t>::max(); i++) { in TestDivideByPO2WithRoundingUp()
208 ASSERT_GE(zero_point(), std::numeric_limits<int8_t>::min()); in TestDivideByPO2WithRoundingUp()
209 ASSERT_LE(zero_point(), std::numeric_limits<int8_t>::max()); in TestDivideByPO2WithRoundingUp()
210 ASSERT_GE(qmin(), std::numeric_limits<int8_t>::min()); in TestDivideByPO2WithRoundingUp()
211 ASSERT_LE(qmin(), std::numeric_limits<int8_t>::max()); in TestDivideByPO2WithRoundingUp()
212 ASSERT_GE(qmax(), std::numeric_limits<int8_t>::min()); in TestDivideByPO2WithRoundingUp()
213 ASSERT_LE(qmax(), std::numeric_limits<int8_t>::max()); in TestDivideByPO2WithRoundingUp()
222 …for (int32_t i = std::numeric_limits<int8_t>::min(); i <= std::numeric_limits<int8_t>::max(); i++)… in TestDivideByPO2WithRoundingUp()
225 inputs[i - std::numeric_limits<int8_t>::min()] = int32_t(input); in TestDivideByPO2WithRoundingUp()
230 …for (int32_t i = std::numeric_limits<int8_t>::min(); i <= std::numeric_limits<int8_t>::max(); i++)… in TestDivideByPO2WithRoundingUp()
234 ASSERT_EQ(i, int32_t(outputs[i - std::numeric_limits<int8_t>::min()])) in TestDivideByPO2WithRoundingUp()
249 ASSERT_GE(zero_point(), std::numeric_limits<uint8_t>::min()); in TestDivideByPO2WithRoundingDown()
250 ASSERT_LE(zero_point(), std::numeric_limits<uint8_t>::max()); in TestDivideByPO2WithRoundingDown()
251 ASSERT_GE(qmin(), std::numeric_limits<uint8_t>::min()); in TestDivideByPO2WithRoundingDown()
252 ASSERT_LE(qmin(), std::numeric_limits<uint8_t>::max()); in TestDivideByPO2WithRoundingDown()
253 ASSERT_GE(qmax(), std::numeric_limits<uint8_t>::min()); in TestDivideByPO2WithRoundingDown()
254 ASSERT_LE(qmax(), std::numeric_limits<uint8_t>::max()); in TestDivideByPO2WithRoundingDown()
263 for (int32_t i = 0; i <= std::numeric_limits<uint8_t>::max(); i++) { in TestDivideByPO2WithRoundingDown()
271 for (int32_t i = 0; i <= std::numeric_limits<uint8_t>::max(); i++) { in TestDivideByPO2WithRoundingDown()
290 ASSERT_GE(zero_point(), std::numeric_limits<int8_t>::min()); in TestDivideByPO2WithRoundingDown()
291 ASSERT_LE(zero_point(), std::numeric_limits<int8_t>::max()); in TestDivideByPO2WithRoundingDown()
292 ASSERT_GE(qmin(), std::numeric_limits<int8_t>::min()); in TestDivideByPO2WithRoundingDown()
293 ASSERT_LE(qmin(), std::numeric_limits<int8_t>::max()); in TestDivideByPO2WithRoundingDown()
294 ASSERT_GE(qmax(), std::numeric_limits<int8_t>::min()); in TestDivideByPO2WithRoundingDown()
295 ASSERT_LE(qmax(), std::numeric_limits<int8_t>::max()); in TestDivideByPO2WithRoundingDown()
304 …for (int32_t i = std::numeric_limits<int8_t>::min(); i <= std::numeric_limits<int8_t>::max(); i++)… in TestDivideByPO2WithRoundingDown()
307 inputs[i - std::numeric_limits<int8_t>::min()] = int32_t(input); in TestDivideByPO2WithRoundingDown()
312 …for (int32_t i = std::numeric_limits<int8_t>::min(); i <= std::numeric_limits<int8_t>::max(); i++)… in TestDivideByPO2WithRoundingDown()
316 ASSERT_EQ(i, int32_t(outputs[i - std::numeric_limits<int8_t>::min()])) in TestDivideByPO2WithRoundingDown()
324 ASSERT_GE(zero_point(), std::numeric_limits<uint8_t>::min()); in TestDivideByPO2WithRoundingTiesAway()
325 ASSERT_LE(zero_point(), std::numeric_limits<uint8_t>::max()); in TestDivideByPO2WithRoundingTiesAway()
326 ASSERT_GE(qmin(), std::numeric_limits<uint8_t>::min()); in TestDivideByPO2WithRoundingTiesAway()
327 ASSERT_LE(qmin(), std::numeric_limits<uint8_t>::max()); in TestDivideByPO2WithRoundingTiesAway()
328 ASSERT_GE(qmax(), std::numeric_limits<uint8_t>::min()); in TestDivideByPO2WithRoundingTiesAway()
329 ASSERT_LE(qmax(), std::numeric_limits<uint8_t>::max()); in TestDivideByPO2WithRoundingTiesAway()
338 for (int32_t i = 0; i <= std::numeric_limits<uint8_t>::max(); i++) { in TestDivideByPO2WithRoundingTiesAway()
350 for (int32_t i = 0; i <= std::numeric_limits<uint8_t>::max(); i++) { in TestDivideByPO2WithRoundingTiesAway()
366 ASSERT_GE(zero_point(), std::numeric_limits<int8_t>::min()); in TestDivideByPO2WithRoundingTiesAway()
367 ASSERT_LE(zero_point(), std::numeric_limits<int8_t>::max()); in TestDivideByPO2WithRoundingTiesAway()
368 ASSERT_GE(qmin(), std::numeric_limits<int8_t>::min()); in TestDivideByPO2WithRoundingTiesAway()
369 ASSERT_LE(qmin(), std::numeric_limits<int8_t>::max()); in TestDivideByPO2WithRoundingTiesAway()
370 ASSERT_GE(qmax(), std::numeric_limits<int8_t>::min()); in TestDivideByPO2WithRoundingTiesAway()
371 ASSERT_LE(qmax(), std::numeric_limits<int8_t>::max()); in TestDivideByPO2WithRoundingTiesAway()
380 …for (int32_t i = std::numeric_limits<int8_t>::min(); i <= std::numeric_limits<int8_t>::max(); i++)… in TestDivideByPO2WithRoundingTiesAway()
387 inputs[i - std::numeric_limits<int8_t>::min()] = int32_t(input); in TestDivideByPO2WithRoundingTiesAway()
392 …for (int32_t i = std::numeric_limits<int8_t>::min(); i <= std::numeric_limits<int8_t>::max(); i++)… in TestDivideByPO2WithRoundingTiesAway()
400 ASSERT_EQ(i, int32_t(outputs[i - std::numeric_limits<int8_t>::min()])) in TestDivideByPO2WithRoundingTiesAway()
408 ASSERT_GE(zero_point(), std::numeric_limits<int8_t>::min()); in TestDivideByPO2WithRoundingTiesUp()
409 ASSERT_LE(zero_point(), std::numeric_limits<int8_t>::max()); in TestDivideByPO2WithRoundingTiesUp()
410 ASSERT_GE(qmin(), std::numeric_limits<int8_t>::min()); in TestDivideByPO2WithRoundingTiesUp()
411 ASSERT_LE(qmin(), std::numeric_limits<int8_t>::max()); in TestDivideByPO2WithRoundingTiesUp()
412 ASSERT_GE(qmax(), std::numeric_limits<int8_t>::min()); in TestDivideByPO2WithRoundingTiesUp()
413 ASSERT_LE(qmax(), std::numeric_limits<int8_t>::max()); in TestDivideByPO2WithRoundingTiesUp()
422 …for (int32_t i = std::numeric_limits<int8_t>::min(); i <= std::numeric_limits<int8_t>::max(); i++)… in TestDivideByPO2WithRoundingTiesUp()
425 inputs[i - std::numeric_limits<int8_t>::min()] = int32_t(input); in TestDivideByPO2WithRoundingTiesUp()
430 …for (int32_t i = std::numeric_limits<int8_t>::min(); i <= std::numeric_limits<int8_t>::max(); i++)… in TestDivideByPO2WithRoundingTiesUp()
434 ASSERT_EQ(i, int32_t(outputs[i - std::numeric_limits<int8_t>::min()])) in TestDivideByPO2WithRoundingTiesUp()
442 ASSERT_GE(qmin(), std::numeric_limits<uint8_t>::min()); in TestSpecialCases()
443 ASSERT_LE(qmin(), std::numeric_limits<uint8_t>::max()); in TestSpecialCases()
444 ASSERT_GE(qmax(), std::numeric_limits<uint8_t>::min()); in TestSpecialCases()
445 ASSERT_LE(qmax(), std::numeric_limits<uint8_t>::max()); in TestSpecialCases()
451 std::fill(inputs.begin(), inputs.end(), std::numeric_limits<int32_t>::min()); in TestSpecialCases()
452 for (int32_t zero_point = 0; zero_point <= std::numeric_limits<uint8_t>::max(); zero_point++) { in TestSpecialCases()
458 std::numeric_limits<uint8_t>::min(), in TestSpecialCases()
459 std::numeric_limits<uint8_t>::max(), in TestSpecialCases()
462 …ASSERT_EQ(std::max(int32_t(int32_t(std::numeric_limits<uint8_t>::min())), zero_point - 1), int32_t… in TestSpecialCases()
466 std::fill(inputs.begin(), inputs.end(), std::numeric_limits<int32_t>::max()); in TestSpecialCases()
471 std::numeric_limits<uint8_t>::max() /* zero point */, in TestSpecialCases()
472 std::numeric_limits<uint8_t>::min(), in TestSpecialCases()
473 std::numeric_limits<uint8_t>::max(), in TestSpecialCases()
476 ASSERT_EQ(std::numeric_limits<uint8_t>::max(), int32_t(outputs[i])); in TestSpecialCases()
481 ASSERT_GE(qmin(), std::numeric_limits<int8_t>::min()); in TestSpecialCases()
482 ASSERT_LE(qmin(), std::numeric_limits<int8_t>::max()); in TestSpecialCases()
483 ASSERT_GE(qmax(), std::numeric_limits<int8_t>::min()); in TestSpecialCases()
484 ASSERT_LE(qmax(), std::numeric_limits<int8_t>::max()); in TestSpecialCases()
490 std::fill(inputs.begin(), inputs.end(), std::numeric_limits<int32_t>::min()); in TestSpecialCases()
491 for (int32_t zero_point = std::numeric_limits<int8_t>::min(); in TestSpecialCases()
492 zero_point <= std::numeric_limits<int8_t>::max(); in TestSpecialCases()
500 std::numeric_limits<int8_t>::min(), in TestSpecialCases()
501 std::numeric_limits<int8_t>::max(), in TestSpecialCases()
504 …ASSERT_EQ(std::max(int32_t(std::numeric_limits<int8_t>::min()), zero_point - 1), int32_t(outputs[i… in TestSpecialCases()
508 std::fill(inputs.begin(), inputs.end(), std::numeric_limits<int32_t>::max()); in TestSpecialCases()
513 std::numeric_limits<int8_t>::max() /* zero point */, in TestSpecialCases()
514 std::numeric_limits<int8_t>::min(), in TestSpecialCases()
515 std::numeric_limits<int8_t>::max(), in TestSpecialCases()
518 ASSERT_EQ(std::numeric_limits<int8_t>::max(), int32_t(outputs[i])); in TestSpecialCases()
523 ASSERT_GE(zero_point(), std::numeric_limits<uint8_t>::min()); in TestRandomCasesRoundToNearestTiesAway()
524 ASSERT_LE(zero_point(), std::numeric_limits<uint8_t>::max()); in TestRandomCasesRoundToNearestTiesAway()
525 ASSERT_GE(qmin(), std::numeric_limits<uint8_t>::min()); in TestRandomCasesRoundToNearestTiesAway()
526 ASSERT_LE(qmin(), std::numeric_limits<uint8_t>::max()); in TestRandomCasesRoundToNearestTiesAway()
527 ASSERT_GE(qmax(), std::numeric_limits<uint8_t>::min()); in TestRandomCasesRoundToNearestTiesAway()
528 ASSERT_LE(qmax(), std::numeric_limits<uint8_t>::max()); in TestRandomCasesRoundToNearestTiesAway()
535 …std::bind(std::uniform_int_distribution<uint32_t>(0, std::numeric_limits<uint8_t>::max()), std::re… in TestRandomCasesRoundToNearestTiesAway()
566 ASSERT_GE(zero_point(), std::numeric_limits<int8_t>::min()); in TestRandomCasesRoundToNearestTiesAway()
567 ASSERT_LE(zero_point(), std::numeric_limits<int8_t>::max()); in TestRandomCasesRoundToNearestTiesAway()
568 ASSERT_GE(qmin(), std::numeric_limits<int8_t>::min()); in TestRandomCasesRoundToNearestTiesAway()
569 ASSERT_LE(qmin(), std::numeric_limits<int8_t>::max()); in TestRandomCasesRoundToNearestTiesAway()
570 ASSERT_GE(qmax(), std::numeric_limits<int8_t>::min()); in TestRandomCasesRoundToNearestTiesAway()
571 ASSERT_LE(qmax(), std::numeric_limits<int8_t>::max()); in TestRandomCasesRoundToNearestTiesAway()
578 …std::uniform_int_distribution<int32_t>(std::numeric_limits<int8_t>::min(), std::numeric_limits<int… in TestRandomCasesRoundToNearestTiesAway()
609 ASSERT_GE(zero_point(), std::numeric_limits<int8_t>::min()); in TestRandomCasesRoundToNearestTiesUp()
610 ASSERT_LE(zero_point(), std::numeric_limits<int8_t>::max()); in TestRandomCasesRoundToNearestTiesUp()
611 ASSERT_GE(qmin(), std::numeric_limits<int8_t>::min()); in TestRandomCasesRoundToNearestTiesUp()
612 ASSERT_LE(qmin(), std::numeric_limits<int8_t>::max()); in TestRandomCasesRoundToNearestTiesUp()
613 ASSERT_GE(qmax(), std::numeric_limits<int8_t>::min()); in TestRandomCasesRoundToNearestTiesUp()
614 ASSERT_LE(qmax(), std::numeric_limits<int8_t>::max()); in TestRandomCasesRoundToNearestTiesUp()
621 …std::uniform_int_distribution<int32_t>(std::numeric_limits<int8_t>::min(), std::numeric_limits<int… in TestRandomCasesRoundToNearestTiesUp()
652 ASSERT_GE(zero_point(), std::numeric_limits<uint8_t>::min()); in TestRandomCasesApproximate()
653 ASSERT_LE(zero_point(), std::numeric_limits<uint8_t>::max()); in TestRandomCasesApproximate()
654 ASSERT_GE(qmin(), std::numeric_limits<uint8_t>::min()); in TestRandomCasesApproximate()
655 ASSERT_LE(qmin(), std::numeric_limits<uint8_t>::max()); in TestRandomCasesApproximate()
656 ASSERT_GE(qmax(), std::numeric_limits<uint8_t>::min()); in TestRandomCasesApproximate()
657 ASSERT_LE(qmax(), std::numeric_limits<uint8_t>::max()); in TestRandomCasesApproximate()
664 …std::bind(std::uniform_int_distribution<uint32_t>(0, std::numeric_limits<uint8_t>::max()), std::re… in TestRandomCasesApproximate()
697 ASSERT_GE(zero_point(), std::numeric_limits<int8_t>::min()); in TestRandomCasesApproximate()
698 ASSERT_LE(zero_point(), std::numeric_limits<int8_t>::max()); in TestRandomCasesApproximate()
699 ASSERT_GE(qmin(), std::numeric_limits<int8_t>::min()); in TestRandomCasesApproximate()
700 ASSERT_LE(qmin(), std::numeric_limits<int8_t>::max()); in TestRandomCasesApproximate()
701 ASSERT_GE(qmax(), std::numeric_limits<int8_t>::min()); in TestRandomCasesApproximate()
702 ASSERT_LE(qmax(), std::numeric_limits<int8_t>::max()); in TestRandomCasesApproximate()
709 …std::uniform_int_distribution<int32_t>(std::numeric_limits<int8_t>::min(), std::numeric_limits<int… in TestRandomCasesApproximate()
774 int16_t qmin_{std::numeric_limits<int16_t>::min()};
775 int16_t qmax_{std::numeric_limits<int16_t>::max()};