0282デフォルトの名無しさん
2018/09/17(月) 02:53:45.62ID:dj7qSZnZ#include "stdafx.h"
#include <stdio.h>
#include <stdint.h>
#include <math.h>
template<typename T> static double calc_norm_and_regulate(int num, T* r, bool regulate){ // <float> for debug.
double norm = 0;
for (int i = 0; i < num; i++) {
norm += (double)r[i] * (double)r[i];
fprintf(stdout, "[0]0x%016llX:%.19lg\n", *(uint64_t*)&norm, norm);
}
fprintf(stdout, "[1]0x%016llX:%.19lg\n", *(uint64_t*)&norm, norm);
norm = sqrt(norm);
if (regulate)
for (int i=0;i<num;i++)
r[i] = (T)(r[i]/norm);
return norm;
}