It doesn't seem to be possible to do something that functions like the code below in VHDL. Is this possible using some other syntax? Is there such a thing as an if statement that can be put inside the range declaration? I can't find anything online about this.
if not using_census_vector then
variable diff : natural range 0 to ((2**cRed_pixel_bits)+(2**cGreen_pixel_bits)+(2**cBlue_pixel_bits)) * window_size * window_size - 1 := 0;
else
variable diff : natural range 0 to ((window_size * window_size * 3 )) := 0;
end if;