Re: рекомендации по ускорению
От: Erop Россия  
Дата: 25.07.11 12:32
Оценка: 1 (1) +1 :)
Здравствуйте, reseacher2011, Вы писали:

R>
R>void dot_product(const double* x, const double* y, double *scalar){
R>    *scalar = *x*(*y)+*(x+1)*(*(y+1))+*(x+2)*(*(y+2));
R>}
R>void cross_product(const double* x, const double* y, double *vector){
R>   *vector     =   *(x+1)*(*(y+2)) - *(x+2)*(*(y+1)); 
R>   *(vector+1) =  - (  *x*(*(y+2)) - *(x+2)*(*y)  );
R>   *(vector+2) =   *x*(*(y+1))     - *(x+1)*(*y) ; 
R>}
R>void module(const double *vect, double *mod){
R>    *mod = sqrt(pow(*vect,2.)+pow(*(vect+1),2.)+pow(*(vect+2),2.));
R>}
R>void dist_segm_point(const double *x, const double *a, const double *b, double *res){
R>    double dist_ab, proj, r_ab[3], r_ax[3], r_bx[3], tmp_vect[3];
R>..
R>


1) Сообщу на всякий случай, что double *x и double x[3] в описании ПАРАМЕТРОВ функции ОБОЗНАЧАЮТ ОДНО И ТО ЖЕ
2) Ещё сообщу, что для указателей записи *(x+1) и x[1] ТОЖЕ ЭКВИВАЛЕНТНЫ.

Так что лучше писать ПОНЯТНЕЕ
double dot_product(const double x[], const double y[])
{
    return x[0]*y[0] + x[1]*y[1] + x[2]*y[2];
}


А что касается ускорения, то хорошо бы ПОНЯТНО объяснить, что надо сделать...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.