提交记录 13441


用户 题目 状态 得分 用时 内存 语言 代码长度
memset0 mmmd1k. 测测你的双精度矩阵乘法-1k Accepted 100 6.378 s 8200 KB C 766 B
提交时间 评测时间
2020-08-04 23:23:24 2020-08-04 23:39:43
#define n 1024
void matrix_multiply(int _, const double* A, const double* B, double* C) {
	double s0, s1, s2, s3;
	for (int i = 0; i < n; i++) {
		for (int j = 0; j < n; j++) {
			s0 = s1 = s2 = s3 = 0;
			int k = 0;
			const double* a = A + (i << 10);
			const double* b = B + j;
			while (k < n) {
				s0 += A[(i << 10) | k] * B[(k << 10) | j];
				s1 += A[(i << 10) | k | 1] * B[((k | 1) << 10) | j];
				s2 += A[(i << 10) | k | 2] * B[((k | 2) << 10) | j];
				s3 += A[(i << 10) | k | 3] * B[((k | 3) << 10) | j];
				// s0 += (*a) * (*b);
				// s1 += (*a + 1) * (*b + (1 << 10));
				// s2 += (*a + 2) * (*b + (2 << 10));
				// s3 += (*a + 3) * (*b + (3 << 10));
				k += 4;
				a += 4;
				b += 4 << 10;
			}
			C[(i << 10) | j] = s0 + s1 + s2 + s3;
		}
	}
}

CompilationN/AN/ACompile OKScore: N/A

Testcase #16.378 s8 MB + 8 KBAcceptedScore: 100


Judge Duck Online | 评测鸭在线
Server Time: 2026-03-24 08:53:34 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠