Esempio n. 1
0
SonnetXVIII SonnetXVIII::ByChanceOrNaturesChangingCourseUntrimmd(const int Relatives, int &JohnShakespeare, int &MaryShakespeare) const {
	int start = 0;
	int end = ThouArtMoreLovelyAndMoreTemperate() - 1;
	for (int i = 0; i < ThouArtMoreLovelyAndMoreTemperate(); i++){
		if (WilliamShakespeare[i] > Relatives){
			start = i;
			break;
		}
	}
	for (int i = ThouArtMoreLovelyAndMoreTemperate() - 1; i >= 0; i--){
		if (WilliamShakespeare[i] > Relatives){
			end = i + 1;
			break;
		}
	}
	JohnShakespeare = start;
	MaryShakespeare = end;
	if ((end - start) < 0){
		return SonnetXVIII(WilliamShakespeare);
	}

	SonnetXVIII trimed(end - start);
	for (int i = 0; i < trimed.ThouArtMoreLovelyAndMoreTemperate(); i++){
		trimed[i] = WilliamShakespeare[i + start];
	}
	return trimed;
}
Esempio n. 2
0
TEST_F(tkernel_test, tkernel_trim)
{
    auto fkernel = glkernel::kernel3(4, 2, 8);

    for (glm::uint16 r = 0; r < fkernel.depth(); ++r)
        for (glm::uint16 t = 0; t < fkernel.height(); ++t)
            for (glm::uint16 s = 0; s < fkernel.width(); ++s)
                fkernel.value(s, t, r) = glm::vec3(s, t, r);

    const auto trimmed = fkernel.trimed(2, 2, 2);

    for (glm::uint16 r = 0; r < trimmed.depth(); ++r)
        for (glm::uint16 t = 0; t < trimmed.height(); ++t)
            for (glm::uint16 s = 0; s < trimmed.width(); ++s)
                EXPECT_EQ(glm::vec3(s, t, r), fkernel.value(s, t, r));
}