int spg_get_triplets_reciprocal_mesh_at_q( int weights[], int grid_points[][3], int third_q[], const int grid_point, const int mesh[3], const int is_time_reversal, SPGCONST double lattice[3][3], const int num_rot, SPGCONST int rotations[][3][3], const double symprec ) { MatINT *rot_real; int i, num_ir; rot_real = mat_alloc_MatINT( num_rot ); for ( i = 0; i < num_rot; i++ ) { mat_copy_matrix_i3( rot_real->mat[i], rotations[i] ); } num_ir = kpt_get_ir_triplets_at_q( weights, grid_points, third_q, grid_point, mesh, is_time_reversal, lattice, rot_real, symprec ); mat_free_MatINT( rot_real ); return num_ir; }
static int get_triplets_reciprocal_mesh_at_q(int map_triplets[], int map_q[], int grid_address[][3], const int grid_point, const int mesh[3], const int is_time_reversal, const int num_rot, SPGCONST int rotations[][3][3]) { MatINT *rot_real; int i, num_ir; rot_real = mat_alloc_MatINT(num_rot); for (i = 0; i < num_rot; i++) { mat_copy_matrix_i3(rot_real->mat[i], rotations[i]); } num_ir = kpt_get_ir_triplets_at_q(map_triplets, map_q, grid_address, grid_point, mesh, is_time_reversal, rot_real); mat_free_MatINT(rot_real); return num_ir; }