Loading src/dmrg_malloc.c +2 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,8 @@ #include "cuda_runtime.h" #endif #include "dmrg_lapack.h" int dmrg_is_managed( const void *ptr ) { const int lfalse = (0 == 1); Loading src/dmrg_types.h +10 −0 Original line number Diff line number Diff line Loading @@ -8,18 +8,28 @@ typedef int IntegerType; #include <complex.h> typedef double _Complex FpType; #define makeFloat(zr,zi) ((FpType) { (zr), (zi) }) #elif defined(USE_COMPLEX_C) #include <complex.h> typedef float _Complex FpType; #define makeFloat(zr,zi) ((FpType) { (zr), (zi) }) #elif defined(USE_FLOAT) typedef float FpType; #define makeFloat(zr,zi) ((FpType) (zr)) #else typedef double FpType; #define makeFloat(zr,zi) ((FpType) (zr)) #endif Loading src/setup_matrix.c +5 −5 Original line number Diff line number Diff line Loading @@ -87,11 +87,11 @@ void setup_matrix( const int noperator, for(i=1; i <= nrow; i++) { int ia = (ia_start-1) + i; int ja = (ja_start-1) + j; FpType dval = (ia + (ja-1)*total_left_size); dval += ( (FpType) (ioperator-1)) * ( (FpType) total_left_size) * ( (FpType) total_left_size); Amat(i,j) = dval; double dval = (ia + (ja-1)*total_left_size); dval += ( (double) (ioperator-1)) * ( (double) total_left_size) * ( (double) total_left_size); Amat(i,j) = makeFloat(dval,-dval); }; }; Loading src/test_vbatch.c +7 −6 Original line number Diff line number Diff line Loading @@ -401,16 +401,17 @@ int main(int argc, char *argv[]) { IntegerType i = 0; FpType Y_avg = 0; FpType Y_sd = 0; double Y_max = ABS(hY(1)); double Y_min = ABS(hY(1)); for(i=1; i <= xy_size; i++) { Y_avg += hY(i); Y_max = (ABS(hY(i)) > Y_max) ? ABS(hY(i)) : Y_max; Y_min = (ABS(hY(i)) < Y_min) ? ABS(hY(i)) : Y_min; }; Y_avg = Y_avg/( (double) xy_size ); for(i=1; i <= xy_size; i++) { Y_sd = Y_sd + (hY(i)-Y_avg)*(hY(i)-Y_avg); }; Y_sd = sqrt( Y_sd ); printf("Y_avg = %lf, Y_sd = %lf\n", (double) Y_avg, (double) Y_sd ); printf("ABS(Y_avg) = %le, Y_max = %le Y_min = %le \n", (double) ABS(Y_avg), Y_max, Y_min ); }; Loading Loading
src/dmrg_malloc.c +2 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,8 @@ #include "cuda_runtime.h" #endif #include "dmrg_lapack.h" int dmrg_is_managed( const void *ptr ) { const int lfalse = (0 == 1); Loading
src/dmrg_types.h +10 −0 Original line number Diff line number Diff line Loading @@ -8,18 +8,28 @@ typedef int IntegerType; #include <complex.h> typedef double _Complex FpType; #define makeFloat(zr,zi) ((FpType) { (zr), (zi) }) #elif defined(USE_COMPLEX_C) #include <complex.h> typedef float _Complex FpType; #define makeFloat(zr,zi) ((FpType) { (zr), (zi) }) #elif defined(USE_FLOAT) typedef float FpType; #define makeFloat(zr,zi) ((FpType) (zr)) #else typedef double FpType; #define makeFloat(zr,zi) ((FpType) (zr)) #endif Loading
src/setup_matrix.c +5 −5 Original line number Diff line number Diff line Loading @@ -87,11 +87,11 @@ void setup_matrix( const int noperator, for(i=1; i <= nrow; i++) { int ia = (ia_start-1) + i; int ja = (ja_start-1) + j; FpType dval = (ia + (ja-1)*total_left_size); dval += ( (FpType) (ioperator-1)) * ( (FpType) total_left_size) * ( (FpType) total_left_size); Amat(i,j) = dval; double dval = (ia + (ja-1)*total_left_size); dval += ( (double) (ioperator-1)) * ( (double) total_left_size) * ( (double) total_left_size); Amat(i,j) = makeFloat(dval,-dval); }; }; Loading
src/test_vbatch.c +7 −6 Original line number Diff line number Diff line Loading @@ -401,16 +401,17 @@ int main(int argc, char *argv[]) { IntegerType i = 0; FpType Y_avg = 0; FpType Y_sd = 0; double Y_max = ABS(hY(1)); double Y_min = ABS(hY(1)); for(i=1; i <= xy_size; i++) { Y_avg += hY(i); Y_max = (ABS(hY(i)) > Y_max) ? ABS(hY(i)) : Y_max; Y_min = (ABS(hY(i)) < Y_min) ? ABS(hY(i)) : Y_min; }; Y_avg = Y_avg/( (double) xy_size ); for(i=1; i <= xy_size; i++) { Y_sd = Y_sd + (hY(i)-Y_avg)*(hY(i)-Y_avg); }; Y_sd = sqrt( Y_sd ); printf("Y_avg = %lf, Y_sd = %lf\n", (double) Y_avg, (double) Y_sd ); printf("ABS(Y_avg) = %le, Y_max = %le Y_min = %le \n", (double) ABS(Y_avg), Y_max, Y_min ); }; Loading