Skip to content
Snippets Groups Projects
Commit 457733de authored by hchou10's avatar hchou10
Browse files

add multiply constant to the grid

parent 91db2aeb
No related branches found
No related tags found
No related merge requests found
......@@ -610,6 +610,14 @@ void sub_grids(void* dest, void* s1, void* s2)
for(size_t idx = 0; idx < out->size; idx++)
out->data[idx] = src1->data[idx]-src2->data[idx];
}
void multiply_constant(void* dest, double a)
{
grid* out = (grid*)dest;
for(size_t idx = 0; idx < out->size; idx++)
out->data[idx] *= a;
}
void pad_grid(void** g, int nx, int ny, int nz)
{
grid* src = (grid*)(*g);
......
......@@ -8,25 +8,25 @@ endif
CLIB=-lfftw3
OBJ=main.o GridDxFormat/grid_reader.o Kernel/debye_huckel_kernel.o Kernel/lenard_jones_repulsion_kernel.o Kernel/lenard_jones_trunc_kernel.o \
LinkList/link_list.o fftw/fftw.o Kernel/lenard_jones_kernel.o Kernel/tabulated_pot_kernel.o Kernel/onc_elec_kernel.o Kernel/gaussian_kernel.o \
Kernel/lenard_jones_kernel1.o
Kernel/lenard_jones_kernel1.o
ifeq ($(dbg),1)
EXE=gen_pot-dbg
else
EXE=gen_pot
endif
EXE_SUM=sum_grid slice_grid sub_grid
EXE_SUM=sum_grid slice_grid sub_grid mult_grid
all: ${EXE} ${EXE_SUM}
${EXE}:${OBJ}
${CC} ${CFLAGS} ${INC} ${OBJ} -o ${EXE} ${CLIB}
${EXE_SUM}: grid_tools/sum.o GridDxFormat/grid_reader.o grid_tools/slice.o grid_tools/sub.o
${EXE_SUM}: grid_tools/sum.o GridDxFormat/grid_reader.o grid_tools/slice.o grid_tools/sub.o grid_tools/multiply.o
${CC} ${CFLAGS} ${INC} grid_tools/sum.o GridDxFormat/grid_reader.o -o sum_grid
${CC} ${CFLAGS} ${INC} grid_tools/slice.o GridDxFormat/grid_reader.o -o slice_grid
${CC} ${CFLAGS} ${INC} grid_tools/sub.o GridDxFormat/grid_reader.o -o sub_grid
${CC} ${CFLAGS} ${INC} grid_tools/multiply.o GridDxFormat/grid_reader.o -o mult_grid
main.o: main.c
${CC} ${CFLAGS} ${INC} -c main.c -o main.o
......@@ -36,6 +36,9 @@ grid_tools/sub.o: grid_tools/sub.c
grid_tools/sum.o: grid_tools/sum.c
${CC} ${CFLAGS} ${INC} -c grid_tools/sum.c -o grid_tools/sum.o
grid_tools/multiply.o: grid_tools/multiply.c
${CC} ${CFLAGS} ${INC} -c grid_tools/multiply.c -o grid_tools/multiply.o
grid_tools/slice.o: grid_tools/slice.c
${CC} ${CFLAGS} ${INC} -c grid_tools/slice.c -o grid_tools/slice.o
......
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include "grid_reader.h"
int main(int argc, char** argv)
{
double a = (double)atof(argv[3]);
void* grid;
grid = gridformat_reader(argv[1]);
multiply_constant(grid, a);
gridformat_writer(argv[2], grid);
grid_destroy(grid);
return 0;
}
......@@ -22,4 +22,5 @@ void sub_grids(void* dest, void* s1, void* s2);
void pad_grid(void** g, int nx, int ny, int nz);
void slice_grid(void** g, int nx, int ny, int nz);
void* create_new_grid(size_t nx, size_t ny, size_t nz, double* origin, double** basis);
void multiply_constant(void* dest, double a);
#endif
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment