Edge detection of a 7x7 px image using Canny algorithm

I have a 7x7 px image matrix. I want to use the Canny algorithm to detect edges. Below is my code:

#include "opencv2/opencv.hpp"
using namespace cv;
using namespace std;
int main()
{
	Mat src_img;
	Mat src = (Mat_ <float>(7, 7) <<
		0,   0,   0,   0,   0,   0,   0,
		0,   0,   0, 255,   0,   0,   0,
		0,   0, 255, 255, 255,   0,   0,
		0, 255, 255,   0, 255, 255,   0,
		0,   0, 255, 255, 255,   0,   0,
		0,   0,   0, 255,   0,   0,   0,
		0,   0,   0,   0,   0,   0,   0);
	src.convertTo(src, CV_8U);
	GaussianBlur(src, src, Size(3, 3), 0.1, 0.1);
	Mat output;
	Canny(src, output, 300, 700, 3, true);
	cout << output << endl;
	waitKey(0);
	return 0;
}

I want to perform this algorithm by theorical formulas step-by-step. According to this link OpenCV: Canny Edge Detector, I can perform Gaussian filter and gradient strength but I cannot perform the remaining steps because I don’t know how to calculate the arctan(0/0). Can you help me perform the remaining steps of the Canny algorithm step-by-step looking exacty the same result in the code? I need to understand this algorithm clearly and thoroughly.
The image after Gaussian filtering is not changed. So, below is the gradient strength of the image that I calculated:
image