Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Toca
3 / 3 / 0
Регистрация: 03.03.2011
Сообщений: 62
#1

подскажите не запускается программа - C++

16.01.2013, 22:48. Просмотров 238. Ответов 1
Метки нет (Все метки)

в 83 строке функция не принимает 4 аргументов ComputeARRAYCpp
параметр int не совместим с параметром float
Код
#include "stdafx.h"
#include <cstdio>
#include <iostream>
#include <cmath>
#include <windows.h>
#include <xmmintrin.h>

//calc function cpp: f(x,y,z) = x*x + y - sqrt(z*z + 1)
void ComputeArrayCpp(
   float* pArray1, // [in] first source array
   float* pArray2, // [in] second source array
   float* pArray3, // [in] third source array
   float* pResult, // [out] result array
   int nSize)      // [in] size of all arrays
{
 //  int ;
   float*   pSource1 = pArray1;
   float*   pSource2 = pArray2;
   float*   pSource3 = pArray3;
   float*   pDest = pResult;
   for ( int i = 0; i < nSize; i++ )
   {
      *pDest = (float)((*pSource1) * (*pSource1) + (*pSource2) -
         sqrt((*pSource3) * (*pSource3)) + 1.f);
      pSource1++;
      pSource2++;
      pSource3++;
      pDest++;
   }
}
//calc function sse: f(x,y,z) = x*x + y - sqrt(z*z + 1)
void ComputeArrayCppSSE(
   float*   pArray1, // [in] first source array
   float*   pArray2, // [in] second source array
   float*   pArray3, // [in] third source array
   float*   pResult, // [out] result array
   int      nSize) // [in] size of all arrays
{
   int      nLoop = nSize/ 4;
   __m128   m1, m2, m3, m4;
   __m128* pSrc1 = (__m128*) pArray1;
   __m128* pSrc2 = (__m128*) pArray2;
   __m128* pSrc3 = (__m128*) pArray3;
   __m128* pDest = (__m128*) pResult;
   __m128 m1_0 = _mm_set_ps1(1.0f); // m1_0[0, 1, 2, 3] = 1.0
   for ( int i = 0; i < nLoop; i++ )
   {
      m1 = _mm_mul_ps(*pSrc1, *pSrc1);// m1 = x * x
      m2 = _mm_mul_ps(*pSrc3, *pSrc3);// m2 = z * z
      m3 = _mm_add_ps(m2, m1_0);      // m3 = z*z + 1.0
      m4 = _mm_sqrt_ps(m3);         // m4 = sqrt(z*z+1)
      m2 = _mm_add_ps(m1, *pSrc2);   // m2 = x*x + y
      *pDest = _mm_sub_ps(m2, m4);   // *pDest = x*x + y - sqrt(z*z+1)
      pSrc1++;
      pSrc2++;
      pSrc3++;
      pDest++;
   }
}
//init array with sin(rnd())
void init(float* a, int size)
{
   for(int i = 0; i < size; i++)
   {
      float x = (float)rand()/RAND_MAX;
      a[i] = sin(x);
   }
}
int _tmain(int argc, _TCHAR* argv[])
{
   setlocale(LC_ALL, "Russian");
   const int MAX_SIZE = 10000000;
   float *a = (float*)_aligned_malloc(sizeof(float)*MAX_SIZE, 16);
   float *b = (float*)_aligned_malloc(sizeof(float)*MAX_SIZE, 16);
   float *c = (float*)_aligned_malloc(sizeof(float)*MAX_SIZE, 16);
   DWORD startTime, endTime;
   startTime = GetTickCount();
   init(a, MAX_SIZE);
   init(b, MAX_SIZE);
   endTime = GetTickCount();
   printf("Инициализация массивов: %d мс\n", endTime - startTime);
   startTime = GetTickCount();
  ComputeArrayCpp(a, b, c, MAX_SIZE);
   endTime = GetTickCount();
   printf("Вычисление средствами C++: %d мс\n", endTime - startTime);
   startTime = GetTickCount();
  // ComputeArrayCppSSE(a, b, c, MAX_SIZE);
   endTime = GetTickCount();
   printf("Вычисление средствами SSE: %d мс\n", endTime - startTime);
   _aligned_free(a);
   _aligned_free(b);
   _aligned_free(c);
   system("pause");

   return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2013, 22:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос подскажите не запускается программа (C++):

Программа в vs не запускается; в dev запускается, но зависает - C++
помогите исправить ошибку, в vs не запускается, в dev запускается, на повисает #include &lt;iostream&gt; #include &lt;fstream&gt; using...

Первая программа. Код не компилируется и не запускается программа. - C++
Первая программа, первая ошибка Здравствуйте! Решил учить С++. Скачал книгу Programming: Principles and Practice Using C++, Бьерн...

Не запускается программа - C++
#include &lt;graphics.h&gt; int main() { initwindow(400,300); // îòêðûòü îêíî äëÿ ãðàôèêè // ðàçìåðîì 400 íà 300...

Не запускается программа - C++
Делал программу на Visual C++ 2010, теперь нужно запустить в dev c++ Добавлено через 45 секунд #include &lt;conio.h&gt; #include...

Не запускается программа - C++
Эта программа для подсчёта количества слов начинающихся с определённой буквы. У меня проблема с запуском пишет кучу ошибок про 'std'....

Не запускается программа - C++
Добрый день. Уже не первый раз сталкиваюсь с проблемой, когда моя программа запускается на компе, где я писал ее, но не запускается на...

1
Вован_
Сообщений: n/a
17.01.2013, 01:26 #2
В определении функции параметры: 4 указателя на float и один параметр int, а вызывается она с тремя float и одним int, ещё один параметр допиши или из определения лишний убери
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.01.2013, 01:26
Привет! Вот еще темы с ответами:

не запускается программа - C++
#include &lt;stdio.h&gt; int main(void) { int t,i, num; /* загрузка чисел */ for(t=0; t&lt;5; ++t) for (i=0; i&lt;3; ++i) num =...

Не запускается программа - C++
#include&lt;iostream&gt; #include&lt;conio.h&gt; #include&lt;stdio.h&gt; #include&lt;math.h&gt; #include&lt;windows.h&gt; #define size 2 using namespace std;...

Не запускается программа - C++
Нашла в интернете программку: pragma comment (lib, &quot;glaux.lib&quot;) #include &lt;windows.h&gt; #include &lt;GL/gl.h&gt; #include &lt;GL/glu.h&gt; ...

не запускается программа - C++
#include &quot;stdafx.h&quot; #include&lt;iostream&gt; #include&lt;math.h&gt; using namespace std; int _tmain(int argc, _TCHAR* argv) {bool...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru