Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> switch в compile-time, Избежать большой вложенности 
:(
    Опции темы
W4FhLF
Дата 12.10.2010, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 20
Всего: 121



Цитата(mes @  12.10.2010,  12:47 Найти цитируемый пост)
мож опечатка, но на всякий случай уточню ..  в данном диапазоне 442 варианта... 


Минимальное значение параметра 1. Я это буду учитывать. Да, ессно уже юзаю двумерный массив )

Добавлено через 10 минут и 22 секунды
Компилятор ругается. :( 

Цитата

Error    32    error: excessive recursion at instantiation of function "initKernels<N>() [with N=2341U]"


Добавлено через 11 минут и 49 секунд
Error    95    error: excessive recursion at instantiation of function "initKernels<N>() [with N=241U]"

И даже так



--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
EgorTheBlade
Дата 12.10.2010, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 141
Регистрация: 5.12.2009

Репутация: нет
Всего: -1



поставте ограничение на рекурсию.
PM MAIL Skype   Вверх
mes
Дата 12.10.2010, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



не хватает "мощности" Вашего компилятора, дробите инициализацию на несколько частей.. 



--------------------
PM MAIL WWW   Вверх
W4FhLF
Дата 12.10.2010, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 20
Всего: 121



Хыхы, да это понятно, что компилятор заткнулся из-за большой вложенности. smile Похоже у него порог 200. Пока никаких ключей чтобы увеличить уровень вложенности найти не могу. Придётся делить видимо. 


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
mes
Дата 12.10.2010, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(W4FhLF @  12.10.2010,  12:50 Найти цитируемый пост)
Придётся делить видимо.  

насколько я понимаю, для уменьшения рекурсии, можно линейный цикл привести к матричному :
http://liveworkspace.org/code/8e5924a199e8...04cfb80ab61209c

Добавлено @ 14:20
эх давно не метапрограммировал.. подзабылось уже.. 

Добавлено @ 14:21
P.S. вместо Аction подставить инициализацию массива, разумеется.. 
smile


Это сообщение отредактировал(а) mes - 12.10.2010, 14:36


--------------------
PM MAIL WWW   Вверх
boostcoder
Дата 12.10.2010, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



а про табуляцию все же подзабыли ;)
PM WWW   Вверх
mes
Дата 12.10.2010, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(boostcoder @  12.10.2010,  13:22 Найти цитируемый пост)
а про табуляцию все же подзабыли ;) 

ага.. по старой привычке.. 


Добавлено через 44 секунды
boostcoder, и где код базового класса из соседней темы ? устал ждать )) 


--------------------
PM MAIL WWW   Вверх
boostcoder
Дата 12.10.2010, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



именно над этим и работаю в данный момент)
PM WWW   Вверх
W4FhLF
Дата 12.10.2010, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 20
Всего: 121



mes, очень красиво. smile Буду пробовать.

А код я всё же сюда вставлю, чтобы он в нашей базе хранился:

Код

#include <iostream>

template <size_t C, size_t R>
void Action() {
   std::cout << C <<"," << R << std::endl;
}

template<size_t C, size_t R > 
struct forR { 
    static void Do() 
    {
         Action<C,R>(); 
         forR<C, R-1>::Do();
    } 
};

template<size_t C> 
struct forR<C,0> {   
    static void Do() 
    {
       Action<C,0>();
    }
};
template<size_t C, size_t R > 
struct forC { 
    static void Do() 
    {   
         forR<C,R>::Do(); 
         forC<C-1, R>::Do();
    } 
};

template<size_t R> 
struct forC<0, R> {   
    static void Do() 
    {
        forR<0,R>::Do();     
    }
};

int main () 
{
   forC<20,20> ::Do();      
}



--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
W4FhLF
Дата 12.10.2010, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 20
Всего: 121



Объектиники тем временем получаются по 10-15 мб и собираются пару минут. smile Правда очень хорошо жмутся UPX'ом, в 20 раз. Ещё раз спасибо mes'у за решение. 


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0639 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.