PKUOS - Pintos
Pintos source browser for PKU Operating System course
page-shuffle.c
Go to the documentation of this file.
1/** Shuffles a 128 kB data buffer 10 times, printing the checksum
2 after each time. */
3
4#include <stdbool.h>
5#include "tests/arc4.h"
6#include "tests/cksum.h"
7#include "tests/lib.h"
8#include "tests/main.h"
9
10#define SIZE (128 * 1024)
11
12static char buf[SIZE];
13
14void
16{
17 size_t i;
18
19 /* Initialize. */
20 for (i = 0; i < sizeof buf; i++)
21 buf[i] = i * 257;
22 msg ("init: cksum=%lu", cksum (buf, sizeof buf));
23
24 /* Shuffle repeatedly. */
25 for (i = 0; i < 10; i++)
26 {
27 shuffle (buf, sizeof buf, 1);
28 msg ("shuffle %zu: cksum=%lu", i, cksum (buf, sizeof buf));
29 }
30}
unsigned long cksum(const void *b_, size_t n)
This is the algorithm used by the Posix ‘cksum’ utility.
Definition: cksum.c:63
void msg(const char *format,...)
Definition: lib.c:28
#define SIZE
Shuffles a 128 kB data buffer 10 times, printing the checksum after each time.
Definition: page-shuffle.c:10
static char buf[SIZE]
Definition: page-shuffle.c:12
void test_main(void)
tests/main.h
Definition: page-shuffle.c:15
static void shuffle(struct value[], size_t)