aboutsummaryrefslogtreecommitdiff
path: root/modules/benchmark/nqueens.c
diff options
context:
space:
mode:
Diffstat (limited to 'modules/benchmark/nqueens.c')
-rw-r--r--modules/benchmark/nqueens.c67
1 files changed, 0 insertions, 67 deletions
diff --git a/modules/benchmark/nqueens.c b/modules/benchmark/nqueens.c
deleted file mode 100644
index 78293abb..00000000
--- a/modules/benchmark/nqueens.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * N-Queens Problem Solver
- * Found somewhere on the Internet; can't remember where. Possibly Wikipedia.
- */
-#include <stdio.h>
-#include <stdbool.h>
-#include <stdlib.h>
-
-#include "hardinfo.h"
-#include "benchmark.h"
-
-#define QUEENS 11
-
-int row[QUEENS];
-
-bool safe(int x, int y)
-{
- int i;
- for (i = 1; i <= y; i++)
- if (row[y - i] == x || row[y - i] == x - i || row[y - i] == x + i)
- return false;
- return true;
-}
-
-int nqueens(int y)
-{
- int x;
-
- for (x = 0; x < QUEENS; x++) {
- if (safe((row[y - 1] = x), y - 1)) {
- if (y < QUEENS) {
- nqueens(y + 1);
- } else {
- break;
- }
- }
- }
-
- return 0;
-}
-
-static gpointer nqueens_for(unsigned int start, unsigned int end, void *data, gint thread_number)
-{
- unsigned int i;
-
- for (i = start; i <= end; i++) {
- nqueens(0);
- }
-
- return NULL;
-}
-
-void
-benchmark_nqueens(void)
-{
- bench_value r = EMPTY_BENCH_VALUE;
-
- shell_view_set_enabled(FALSE);
- shell_status_update("Running N-Queens benchmark...");
-
- r = benchmark_parallel_for(0, 0, 10, nqueens_for, NULL);
- r.result = r.elapsed_time;
-
- bench_results[BENCHMARK_NQUEENS] = r;
-}
-
-