<commit_before>#pragma once
#include "expression.hpp"
#include "expression_node.hpp"

namespace nnk
{

	template <class T>
	class convolution_2d_expression_node : public expression_node<T>
	{
	private:

		typedef expression_node<T> base_type;

	public:

		typedef typename base_type::scalar_type scalar_type;
		typedef typename base_type::tensor_type tensor_type;
		typedef typename base_type::node_pointer node_pointer;

		convolution_2d_expression_node(
			const node_pointer& base,
			std::size_t input_height,
			std::size_t input_width,
			std::size_t input_depth,
			std::size_t filter_height,
			std::size_t filter_width)
			: base_(base)
			, input_height_(input_height)
			, input_width_(input_width)
			, input_depth_(input_depth)
			, filter_height_(filter_height)
			, filter_width_(filter_width)
		{
			BOOST_ASSERT(input_height >= 1);
			BOOST_ASSERT(input_width >= 1);
			BOOST_ASSERT(input_depth >= 1);
			BOOST_ASSERT(filter_height >= 2);
			BOOST_ASSERT(filter_width >= 2);
			BOOST_ASSERT(input_height >= filter_height);
			BOOST_ASSERT(input_width >= filter_width);<commit_msg>Fix assertions<commit_after>#pragma once
#include "expression.hpp"
#include "expression_node.hpp"

namespace nnk
{

	template <class T>
	class convolution_2d_expression_node : public expression_node<T>
	{
	private:

		typedef expression_node<T> base_type;

	public:

		typedef typename base_type::scalar_type scalar_type;
		typedef typename base_type::tensor_type tensor_type;
		typedef typename base_type::node_pointer node_pointer;

		convolution_2d_expression_node(
			const node_pointer& base,
			std::size_t input_height,
			std::size_t input_width,
			std::size_t input_depth,
			std::size_t filter_height,
			std::size_t filter_width)
			: base_(base)
			, input_height_(input_height)
			, input_width_(input_width)
			, input_depth_(input_depth)
			, filter_height_(filter_height)
			, filter_width_(filter_width)
		{
			BOOST_ASSERT(input_height >= 1);
			BOOST_ASSERT(input_width >= 1);
			BOOST_ASSERT(input_depth >= 1);
			BOOST_ASSERT(filter_height >= 1);
			BOOST_ASSERT(filter_width >= 1);
			BOOST_ASSERT(input_height >= filter_height);
			BOOST_ASSERT(input_width >= filter_width);
{'fraction_non_alphanumeric': 0.09567198177676538, 'fraction_numerical': 0.006378132118451025, 'mean_word_length': 5.654545454545454, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 23, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4326104', 'n_tokens_mistral': 869, 'n_tokens_neox': 721, 'n_words': 132}