crown  1.0.0
include/crown/allocation.h
Go to the documentation of this file.
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