- Internals of PixelComponentMapper changed to use heap to store its data.

- Fixed couple tests.
This commit is contained in:
Kirill Kuzminykh
2022-10-29 02:13:55 +04:00
parent 404536bf99
commit 6c89f4fbae
3 changed files with 27 additions and 12 deletions
+1
View File
@@ -3,6 +3,7 @@
### Crate
- Added method `CpuExtensions::is_supported(&self)`.
- Internals of `PixelComponentMapper` changed to use heap to store its data.
- Fixed link to documentation page in `README.md` file.
## [2.0.0] - 2022-10-28
+12 -12
View File
@@ -124,10 +124,10 @@ where
}
struct MappingTablesGroup {
u8_u8: MappingTable<u8, 256>,
u8_u16: MappingTable<u16, 256>,
u16_u8: MappingTable<u8, 65536>,
u16_u16: MappingTable<u16, 65536>,
u8_u8: Box<MappingTable<u8, 256>>,
u8_u16: Box<MappingTable<u16, 256>>,
u16_u8: Box<MappingTable<u8, 65536>>,
u16_u16: Box<MappingTable<u16, 65536>>,
}
/// Mapper of pixel's components.
@@ -182,16 +182,16 @@ impl PixelComponentMapper {
{
Self {
forward_mapping_tables: MappingTablesGroup {
u8_u8: MappingTable::new(&forward_map_func),
u8_u16: MappingTable::new(&forward_map_func),
u16_u8: MappingTable::new(&forward_map_func),
u16_u16: MappingTable::new(&forward_map_func),
u8_u8: Box::new(MappingTable::new(&forward_map_func)),
u8_u16: Box::new(MappingTable::new(&forward_map_func)),
u16_u8: Box::new(MappingTable::new(&forward_map_func)),
u16_u16: Box::new(MappingTable::new(&forward_map_func)),
},
backward_mapping_tables: MappingTablesGroup {
u8_u8: MappingTable::new(&backward_map_func),
u8_u16: MappingTable::new(&backward_map_func),
u16_u8: MappingTable::new(&backward_map_func),
u16_u16: MappingTable::new(&backward_map_func),
u8_u8: Box::new(MappingTable::new(&backward_map_func)),
u8_u16: Box::new(MappingTable::new(&backward_map_func)),
u16_u8: Box::new(MappingTable::new(&backward_map_func)),
u16_u16: Box::new(MappingTable::new(&backward_map_func)),
},
}
}
+14
View File
@@ -520,6 +520,13 @@ fn multiply_alpha_real_image_test() {
cpu_extensions_vec.push(CpuExtensions::Avx2);
}
for cpu_extensions in cpu_extensions_vec {
if !cpu_extensions.is_supported() {
println!(
"Cpu Extensions '{}' not supported by your CPU",
cpu_ext_into_str(cpu_extensions)
);
continue;
}
unsafe {
alpha_mul_div.set_cpu_extensions(cpu_extensions);
}
@@ -560,6 +567,13 @@ fn divide_alpha_real_image_test() {
cpu_extensions_vec.push(CpuExtensions::Avx2);
}
for cpu_extensions in cpu_extensions_vec {
if !cpu_extensions.is_supported() {
println!(
"Cpu Extensions '{}' not supported by your CPU",
cpu_ext_into_str(cpu_extensions)
);
continue;
}
unsafe {
alpha_mul_div.set_cpu_extensions(cpu_extensions);
}