// This file is part of BOINC.
// http://boinc.berkeley.edu
// Copyright (C) 2008 University of California
//
// BOINC is free software; you can redistribute it and/or modify it
// under the terms of the GNU Lesser General Public License
// as published by the Free Software Foundation,
// either version 3 of the License, or (at your option) any later version.
//
// BOINC is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with BOINC. If not, see .
#define MAX_CPU_BENCHMARKS_SECONDS 300
#define CPU_BENCHMARKS_RUNNING 0
#define CPU_BENCHMARKS_COMPLETE 1
#define CPU_BENCHMARKS_NOT_RUNNING 2
#define CPU_BENCHMARKS_ERROR 3
#define BM_TYPE_FP 0
#define BM_TYPE_INT 1
extern int dhrystone(double& vax_mips, double& loops, double& cpu_time, double min_cpu_time);
extern int whetstone(double& flops, double& cpu_time, double min_cpu_time);
extern void benchmark_wait_to_start(int which);
extern bool benchmark_time_to_stop(int which);
// separate different compilations of whetstone.cpp which will utilize
// various ARM fp features ie neon, vfp, or "normal"
#ifdef ANDROID
#ifdef ANDROID_NEON
// add CXXFLAGS/CFLAGS for gcc: -DANDROID_NEON -mfloat-abi=softfp -mfpu=neon
#include
#endif // ANDROID_NEON
namespace android_neon {
int whetstone(double& flops, double& cpu_time, double min_cpu_time);
}
namespace android_vfp {
int whetstone(double& flops, double& cpu_time, double min_cpu_time);
}
#endif // ANDROID