crown
1.0.0
|
00001 /* 00002 Copyright 2015 Nicolas Melot 00003 00004 This file is part of Crown. 00005 00006 Crown is free software: you can redistribute it and/or modify 00007 it under the terms of the GNU General Public License as published by 00008 the Free Software Foundation, either version 3 of the License, or 00009 (at your option) any later version. 00010 00011 Crown is distributed in the hope that it will be useful, 00012 but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 GNU General Public License for more details. 00015 00016 You should have received a copy of the GNU General Public License 00017 along with Crown. If not, see <http://www.gnu.org/licenses/>. 00018 00019 */ 00020 00021 00022 #include <pelib/Algebra.hpp> 00023 00024 #include <crown/CrownAllocation.hpp> 00025 00026 #ifndef ALLOCATION_HPP 00027 #define ALLOCATION_HPP 00028 00030 pelib::Algebra 00031 allocation_fastest(const pelib::Algebra &input); 00032 00034 pelib::Algebra 00035 allocation_random(const pelib::Algebra &input); 00036 00038 pelib::Algebra 00039 allocation_gemin(const pelib::Algebra &schedule, float gemin); 00040 00042 pelib::Algebra 00043 allocation_temin(const pelib::Algebra &schedule); 00044 00046 float 00047 allocation_fastest_complexity(const pelib::Algebra &schedule); 00048 00051 #ifdef __cplusplus 00052 extern "C" { 00053 #endif 00054 00055 const pelib::crown::CrownAllocation* crown_allocation(size_t argc, char **argv); 00056 void crown_delete(pelib::Algebra *alloc); 00057 00058 #ifdef __cplusplus 00059 } 00060 #endif 00061 00062 #endif