⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 spblastest.cpp

📁 Gaussian Mixture Algorithm
💻 CPP
📖 第 1 页 / 共 2 页
字号:
void spBlasTest::test_m2dotm1(){	spIdx<float> sptest(0, 4, 4);	sptest.set(1, 0, 1);	sptest.set(5, 0, 3);	sptest.set(2, 1, 2);	sptest.set(3, 2, 3);	sptest.set(4, 3, 0);	Idx<float> x(4), y(4);	x.set(0, 0);	x.set(1,1);	x.set(2,2);	x.set(3,3);	idx_m2dotm1(sptest, x, y);	CPPUNIT_ASSERT_EQUAL((float)16, y.get(0));	CPPUNIT_ASSERT_EQUAL((float)4, y.get(1));	CPPUNIT_ASSERT_EQUAL((float)9, y.get(2));	CPPUNIT_ASSERT_EQUAL((float)0, y.get(3));}void spBlasTest::test_m2dotm1sp(){	spIdx<double> sptest(0, 4, 4);	sptest.set(1, 0, 1);	sptest.set(5, 0, 3);	sptest.set(2, 1, 2);	sptest.set(3, 2, 3);	sptest.set(4, 3, 0);	spIdx<double> x(0, 4), y(0, 4);	x.set(0, 0);	x.set(1,1);	x.set(2,2);	x.set(3,3);	idx_m2dotm1(sptest, x, y);	CPPUNIT_ASSERT_EQUAL((double)16, y.get(0));	CPPUNIT_ASSERT_EQUAL((double)4, y.get(1));	CPPUNIT_ASSERT_EQUAL((double)9, y.get(2));	CPPUNIT_ASSERT_EQUAL((double)0, y.get(3));}void spBlasTest::test_m2dotm1acc(){	spIdx<float> sptest(0, 4, 4);	sptest.set(1, 0, 1);	sptest.set(5, 0, 3);	sptest.set(2, 1, 2);	sptest.set(3, 2, 3);	sptest.set(4, 3, 0);	Idx<float> x(4), y(4);	x.set(0, 0);	x.set(1,1);	x.set(2,2);	x.set(3,3);	y.set(-16, 0);	y.set(1,1);	y.set(2,2);	y.set(3,3);	Idx<float> y2(4);	idx_copy(y, y2);	idx_m2dotm1acc(sptest, x, y);	CPPUNIT_ASSERT_EQUAL((float)16 + y2.get(0), y.get(0));	CPPUNIT_ASSERT_EQUAL((float)4 + y2.get(1), y.get(1));	CPPUNIT_ASSERT_EQUAL((float)9 + y2.get(2), y.get(2));	CPPUNIT_ASSERT_EQUAL((float)0 + y2.get(3), y.get(3));}void spBlasTest::test_m2dotm1accsp(){	spIdx<double> sptest(0, 4, 4);	sptest.set(1, 0, 1);	sptest.set(5, 0, 3);	sptest.set(2, 1, 2);	sptest.set(3, 2, 3);	sptest.set(4, 3, 0);	spIdx<double> x(0, 4), y(0, 4);	x.set(0, 0);	x.set(1,1);	x.set(2,2);	x.set(3,3);	y.set(-16, 0);	y.set(1,1);	y.set(2,2);	y.set(3,3);	spIdx<double> y2(0, 4);	idx_copy(y, y2);	idx_m2dotm1acc(sptest, x, y);	CPPUNIT_ASSERT_EQUAL((double)16 + y2.get(0), y.get(0));	CPPUNIT_ASSERT_EQUAL((double)4 + y2.get(1), y.get(1));	CPPUNIT_ASSERT_EQUAL((double)9 + y2.get(2), y.get(2));	CPPUNIT_ASSERT_EQUAL((double)0 + y2.get(3), y.get(3));}void spBlasTest::test_m2extm2(){	spIdx<double> sptest(0, 4, 4);	sptest.set(1, 0, 1);	sptest.set(5, 0, 3);	sptest.set(2, 1, 2);	sptest.set(3, 2, 3);	sptest.set(4, 3, 0);	spIdx<double> sptest2(0, 4, 4, 4, 4);	idx_m2extm2(sptest, sptest, sptest2);	sptest2.printElems();	sptest2.pretty();}void spBlasTest::test_m2extm2acc(){	spIdx<double> sptest(0, 4, 4);	sptest.set(1, 0, 1);	sptest.set(5, 0, 3);	sptest.set(2, 1, 2);	sptest.set(3, 2, 3);	sptest.set(4, 3, 0);	spIdx<double> sptest2(0, 4, 4, 4, 4);	sptest2.set(10, 0, 0, 0, 0);	sptest2.set(10, 0, 1, 0, 1);	idx_m2extm2acc(sptest, sptest, sptest2);	sptest2.printElems();	sptest2.pretty();}void spBlasTest::test_m2squextm2acc(){	spIdx<double> sptest(0, 4, 4);	sptest.set(1, 0, 1);	sptest.set(5, 0, 3);	sptest.set(2, 1, 2);	sptest.set(3, 2, 3);	sptest.set(4, 3, 0);	spIdx<double> sptest2(0, 4, 4, 4, 4);	sptest2.set(10, 0, 0, 0, 0);	sptest2.set(10, 0, 1, 0, 1);	idx_m2squextm2acc(sptest, sptest, sptest2);	sptest2.printElems();	sptest2.pretty();}void spBlasTest::test_m2squdotm2(){	spIdx<double> sptest(0, 4, 4);	sptest.set(1, 0, 1);	sptest.set(5, 0, 3);	sptest.set(2, 1, 2);	sptest.set(3, 2, 3);	sptest.set(4, 3, 0);	Idx<double> res;	idx_m2squdotm2(sptest, sptest, res);	res.printElems();}void spBlasTest::test_m2squdotm2acc(){	spIdx<double> sptest(0, 4, 4);	sptest.set(1, 0, 1);	sptest.set(5, 0, 3);	sptest.set(2, 1, 2);	sptest.set(3, 2, 3);	sptest.set(4, 3, 0);	Idx<double> res;	res.set(15);	idx_m2squdotm2acc(sptest, sptest, res);	res.printElems();}void spBlasTest::test_m1extm1(){	spIdx<double> sptest(0, 5);	sptest.set(1, 1);	sptest.set(5, 3);	sptest.set(2, 2);	spIdx<double> sptest2(0, 6);	sptest2.set(1, 1);	sptest2.set(5, 5);	sptest2.set(2, 2);	spIdx<double> res(0,5,6);	idx_m1extm1(res, sptest, sptest2);	res.printElems();	res.pretty();}void spBlasTest::test_m1extm1acc(){	spIdx<double> sptest(0, 5);	sptest.set(1, 1);	sptest.set(5, 3);	sptest.set(2, 2);	spIdx<double> sptest2(0, 6);	sptest2.set(1, 1);	sptest2.set(5, 5);	sptest2.set(2, 2);	spIdx<double> res(0,5,6);	res.set(15, 0, 0);	res.set(10, 2, 2);	idx_m1extm1acc(res, sptest, sptest2);	res.printElems();	res.pretty();}void spBlasTest::test_m2squdotm1(){	spIdx<double> sptest(0, 4, 4);	sptest.set(1, 0, 1);	sptest.set(5, 0, 3);	sptest.set(2, 1, 2);	sptest.set(3, 2, 3);	sptest.set(4, 3, 0);	Idx<double> x(4), y(4);	x.set(0, 0);	x.set(1,1);	x.set(2,2);	x.set(3,3);	idx_m2squdotm1(sptest, x, y);	y.printElems();}void spBlasTest::test_m2squdotm1sp(){	spIdx<float> sptest(0, 4, 4);	sptest.set(1, 0, 1);	sptest.set(5, 0, 3);	sptest.set(2, 1, 2);	sptest.set(3, 2, 3);	sptest.set(4, 3, 0);	spIdx<float> x(0,4), y(0, 4);	x.set(0, 0);	x.set(1,1);	x.set(2,2);	x.set(3,3);	idx_m2squdotm1(sptest, x, y);	y.printElems();}void spBlasTest::test_m2squdotm1acc(){	spIdx<float> sptest(0, 4, 4);	sptest.set(1, 0, 1);	sptest.set(5, 0, 3);	sptest.set(2, 1, 2);	sptest.set(3, 2, 3);	sptest.set(4, 3, 0);	Idx<float> x(4), y(4);	x.set(0, 0);	x.set(1,1);	x.set(2,2);	x.set(3,3);	y.set(-16, 0);	y.set(1,1);	y.set(2,2);	y.set(3,3);	idx_m2squdotm1acc(sptest, x, y);	y.printElems();}void spBlasTest::test_m2squdotm1accsp(){	spIdx<double> sptest(0, 4, 4);	sptest.set(1, 0, 1);	sptest.set(5, 0, 3);	sptest.set(2, 1, 2);	sptest.set(3, 2, 3);	sptest.set(4, 3, 0);	spIdx<double> x(0, 4), y(0, 4);	x.set(0, 0);	x.set(1,1);	x.set(2,2);	x.set(3,3);	y.set(-16, 0);	y.set(1,1);	y.set(2,2);	y.set(3,3);	idx_m2squdotm1acc(sptest, x, y);	y.printElems();}void spBlasTest::test_m1squextm1(){	spIdx<double> sptest(0, 5);	sptest.set(1, 1);	sptest.set(5, 3);	sptest.set(2, 2);	spIdx<double> sptest2(0, 6);	sptest2.set(1, 1);	sptest2.set(5, 5);	sptest2.set(2, 2);	spIdx<double> res(0,5,6);	idx_m1squextm1(res, sptest, sptest2);	res.printElems();	res.pretty();}void spBlasTest::test_m1squextm1acc(){	spIdx<double> sptest(0, 5);	sptest.set(1, 1);	sptest.set(5, 3);	sptest.set(2, 2);	spIdx<double> sptest2(0, 6);	sptest2.set(1, 1);	sptest2.set(5, 5);	sptest2.set(2, 2);	spIdx<double> res(0,5,6);	res.set(15, 0, 0);	res.set(10, 2, 2);	idx_m1squextm1acc(res, sptest, sptest2);	res.printElems();	res.pretty();}void spBlasTest::test_normcolumn(){	spIdx<double> sptest(0, 5);	sptest.set(1, 1);	sptest.set(5, 3);	sptest.set(2, 2);	spIdx<double> sptest2(0, 6);	sptest2.set(1, 1);	sptest2.set(5, 5);	sptest2.set(2, 2);	spIdx<double> res(0,5,6);	idx_m1squextm1(res, sptest, sptest2);	norm_columns(res);	res.printElems();	res.pretty();}void spBlasTest::test_2dconvol(){	Idx<double> test(10,10);	test.set(1, 0, 0);	test.set(3, 0, 5);	test.set(5, 3, 3);	test.set(1, 3, 9);	test.set(2, 6, 2);	test.set(3, 6, 6);	test.set(7, 7, 6);	test.set(-4, 7, 7);	test.set(6, 9, 4);	Idx<double> kernel(3,3);	kernel.set(-1, 0, 1);	kernel.set(-1, 1, 0);	kernel.set(-1, 1, 2);	kernel.set(-1, 2, 1);	kernel.set(4, 1, 1);	Idx<double> res1(8, 8);	idx_2dconvol(test, kernel, res1);	res1.printElems();	spIdx<double> test2(0,10,10);	test2.set(1, 0, 0);	test2.set(3, 0, 5);	test2.set(5, 3, 3);	test2.set(1, 3, 9);	test2.set(2, 6, 2);	test2.set(3, 6, 6);	test2.set(7, 7, 6);	test2.set(-4, 7, 7);	test2.set(6, 9, 4);	spIdx<double> res2(0, 8, 8);	idx_2dconvol(test2, kernel, res2, true);	res2.printElems();}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -