(
            self, data, is_many_chan, is_many_line)
Verifies that the shape of the specified NumPy array can be used
        to read samples from the current task which contains one or more
        channels that have one or more digital lines per channel, if the
        "verify_array_shape" property is set to True.

        Args:
            data (numpy.ndarray): Specifies the NumPy array to verify.
            is_many_chan (bool): Specifies if the write method is a
                many channel version.
            is_many_line (bool): Specifies if the write method is a
                many line version.
Verifies that the shape of the specified NumPy array can be used
        to read samples from the current task which contains one or more
        channels that have one or more digital lines per channel, if the
        "verify_array_shape" property is set to True.
Verifies that the shape of the specified NumPy array can be used to read samples from the current task which contains one or more channels that have one or more digital lines per channel if the verify_array_shape property is set to True .
def _verify_array_digital_lines(
            self, data, is_many_chan, is_many_line):
        """
        Verifies that the shape of the specified NumPy array can be used
        to read samples from the current task which contains one or more
        channels that have one or more digital lines per channel, if the
        "verify_array_shape" property is set to True.

        Args:
            data (numpy.ndarray): Specifies the NumPy array to verify.
            is_many_chan (bool): Specifies if the write method is a
                many channel version.
            is_many_line (bool): Specifies if the write method is a
                many line version.
        """
        if not self._verify_array_shape:
            return

        channels_to_write = self._task.channels
        number_of_channels = len(channels_to_write.channel_names)
        number_of_lines = self._out_stream.do_num_booleans_per_chan

        expected_num_dimensions = None
        if is_many_chan:
            if data.shape[0] != number_of_channels:
                self._task._raise_invalid_write_num_chans_error(
                    number_of_channels, data.shape[0])

            if is_many_line:
                expected_num_dimensions = 2
                if data.shape[1] != number_of_lines:
                    self._task._raise_invalid_num_lines_error(
                        number_of_lines, data.shape[1])
            else:
                expected_num_dimensions = 1
        else:
            if is_many_line:
                expected_num_dimensions = 1
                if data.shape[0] != number_of_lines:
                    self._task._raise_invalid_num_lines_error(
                        number_of_lines, data.shape[0])

        if expected_num_dimensions is not None:
            self._raise_error_if_invalid_write_dimensions(
                expected_num_dimensions, len(data.shape))
def _verify_array_digital_lines ( self , data , is_many_chan , is_many_line ) : if not self . _verify_array_shape : return channels_to_write = self . _task . channels number_of_channels = len ( channels_to_write . channel_names ) number_of_lines = self . _out_stream . do_num_booleans_per_chan expected_num_dimensions = None if is_many_chan : if data . shape [ 0 ] != number_of_channels : self . _task . _raise_invalid_write_num_chans_error ( number_of_channels , data . shape [ 0 ] ) if is_many_line : expected_num_dimensions = 2 if data . shape [ 1 ] != number_of_lines : self . _task . _raise_invalid_num_lines_error ( number_of_lines , data . shape [ 1 ] ) else : expected_num_dimensions = 1 else : if is_many_line : expected_num_dimensions = 1 if data . shape [ 0 ] != number_of_lines : self . _task . _raise_invalid_num_lines_error ( number_of_lines , data . shape [ 0 ] ) if expected_num_dimensions is not None : self . _raise_error_if_invalid_write_dimensions ( expected_num_dimensions , len ( data . shape ) )