library ieee;
use ieee.std_logic_1164.all;

package needit is
  procedure count_them (x : in std_logic_vector; 
                        num_ones, num_zeros, num_zs : out integer);
end needit;

package body needit is
  procedure count_them (x : in std_logic_vector;
                        num_ones, num_zeros, num_zs : out integer) is
    variable n_ones, n_zeros, n_zs : integer;
  begin
    n_ones := 0;
    n_zeros := 0;
    n_zs := 0;
    for i in x'range loop
      if (x(i) = '1') then
        n_ones := n_ones + 1;
      elsif (x(i) = '0') then
        n_zeros := n_zeros + 1;
      elsif (x(i) = 'Z') then
        n_zs := n_zs + 1;
      end if;
    end loop;
    num_ones := n_ones;
    num_zeros := n_zeros;
    num_zs := n_zs;
  end count_them;
end needit;
                           
