- 1
void parse_csv_string_string_string_string(string in_file, vector<string>& spectrum_id_list, vector<string>& file_name_list, vector<string>& name_list, vector<string>& id_list) {
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+7
void parse_csv_string_string_string_string(string in_file, vector<string>& spectrum_id_list, vector<string>& file_name_list, vector<string>& name_list, vector<string>& id_list) {
– Дяденька, осторожно, у вас клавиатура солидолом намазана...
+5
float data1[16];
float data2[16];
for (unsigned i = 0; i < 4; ++i)
for (unsigned j = 0; j < 4; ++j)
*(data1 + 4 * i + j) = *(data2 + 4 * i + j);
+1
// пример использования Exaro в своей программе
// http://www.wiki.crossplatform.ru/index.php/Qt/FAQ/Exaro
int personId = QString(argv[1]).toInt();
QString query(QString("SELECT person.id, person.name, city.title " \
" FROM person, city " \
" WHERE person.city = city.id and person.id = %1").arg(personId));
+4
static const int s_extend_offset[16] = { 0, ((-1)<<1) + 1, ((-1)<<2) + 1, ((-1)<<3) + 1, ((-1)<<4) + 1, ((-1)<<5) + 1, ((-1)<<6) + 1, ((-1)<<7) + 1, ((-1)<<8) + 1, ((-1)<<9) + 1, ((-1)<<10) + 1, ((-1)<<11) + 1, ((-1)<<12) + 1, ((-1)<<13) + 1, ((-1)<<14) + 1, ((-1)<<15) + 1 };
Это я нашел в libJPG (они там в конец двинулись сдвигать отрицательные числа)
+1000
uint16_t swap_bytes(uint16_t a){
uint16_t tmp = *((uint8_t*)&a+1);
*(((uint8_t*)&tmp)+1) = *((uint8_t*)&a);
return tmp;
}
+142
typedef long char wchar_t;
qnx4.25 /usr/include/stdlib.h:
sizeof(long char) == 2
+143
char * hmod = (char *)GetModuleHandleW(L"msenv.dll");
IMAGE_DOS_HEADER *pDosHeader = (IMAGE_DOS_HEADER *)hmod;
IMAGE_NT_HEADERS *pNtHeaders = (IMAGE_NT_HEADERS *)(hmod + pDosHeader->e_lfanew);
char *pcode = (hmod + pNtHeaders->OptionalHeader.BaseOfCode);
char *ecode = (pcode + pNtHeaders->OptionalHeader.SizeOfCode);
while (pcode < ecode - sizeof(int))
{
if((*(int *)pcode) == 0xFFFFDCB8 ||
(*(int *)pcode) == 0xFFFFDC89 )
{
wchar_t buf[1024];
wsprintfW(buf, L"%p\n", pcode);
OutputDebugStringW(buf);
}
pcode++;
}
А как в студийном отладчике искать по памяти?
+142
http://pastebin.com/NeWPms7u
Лаконичное решение как разместить OpenCL и C++ в одном файле. Самое главное что можно спокойно отлаживать данный код. Также объявлять общие переменные и функции OpenCL и host коду. Единственное но! Придется задать пару флагов компилятору OpenCL кода для того чтобы сие подделие заработало. Главный принцип заключается в #if(n)def CL_DEVICE. По умолчанию он не объявлен. Также следует включить поддержку C++ в OpenCL. Скоро кстати выйдет OpenCL 2.1, и вполне возможно что такой трюк и там прокатит. Можно попробовать проделать это с шейдерами, но OpenCL подходит больше всего. Жаль что для OpenCL нету GLM, а если бы он щас был... Тогда можно было такое накодить.
+144
uint8_t value = arg & 1 ? arg ^ 1 : arg;
+142
void BloomPattern::process(GLuint rectangleVao, float blurRadius) const
{
sptrFrameBufferTwo->enable();
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
sptrBrightPassShaderProgram->enable();
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, sptrFrameBufferThree->getColorTexture().getTexture());
sptrBrightPassShaderProgram->setUniform("colorTexture", 0);
glBindVertexArray(rectangleVao);
glViewport(0, 0, windowWidth >> 1, windowHeight >> 1);
glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, nullptr);
sptrFrameBufferOne->enable();
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
sptrBlurShaderProgram->enable();
glBindTexture(GL_TEXTURE_2D, sptrFrameBufferTwo->getColorTexture().getTexture());
sptrBlurShaderProgram->setUniform("defaultTexture", 0);
sptrBlurShaderProgram->setUniform("blurRadius", 1.0F / (windowWidth >> 1), 0.0F, blurRadius);
glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, nullptr);
sptrFrameBufferTwo->enable();
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glBindTexture(GL_TEXTURE_2D, sptrFrameBufferOne->getColorTexture().getTexture());
sptrBlurShaderProgram->setUniform("defaultTexture", 0);
sptrBlurShaderProgram->setUniform("blurRadius", 0.0F, 1.0F / (windowHeight >> 1), blurRadius);
glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, nullptr);
sptrFinalFrameBuffer->enable();
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
sptrBloomShaderProgram->enable();
glBindTexture(GL_TEXTURE_2D, sptrFrameBufferThree->getColorTexture().getTexture());
glActiveTexture(GL_TEXTURE1);
glBindTexture(GL_TEXTURE_2D, sptrFrameBufferTwo->getColorTexture().getTexture());
sptrBloomShaderProgram->setUniform("defaultTexture", 0);
sptrBloomShaderProgram->setUniform("brightpassTexture", 1);
glViewport(0, 0, windowWidth, windowHeight);
glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, nullptr);
glBindFramebuffer(GL_FRAMEBUFFER, 0);
}