| 726 | |
| 727 | template <typename T> |
| 728 | void AssetsLibrary::fill_tensor_uniform(T &&tensor, std::random_device::result_type seed_offset) const |
| 729 | { |
| 730 | switch (tensor.data_type()) |
| 731 | { |
| 732 | case DataType::U8: |
| 733 | case DataType::QASYMM8: |
| 734 | { |
| 735 | std::uniform_int_distribution<unsigned int> distribution_u8(std::numeric_limits<uint8_t>::lowest(), |
| 736 | std::numeric_limits<uint8_t>::max()); |
| 737 | fill(tensor, distribution_u8, seed_offset); |
| 738 | break; |
| 739 | } |
| 740 | case DataType::S8: |
| 741 | case DataType::QSYMM8: |
| 742 | case DataType::QSYMM8_PER_CHANNEL: |
| 743 | case DataType::QASYMM8_SIGNED: |
| 744 | { |
| 745 | std::uniform_int_distribution<int> distribution_s8(std::numeric_limits<int8_t>::lowest(), |
| 746 | std::numeric_limits<int8_t>::max()); |
| 747 | fill(tensor, distribution_s8, seed_offset); |
| 748 | break; |
| 749 | } |
| 750 | case DataType::U16: |
| 751 | case DataType::QASYMM16: |
| 752 | { |
| 753 | std::uniform_int_distribution<uint16_t> distribution_u16(std::numeric_limits<uint16_t>::lowest(), |
| 754 | std::numeric_limits<uint16_t>::max()); |
| 755 | fill(tensor, distribution_u16, seed_offset); |
| 756 | break; |
| 757 | } |
| 758 | case DataType::S16: |
| 759 | case DataType::QSYMM16: |
| 760 | { |
| 761 | std::uniform_int_distribution<int16_t> distribution_s16(std::numeric_limits<int16_t>::lowest(), |
| 762 | std::numeric_limits<int16_t>::max()); |
| 763 | fill(tensor, distribution_s16, seed_offset); |
| 764 | break; |
| 765 | } |
| 766 | case DataType::U32: |
| 767 | { |
| 768 | std::uniform_int_distribution<uint32_t> distribution_u32(std::numeric_limits<uint32_t>::lowest(), |
| 769 | std::numeric_limits<uint32_t>::max()); |
| 770 | fill(tensor, distribution_u32, seed_offset); |
| 771 | break; |
| 772 | } |
| 773 | case DataType::S32: |
| 774 | { |
| 775 | std::uniform_int_distribution<int32_t> distribution_s32(std::numeric_limits<int32_t>::lowest(), |
| 776 | std::numeric_limits<int32_t>::max()); |
| 777 | fill(tensor, distribution_s32, seed_offset); |
| 778 | break; |
| 779 | } |
| 780 | case DataType::U64: |
| 781 | { |
| 782 | std::uniform_int_distribution<uint64_t> distribution_u64(std::numeric_limits<uint64_t>::lowest(), |
| 783 | std::numeric_limits<uint64_t>::max()); |
| 784 | fill(tensor, distribution_u64, seed_offset); |
| 785 | break; |
no test coverage detected