Commit 6bdb3349 authored by Pietro Incardona's avatar Pietro Incardona

staging file

parent 20b2b64d
include ../../example.mk
CC=mpic++
LDIR =
OBJ = main.o
%.o: %.cpp
$(CC) -O3 -c --std=c++11 -o $@ $< $(INCLUDE_PATH)
expr: $(OBJ)
$(CC) -o $@ $^ $(CFLAGS) $(LIBS_PATH) $(LIBS)
all: expr
.PHONY: clean all
clean:
rm -f *.o *~ core expr
[pack]
files = main.cpp Makefile
#include "Vector/vector_dist.hpp"
#include "Operators/Vector/vector_dist_operators.hpp"
/*
* ### WIKI 1 ###
*
* ## Simple example to show how expression work with vector
*
* This example show how to use expressions to do complex calculation on particles
*
* ### WIKI END ###
*
*/
constexpr int A = 0;
constexpr int B = 1;
constexpr int C = 2;
constexpr int D = 3;
// First we define the kernel function (an exponential in this case)
struct exp_kernel
{
// variance of the exponential
float sigma;
// Constructor require to define the variance
exp_kernel(float sigma)
:sigma(sigma)
{}
// The kernel function accept the position p, the position q
inline Point<3,double> value(const Point<3,float> & p, const Point<3,float> & q,Point<3,double> & Pp,Point<3,double> & Pq)
{
// calculate the distance between p and q
float dist = norm(p-q);
return Pq * exp(- dist * dist / sigma);
}
};
int main(int argc, char* argv[])
{
//
// ### WIKI 2 ###
//
// Here we Initialize the library, than we create a uniform random generator between 0 and 1 to to generate particles
// randomly in the domain, we create a Box that define our domain, boundary conditions, and ghost
//
// initialize the library
openfpm_init(&argc,&argv);
// Here we define our domain a 2D box with intervals from 0 to 1.0
Box<3,float> domain({0.0,0.0,0.0},{1.0,1.0,1.0});
// Here we define the boundary conditions of our problem
size_t bc[3]={PERIODIC,PERIODIC,PERIODIC};
// extended boundary around the domain, and the processor domain
Ghost<3,float> g(0.01);
// Delta t
double dt = 0.01;
// distributed vectors
vector_dist<3,double, aggregate<double,double,Point<3,double>,Point<3,double>> > vd(4096,domain,bc,g);
vector_dist<3,double, aggregate<double> > vd2(4096,domain,bc,g);
// Assign random position to the vector dist
auto it = vd.getDomainIterator();
while (it.isNext())
{
auto p = it.get();
vd.getPos(p)[0] = (double)rand() / RAND_MAX;
vd.getPos(p)[1] = (double)rand() / RAND_MAX;
vd.getPos(p)[2] = (double)rand() / RAND_MAX;
vd2.getPos(p)[0] = (double)rand() / RAND_MAX;
vd2.getPos(p)[1] = (double)rand() / RAND_MAX;
vd2.getPos(p)[2] = (double)rand() / RAND_MAX;
++it;
}
// Redistribute the particles and synchronize the ghost
vd.map();
vd.map();
//
// ### WIKI ###
//
// Here we create alias for the properties of the vectors
//
// vA is an alias for the property A of the vector vd
// vB is an alias for the property V of the vector vd
// vC is ...
auto vA = getV<A>(vd);
auto vB = getV<B>(vd);
auto vC = getV<C>(vd);
auto vD = getV<D>(vd);
auto vPOS = getV<PROP_POS>(vd);
// same concept for the vector v2
auto v2A = getV<0>(vd);
auto v2POS = getV<PROP_POS>(vd);
// Assign 1 to the property A
vA = 1;
// Equal the property A to B
vB = vA;
// Assign to the property C and for each component 4.0
vC = 4;
// Assign te position of the particle to the property D
vD = vPOS;
//
// ### WIKI ###
//
// All these expression are applied point wise for each particles
//
// P.S.
//
// the * is a scalar product in case of vectors
// simple multiplication in case of scalar
//
//
// In vA we set the distance from the origin for each particle
vA = norm(vPOS);
//
// For each particle p calculate the expression under
//
// NOTE sin(2.0 * vD) and exp(5.0 * vD) are both vector
//
// so this is a scalar product
// |
// V
vA = vA + sin(2.0 * vD) * exp(1.2 * vD);
// |_____________________________|
// |
// V
// and this is a number
//
//
// pmul indicate component-wise multiplication the same as .* in Matlab
vC = pmul(vD,vD) * dt;
// Normalization of the vector vD
vD = vD / sqrt( vD * vD );
// we write the result on file
vd.write("output");
// We can also apply the expression in a second moment like this
Point<3,double> p0({0.5,0.5,0.5});
// we cannot use p0 directly we have to create an expression from it
auto p0_e = getVExpr(p0);
// As soon as the second vector have the some number of particle as v we can apply the expr1 to the v2 with v2D
auto expr1 = 1.0/2.0/sqrt(M_PI)*exp(-(v2POS-p0_e)*(v2POS-p0_e)/2.0);
// here is executed on all particles of v2 and the result assigned to the property A of v2
v2A = expr1;
//
// ### WIKI ###
//
// Each operator= produce a iteration across particles. It is possible to use the function assign
// to execute multiple instructions in one cycle
//
// assign support an variable of istructions
//
assign(vA,1.0, // vA = 1
vB,expr1, // vB = 1.0/2.0/sqrt(M_PI)*exp(-(v2POS-p0_e)*(v2POS-p0_e)/2.0)
vC,vD/norm(vD), // vC = vD/norm(vD)
vD,2.0*vC); // vD = 2.0*vC
// As soon as the vector v have the some number of particle as v2 we can apply the expr1 to v
vA = expr1;
//
// ### WIKI ###
//
// we shown the simple usage of simple point-wise function like sin
// and exp. Here we show the function applyKernel than encapsulate
// the operation
//
// \sum_{q = Neighborhood p} Kernel(x_p,x_q,Up,Uq) * expression
//
// where x_p is the position of the particle p
// x_q is the position of the particle q
// U_p is the value of the property carried by the particle p
// U_q is the value of the property carried by the particle q
//
//
exp_kernel ker(0.5);
auto cl = vd.getCellList(0.1);
// We are going to do some calculation that require ghost, so sync it
vd.ghost_get<3>();
// Here we create the
// A renormalizaion of the vector vD is calculated on fly
//
// and than For each particle p
//
// \sum_{q = Neighborhood p} Ker(x_p,x_q,D_p,D_q) * \frac{D}{norm(D)}
//
//
// P.S.
//
// Cerefull here ApplyKernel is a special function if it act on property D we cannot write on property D
// ( vD = ... is an error and produce unpredictable result )
//
vC = applyKernel_in( vD / norm(vD) ,vd,cl,ker) + vD;
// ok, because does not use applyKernel
vD = vD / norm(vD);
//
// ### WIKI 9 ###
//
// Output the particle position for each processor
//
vd.deleteGhost();
vd.write("output2");
//
// ### WIKI 10 ###
//
// Deinitialize the library
//
openfpm_finalize();
}
main.cpp: In function ‘int main(int, char**)’:
main.cpp:153:24: error: ‘getExpr’ was not declared in this scope
auto p0_e = getExpr(p0);
^
main.cpp:156:45: error: no match for ‘operator-’ (operand types are ‘vector_dist_expression<4294967295u, vector_dist<3u, double, aggregate<float, float, Point<3u, double>, Point<3u, double> > > >’ and ‘Point<3u, double>’)
auto expr1 = 1.0/2.0/sqrt(M_PI)*exp(-(v2POS-p0)*(v2POS-p0)/2.0);
^
In file included from /usr/local/openfpm_data/include/Space/Shape/Point.hpp:12:0,
from /usr/local/openfpm_data/include/Space/Shape/Sphere.hpp:11,
from /usr/local/openfpm_data/include/Space/Shape/Box.hpp:5,
from /usr/local/openfpm_data/include/Grid/grid_sm.hpp:10,
from /usr/local/openfpm_data/include/Grid/map_grid.hpp:39,
from /usr/local/openfpm_data/include/Vector/map_vector.hpp:22,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter_util.hpp:12,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter_point_set.hpp:11,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter.hpp:21,
from /usr/local/openfpm_pdata/include/Vector/vector_dist.hpp:11,
from main.cpp:1:
/usr/local/openfpm_data/include/Space/Shape/Point_operators.hpp:766:1: note: candidate: template<unsigned int dim, class T> point_expression_op<Point<dim, T>, Point<dim, T>, Point<dim, T>, 2u> operator-(const Point<dim, T>&, const Point<dim, T>&)
operator-(const Point<dim,T> & va, const Point<dim,T> & vb)
^
/usr/local/openfpm_data/include/Space/Shape/Point_operators.hpp:766:1: note: template argument deduction/substitution failed:
main.cpp:156:46: note: ‘vector_dist_expression<4294967295u, vector_dist<3u, double, aggregate<float, float, Point<3u, double>, Point<3u, double> > > >’ is not derived from ‘const Point<dim, T>’
auto expr1 = 1.0/2.0/sqrt(M_PI)*exp(-(v2POS-p0)*(v2POS-p0)/2.0);
^
In file included from /usr/local/openfpm_data/include/Space/Shape/Point.hpp:12:0,
from /usr/local/openfpm_data/include/Space/Shape/Sphere.hpp:11,
from /usr/local/openfpm_data/include/Space/Shape/Box.hpp:5,
from /usr/local/openfpm_data/include/Grid/grid_sm.hpp:10,
from /usr/local/openfpm_data/include/Grid/map_grid.hpp:39,
from /usr/local/openfpm_data/include/Vector/map_vector.hpp:22,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter_util.hpp:12,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter_point_set.hpp:11,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter.hpp:21,
from /usr/local/openfpm_pdata/include/Vector/vector_dist.hpp:11,
from main.cpp:1:
/usr/local/openfpm_data/include/Space/Shape/Point_operators.hpp:784:1: note: candidate: template<class orig, class exp1, class exp2, unsigned int op1, unsigned int dim, class T> point_expression_op<orig, point_expression_op<orig, exp1, exp2, op1>, Point<dim, T>, 2u> operator-(const point_expression_op<orig, exp1, exp2, op1>&, const Point<dim, T>&)
operator-(const point_expression_op<orig,exp1,exp2,op1> & va, const Point<dim,T> & vb)
^
/usr/local/openfpm_data/include/Space/Shape/Point_operators.hpp:784:1: note: template argument deduction/substitution failed:
main.cpp:156:46: note: ‘vector_dist_expression<4294967295u, vector_dist<3u, double, aggregate<float, float, Point<3u, double>, Point<3u, double> > > >’ is not derived from ‘const point_expression_op<orig, exp1, exp2, op1>’
auto expr1 = 1.0/2.0/sqrt(M_PI)*exp(-(v2POS-p0)*(v2POS-p0)/2.0);
^
In file included from /usr/local/openfpm_data/include/Space/Shape/Point.hpp:12:0,
from /usr/local/openfpm_data/include/Space/Shape/Sphere.hpp:11,
from /usr/local/openfpm_data/include/Space/Shape/Box.hpp:5,
from /usr/local/openfpm_data/include/Grid/grid_sm.hpp:10,
from /usr/local/openfpm_data/include/Grid/map_grid.hpp:39,
from /usr/local/openfpm_data/include/Vector/map_vector.hpp:22,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter_util.hpp:12,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter_point_set.hpp:11,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter.hpp:21,
from /usr/local/openfpm_pdata/include/Vector/vector_dist.hpp:11,
from main.cpp:1:
/usr/local/openfpm_data/include/Space/Shape/Point_operators.hpp:801:1: note: candidate: template<class orig, class exp1, class exp2, unsigned int op1, unsigned int dim, class T> point_expression_op<orig, Point<dim, T>, point_expression_op<orig, exp1, exp2, op1>, 2u> operator-(const Point<dim, T>&, const point_expression_op<orig, exp1, exp2, op1>&)
operator-(const Point<dim,T> & va, const point_expression_op<orig,exp1,exp2,op1> & vb)
^
/usr/local/openfpm_data/include/Space/Shape/Point_operators.hpp:801:1: note: template argument deduction/substitution failed:
main.cpp:156:46: note: ‘vector_dist_expression<4294967295u, vector_dist<3u, double, aggregate<float, float, Point<3u, double>, Point<3u, double> > > >’ is not derived from ‘const Point<dim, T>’
auto expr1 = 1.0/2.0/sqrt(M_PI)*exp(-(v2POS-p0)*(v2POS-p0)/2.0);
^
In file included from /usr/local/openfpm_data/include/Space/Shape/Point.hpp:12:0,
from /usr/local/openfpm_data/include/Space/Shape/Sphere.hpp:11,
from /usr/local/openfpm_data/include/Space/Shape/Box.hpp:5,
from /usr/local/openfpm_data/include/Grid/grid_sm.hpp:10,
from /usr/local/openfpm_data/include/Grid/map_grid.hpp:39,
from /usr/local/openfpm_data/include/Vector/map_vector.hpp:22,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter_util.hpp:12,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter_point_set.hpp:11,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter.hpp:21,
from /usr/local/openfpm_pdata/include/Vector/vector_dist.hpp:11,
from main.cpp:1:
/usr/local/openfpm_data/include/Space/Shape/Point_operators.hpp:818:1: note: candidate: template<class orig, class exp1, class exp2, unsigned int op1, class T> point_expression_op<orig, point_expression_op<orig, exp1, exp2, op1>, point_expression<T>, 2u> operator-(const point_expression_op<orig, exp1, exp2, op1>&, T)
operator-(const point_expression_op<orig,exp1,exp2,op1> & va, T d)
^
/usr/local/openfpm_data/include/Space/Shape/Point_operators.hpp:818:1: note: template argument deduction/substitution failed:
main.cpp:156:46: note: ‘vector_dist_expression<4294967295u, vector_dist<3u, double, aggregate<float, float, Point<3u, double>, Point<3u, double> > > >’ is not derived from ‘const point_expression_op<orig, exp1, exp2, op1>’
auto expr1 = 1.0/2.0/sqrt(M_PI)*exp(-(v2POS-p0)*(v2POS-p0)/2.0);
^
In file included from /usr/local/openfpm_data/include/Space/Shape/Point.hpp:12:0,
from /usr/local/openfpm_data/include/Space/Shape/Sphere.hpp:11,
from /usr/local/openfpm_data/include/Space/Shape/Box.hpp:5,
from /usr/local/openfpm_data/include/Grid/grid_sm.hpp:10,
from /usr/local/openfpm_data/include/Grid/map_grid.hpp:39,
from /usr/local/openfpm_data/include/Vector/map_vector.hpp:22,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter_util.hpp:12,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter_point_set.hpp:11,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter.hpp:21,
from /usr/local/openfpm_pdata/include/Vector/vector_dist.hpp:11,
from main.cpp:1:
/usr/local/openfpm_data/include/Space/Shape/Point_operators.hpp:835:1: note: candidate: template<class orig, class exp1, class exp2, unsigned int op1, class T> point_expression_op<orig, point_expression<T>, point_expression_op<orig, exp1, exp2, op1>, 2u> operator-(T, const point_expression_op<orig, exp1, exp2, op1>&)
operator-(T d, const point_expression_op<orig,exp1,exp2,op1> & vb)
^
/usr/local/openfpm_data/include/Space/Shape/Point_operators.hpp:835:1: note: template argument deduction/substitution failed:
main.cpp:156:46: note: ‘Point<3u, double>’ is not derived from ‘const point_expression_op<orig, exp1, exp2, op1>’
auto expr1 = 1.0/2.0/sqrt(M_PI)*exp(-(v2POS-p0)*(v2POS-p0)/2.0);
^
In file included from /usr/local/openfpm_data/include/Space/Shape/Point.hpp:12:0,
from /usr/local/openfpm_data/include/Space/Shape/Sphere.hpp:11,
from /usr/local/openfpm_data/include/Space/Shape/Box.hpp:5,
from /usr/local/openfpm_data/include/Grid/grid_sm.hpp:10,
from /usr/local/openfpm_data/include/Grid/map_grid.hpp:39,
from /usr/local/openfpm_data/include/Vector/map_vector.hpp:22,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter_util.hpp:12,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter_point_set.hpp:11,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter.hpp:21,
from /usr/local/openfpm_pdata/include/Vector/vector_dist.hpp:11,
from main.cpp:1:
/usr/local/openfpm_data/include/Space/Shape/Point_operators.hpp:853:1: note: candidate: template<class orig, class exp1, class exp2, unsigned int op1, class exp3, class exp4, unsigned int op2> point_expression_op<orig, point_expression_op<orig, exp1, exp2, op1>, point_expression_op<orig, exp3, exp4, op2>, 2u> operator-(const point_expression_op<orig, exp1, exp2, op1>&, const point_expression_op<orig, exp3, exp4, op2>&)
operator-(const point_expression_op<orig,exp1,exp2,op1> & va, const point_expression_op<orig,exp3,exp4,op2> & vb)
^
/usr/local/openfpm_data/include/Space/Shape/Point_operators.hpp:853:1: note: template argument deduction/substitution failed:
main.cpp:156:46: note: ‘vector_dist_expression<4294967295u, vector_dist<3u, double, aggregate<float, float, Point<3u, double>, Point<3u, double> > > >’ is not derived from ‘const point_expression_op<orig, exp1, exp2, op1>’
auto expr1 = 1.0/2.0/sqrt(M_PI)*exp(-(v2POS-p0)*(v2POS-p0)/2.0);
^
In file included from /usr/local/openfpm_data/include/Space/Shape/Point.hpp:12:0,
from /usr/local/openfpm_data/include/Space/Shape/Sphere.hpp:11,
from /usr/local/openfpm_data/include/Space/Shape/Box.hpp:5,
from /usr/local/openfpm_data/include/Grid/grid_sm.hpp:10,
from /usr/local/openfpm_data/include/Grid/map_grid.hpp:39,
from /usr/local/openfpm_data/include/Vector/map_vector.hpp:22,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter_util.hpp:12,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter_point_set.hpp:11,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter.hpp:21,
from /usr/local/openfpm_pdata/include/Vector/vector_dist.hpp:11,
from main.cpp:1:
/usr/local/openfpm_data/include/Space/Shape/Point_operators.hpp:870:1: note: candidate: template<unsigned int dim, class T, class check> point_expression_op<Point<dim, T>, Point<dim, T>, point_expression<T>, 2u> operator-(const Point<dim, T>&, T)
operator-(const Point<dim,T> & va, T d)
^
/usr/local/openfpm_data/include/Space/Shape/Point_operators.hpp:870:1: note: template argument deduction/substitution failed:
main.cpp:156:46: note: ‘vector_dist_expression<4294967295u, vector_dist<3u, double, aggregate<float, float, Point<3u, double>, Point<3u, double> > > >’ is not derived from ‘const Point<dim, T>’
auto expr1 = 1.0/2.0/sqrt(M_PI)*exp(-(v2POS-p0)*(v2POS-p0)/2.0);
^
In file included from /usr/local/openfpm_data/include/Space/Shape/Point.hpp:12:0,
from /usr/local/openfpm_data/include/Space/Shape/Sphere.hpp:11,
from /usr/local/openfpm_data/include/Space/Shape/Box.hpp:5,
from /usr/local/openfpm_data/include/Grid/grid_sm.hpp:10,
from /usr/local/openfpm_data/include/Grid/map_grid.hpp:39,
from /usr/local/openfpm_data/include/Vector/map_vector.hpp:22,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter_util.hpp:12,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter_point_set.hpp:11,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter.hpp:21,
from /usr/local/openfpm_pdata/include/Vector/vector_dist.hpp:11,
from main.cpp:1:
/usr/local/openfpm_data/include/Space/Shape/Point_operators.hpp:887:1: note: candidate: template<unsigned int dim, class T> point_expression_op<Point<dim, T>, Point<dim, T>, point_expression<double>, 2u> operator-(const Point<dim, T>&, double)
operator-(const Point<dim,T> & va, double d)
^
/usr/local/openfpm_data/include/Space/Shape/Point_operators.hpp:887:1: note: template argument deduction/substitution failed:
main.cpp:156:46: note: ‘vector_dist_expression<4294967295u, vector_dist<3u, double, aggregate<float, float, Point<3u, double>, Point<3u, double> > > >’ is not derived from ‘const Point<dim, T>’
auto expr1 = 1.0/2.0/sqrt(M_PI)*exp(-(v2POS-p0)*(v2POS-p0)/2.0);
^
In file included from /usr/local/openfpm_data/include/Space/Shape/Point.hpp:12:0,
from /usr/local/openfpm_data/include/Space/Shape/Sphere.hpp:11,
from /usr/local/openfpm_data/include/Space/Shape/Box.hpp:5,
from /usr/local/openfpm_data/include/Grid/grid_sm.hpp:10,
from /usr/local/openfpm_data/include/Grid/map_grid.hpp:39,
from /usr/local/openfpm_data/include/Vector/map_vector.hpp:22,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter_util.hpp:12,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter_point_set.hpp:11,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter.hpp:21,
from /usr/local/openfpm_pdata/include/Vector/vector_dist.hpp:11,
from main.cpp:1:
/usr/local/openfpm_data/include/Space/Shape/Point_operators.hpp:904:1: note: candidate: template<unsigned int dim, class T, class check> point_expression_op<Point<dim, T>, point_expression<T>, Point<dim, T>, 2u> operator-(T, const Point<dim, T>&)
operator-(T d, const Point<dim,T> & vb)
^
/usr/local/openfpm_data/include/Space/Shape/Point_operators.hpp:904:1: note: template argument deduction/substitution failed:
main.cpp:156:46: note: deduced conflicting types for parameter ‘T’ (‘vector_dist_expression<4294967295u, vector_dist<3u, double, aggregate<float, float, Point<3u, double>, Point<3u, double> > > >’ and ‘double’)
auto expr1 = 1.0/2.0/sqrt(M_PI)*exp(-(v2POS-p0)*(v2POS-p0)/2.0);
^
In file included from /usr/local/openfpm_data/include/Space/Shape/Point.hpp:12:0,
from /usr/local/openfpm_data/include/Space/Shape/Sphere.hpp:11,
from /usr/local/openfpm_data/include/Space/Shape/Box.hpp:5,
from /usr/local/openfpm_data/include/Grid/grid_sm.hpp:10,
from /usr/local/openfpm_data/include/Grid/map_grid.hpp:39,
from /usr/local/openfpm_data/include/Vector/map_vector.hpp:22,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter_util.hpp:12,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter_point_set.hpp:11,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter.hpp:21,
from /usr/local/openfpm_pdata/include/Vector/vector_dist.hpp:11,
from main.cpp:1:
/usr/local/openfpm_data/include/Space/Shape/Point_operators.hpp:921:1: note: candidate: template<unsigned int dim, class T> point_expression_op<Point<dim, T>, point_expression<double>, Point<dim, T>, 2u> operator-(double, const Point<dim, T>&)
operator-(double d, const Point<dim,T> & vb)
^
/usr/local/openfpm_data/include/Space/Shape/Point_operators.hpp:921:1: note: template argument deduction/substitution failed:
main.cpp:156:46: note: cannot convert ‘v2POS’ (type ‘vector_dist_expression<4294967295u, vector_dist<3u, double, aggregate<float, float, Point<3u, double>, Point<3u, double> > > >’) to type ‘double’
auto expr1 = 1.0/2.0/sqrt(M_PI)*exp(-(v2POS-p0)*(v2POS-p0)/2.0);
^
In file included from main.cpp:2:0:
/usr/local/openfpm_numerics/include/Operators/Vector/vector_dist_operators.hpp:588:1: note: candidate: template<unsigned int p1, unsigned int p2, class v1, class v2> vector_dist_expression_op<vector_dist_expression<p1, v1>, vector_dist_expression<p2, v2>, 2u> operator-(const vector_dist_expression<p1, v1>&, const vector_dist_expression<p2, v2>&)
operator-(const vector_dist_expression<p1,v1> & va, const vector_dist_expression<p2,v2> & vb)
^
/usr/local/openfpm_numerics/include/Operators/Vector/vector_dist_operators.hpp:588:1: note: template argument deduction/substitution failed:
main.cpp:156:46: note: ‘Point<3u, double>’ is not derived from ‘const vector_dist_expression<p2, v2>’
auto expr1 = 1.0/2.0/sqrt(M_PI)*exp(-(v2POS-p0)*(v2POS-p0)/2.0);
^
In file included from main.cpp:2:0:
/usr/local/openfpm_numerics/include/Operators/Vector/vector_dist_operators.hpp:606:1: note: candidate: template<class exp1, class exp2, unsigned int op1, unsigned int p2, class v2> vector_dist_expression_op<vector_dist_expression_op<exp1, exp2, op1>, vector_dist_expression<prp1, v1>, 2u> operator-(const vector_dist_expression_op<exp1, exp2, op1>&, const vector_dist_expression<prp1, v1>&)
operator-(const vector_dist_expression_op<exp1,exp2,op1> & va, const vector_dist_expression<p2,v2> & vb)
^
/usr/local/openfpm_numerics/include/Operators/Vector/vector_dist_operators.hpp:606:1: note: template argument deduction/substitution failed:
main.cpp:156:46: note: ‘vector_dist_expression<4294967295u, vector_dist<3u, double, aggregate<float, float, Point<3u, double>, Point<3u, double> > > >’ is not derived from ‘const vector_dist_expression_op<exp1, exp2, op1>’
auto expr1 = 1.0/2.0/sqrt(M_PI)*exp(-(v2POS-p0)*(v2POS-p0)/2.0);
^
In file included from main.cpp:2:0:
/usr/local/openfpm_numerics/include/Operators/Vector/vector_dist_operators.hpp:623:1: note: candidate: template<class exp1, class exp2, unsigned int op1, unsigned int p2, class v2> vector_dist_expression_op<vector_dist_expression<prp1, v1>, vector_dist_expression_op<exp1, exp2, op1>, 2u> operator-(const vector_dist_expression<prp1, v1>&, const vector_dist_expression_op<exp1, exp2, op1>&)
operator-(const vector_dist_expression<p2,v2> & va, const vector_dist_expression_op<exp1,exp2,op1> & vb)
^
/usr/local/openfpm_numerics/include/Operators/Vector/vector_dist_operators.hpp:623:1: note: template argument deduction/substitution failed:
main.cpp:156:46: note: ‘Point<3u, double>’ is not derived from ‘const vector_dist_expression_op<exp1, exp2, op1>’
auto expr1 = 1.0/2.0/sqrt(M_PI)*exp(-(v2POS-p0)*(v2POS-p0)/2.0);
^
In file included from main.cpp:2:0:
/usr/local/openfpm_numerics/include/Operators/Vector/vector_dist_operators.hpp:640:1: note: candidate: template<class exp1, class exp2, unsigned int op1, class exp3, class exp4, unsigned int op2> vector_dist_expression_op<vector_dist_expression_op<exp1, exp2, op1>, vector_dist_expression_op<exp3, exp4, op2>, 2u> operator-(const vector_dist_expression_op<exp1, exp2, op1>&, const vector_dist_expression_op<exp3, exp4, op2>&)
operator-(const vector_dist_expression_op<exp1,exp2,op1> & va, const vector_dist_expression_op<exp3,exp4,op2> & vb)
^
/usr/local/openfpm_numerics/include/Operators/Vector/vector_dist_operators.hpp:640:1: note: template argument deduction/substitution failed:
main.cpp:156:46: note: ‘vector_dist_expression<4294967295u, vector_dist<3u, double, aggregate<float, float, Point<3u, double>, Point<3u, double> > > >’ is not derived from ‘const vector_dist_expression_op<exp1, exp2, op1>’
auto expr1 = 1.0/2.0/sqrt(M_PI)*exp(-(v2POS-p0)*(v2POS-p0)/2.0);
^
In file included from main.cpp:2:0:
/usr/local/openfpm_numerics/include/Operators/Vector/vector_dist_operators.hpp:657:1: note: candidate: template<unsigned int prp1, class v1> vector_dist_expression_op<vector_dist_expression<prp, vector>, vector_dist_expression<0u, double>, 2u> operator-(const vector_dist_expression<prp, vector>&, double)
operator-(const vector_dist_expression<prp1,v1> & va, double d)
^
/usr/local/openfpm_numerics/include/Operators/Vector/vector_dist_operators.hpp:657:1: note: template argument deduction/substitution failed:
main.cpp:156:46: note: cannot convert ‘p0’ (type ‘Point<3u, double>’) to type ‘double’
auto expr1 = 1.0/2.0/sqrt(M_PI)*exp(-(v2POS-p0)*(v2POS-p0)/2.0);
^
In file included from main.cpp:2:0:
/usr/local/openfpm_numerics/include/Operators/Vector/vector_dist_operators.hpp:674:1: note: candidate: template<unsigned int prp1, class v1> vector_dist_expression_op<vector_dist_expression<0u, double>, vector_dist_expression<prp, vector>, 2u> operator-(double, const vector_dist_expression<prp, vector>&)
operator-(double d, const vector_dist_expression<prp1,v1> & vb)
^
/usr/local/openfpm_numerics/include/Operators/Vector/vector_dist_operators.hpp:674:1: note: template argument deduction/substitution failed:
main.cpp:156:46: note: cannot convert ‘v2POS’ (type ‘vector_dist_expression<4294967295u, vector_dist<3u, double, aggregate<float, float, Point<3u, double>, Point<3u, double> > > >’) to type ‘double’
auto expr1 = 1.0/2.0/sqrt(M_PI)*exp(-(v2POS-p0)*(v2POS-p0)/2.0);
^
main.cpp:156:56: error: no match for ‘operator-’ (operand types are ‘vector_dist_expression<4294967295u, vector_dist<3u, double, aggregate<float, float, Point<3u, double>, Point<3u, double> > > >’ and ‘Point<3u, double>’)
auto expr1 = 1.0/2.0/sqrt(M_PI)*exp(-(v2POS-p0)*(v2POS-p0)/2.0);
^
In file included from /usr/local/openfpm_data/include/Space/Shape/Point.hpp:12:0,
from /usr/local/openfpm_data/include/Space/Shape/Sphere.hpp:11,
from /usr/local/openfpm_data/include/Space/Shape/Box.hpp:5,
from /usr/local/openfpm_data/include/Grid/grid_sm.hpp:10,
from /usr/local/openfpm_data/include/Grid/map_grid.hpp:39,
from /usr/local/openfpm_data/include/Vector/map_vector.hpp:22,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter_util.hpp:12,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter_point_set.hpp:11,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter.hpp:21,
from /usr/local/openfpm_pdata/include/Vector/vector_dist.hpp:11,
from main.cpp:1:
/usr/local/openfpm_data/include/Space/Shape/Point_operators.hpp:766:1: note: candidate: template<unsigned int dim, class T> point_expression_op<Point<dim, T>, Point<dim, T>, Point<dim, T>, 2u> operator-(const Point<dim, T>&, const Point<dim, T>&)
operator-(const Point<dim,T> & va, const Point<dim,T> & vb)
^
/usr/local/openfpm_data/include/Space/Shape/Point_operators.hpp:766:1: note: template argument deduction/substitution failed:
main.cpp:156:57: note: ‘vector_dist_expression<4294967295u, vector_dist<3u, double, aggregate<float, float, Point<3u, double>, Point<3u, double> > > >’ is not derived from ‘const Point<dim, T>’
auto expr1 = 1.0/2.0/sqrt(M_PI)*exp(-(v2POS-p0)*(v2POS-p0)/2.0);
^
In file included from /usr/local/openfpm_data/include/Space/Shape/Point.hpp:12:0,
from /usr/local/openfpm_data/include/Space/Shape/Sphere.hpp:11,
from /usr/local/openfpm_data/include/Space/Shape/Box.hpp:5,
from /usr/local/openfpm_data/include/Grid/grid_sm.hpp:10,
from /usr/local/openfpm_data/include/Grid/map_grid.hpp:39,
from /usr/local/openfpm_data/include/Vector/map_vector.hpp:22,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter_util.hpp:12,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter_point_set.hpp:11,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter.hpp:21,
from /usr/local/openfpm_pdata/include/Vector/vector_dist.hpp:11,
from main.cpp:1:
/usr/local/openfpm_data/include/Space/Shape/Point_operators.hpp:784:1: note: candidate: template<class orig, class exp1, class exp2, unsigned int op1, unsigned int dim, class T> point_expression_op<orig, point_expression_op<orig, exp1, exp2, op1>, Point<dim, T>, 2u> operator-(const point_expression_op<orig, exp1, exp2, op1>&, const Point<dim, T>&)
operator-(const point_expression_op<orig,exp1,exp2,op1> & va, const Point<dim,T> & vb)
^
/usr/local/openfpm_data/include/Space/Shape/Point_operators.hpp:784:1: note: template argument deduction/substitution failed:
main.cpp:156:57: note: ‘vector_dist_expression<4294967295u, vector_dist<3u, double, aggregate<float, float, Point<3u, double>, Point<3u, double> > > >’ is not derived from ‘const point_expression_op<orig, exp1, exp2, op1>’
auto expr1 = 1.0/2.0/sqrt(M_PI)*exp(-(v2POS-p0)*(v2POS-p0)/2.0);
^
In file included from /usr/local/openfpm_data/include/Space/Shape/Point.hpp:12:0,
from /usr/local/openfpm_data/include/Space/Shape/Sphere.hpp:11,
from /usr/local/openfpm_data/include/Space/Shape/Box.hpp:5,
from /usr/local/openfpm_data/include/Grid/grid_sm.hpp:10,
from /usr/local/openfpm_data/include/Grid/map_grid.hpp:39,
from /usr/local/openfpm_data/include/Vector/map_vector.hpp:22,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter_util.hpp:12,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter_point_set.hpp:11,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter.hpp:21,
from /usr/local/openfpm_pdata/include/Vector/vector_dist.hpp:11,
from main.cpp:1:
/usr/local/openfpm_data/include/Space/Shape/Point_operators.hpp:801:1: note: candidate: template<class orig, class exp1, class exp2, unsigned int op1, unsigned int dim, class T> point_expression_op<orig, Point<dim, T>, point_expression_op<orig, exp1, exp2, op1>, 2u> operator-(const Point<dim, T>&, const point_expression_op<orig, exp1, exp2, op1>&)
operator-(const Point<dim,T> & va, const point_expression_op<orig,exp1,exp2,op1> & vb)
^
/usr/local/openfpm_data/include/Space/Shape/Point_operators.hpp:801:1: note: template argument deduction/substitution failed:
main.cpp:156:57: note: ‘vector_dist_expression<4294967295u, vector_dist<3u, double, aggregate<float, float, Point<3u, double>, Point<3u, double> > > >’ is not derived from ‘const Point<dim, T>’
auto expr1 = 1.0/2.0/sqrt(M_PI)*exp(-(v2POS-p0)*(v2POS-p0)/2.0);
^
In file included from /usr/local/openfpm_data/include/Space/Shape/Point.hpp:12:0,
from /usr/local/openfpm_data/include/Space/Shape/Sphere.hpp:11,
from /usr/local/openfpm_data/include/Space/Shape/Box.hpp:5,
from /usr/local/openfpm_data/include/Grid/grid_sm.hpp:10,
from /usr/local/openfpm_data/include/Grid/map_grid.hpp:39,
from /usr/local/openfpm_data/include/Vector/map_vector.hpp:22,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter_util.hpp:12,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter_point_set.hpp:11,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter.hpp:21,
from /usr/local/openfpm_pdata/include/Vector/vector_dist.hpp:11,
from main.cpp:1:
/usr/local/openfpm_data/include/Space/Shape/Point_operators.hpp:818:1: note: candidate: template<class orig, class exp1, class exp2, unsigned int op1, class T> point_expression_op<orig, point_expression_op<orig, exp1, exp2, op1>, point_expression<T>, 2u> operator-(const point_expression_op<orig, exp1, exp2, op1>&, T)
operator-(const point_expression_op<orig,exp1,exp2,op1> & va, T d)
^
/usr/local/openfpm_data/include/Space/Shape/Point_operators.hpp:818:1: note: template argument deduction/substitution failed:
main.cpp:156:57: note: ‘vector_dist_expression<4294967295u, vector_dist<3u, double, aggregate<float, float, Point<3u, double>, Point<3u, double> > > >’ is not derived from ‘const point_expression_op<orig, exp1, exp2, op1>’
auto expr1 = 1.0/2.0/sqrt(M_PI)*exp(-(v2POS-p0)*(v2POS-p0)/2.0);
^
In file included from /usr/local/openfpm_data/include/Space/Shape/Point.hpp:12:0,
from /usr/local/openfpm_data/include/Space/Shape/Sphere.hpp:11,
from /usr/local/openfpm_data/include/Space/Shape/Box.hpp:5,
from /usr/local/openfpm_data/include/Grid/grid_sm.hpp:10,
from /usr/local/openfpm_data/include/Grid/map_grid.hpp:39,
from /usr/local/openfpm_data/include/Vector/map_vector.hpp:22,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter_util.hpp:12,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter_point_set.hpp:11,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter.hpp:21,
from /usr/local/openfpm_pdata/include/Vector/vector_dist.hpp:11,
from main.cpp:1:
/usr/local/openfpm_data/include/Space/Shape/Point_operators.hpp:835:1: note: candidate: template<class orig, class exp1, class exp2, unsigned int op1, class T> point_expression_op<orig, point_expression<T>, point_expression_op<orig, exp1, exp2, op1>, 2u> operator-(T, const point_expression_op<orig, exp1, exp2, op1>&)
operator-(T d, const point_expression_op<orig,exp1,exp2,op1> & vb)
^
/usr/local/openfpm_data/include/Space/Shape/Point_operators.hpp:835:1: note: template argument deduction/substitution failed:
main.cpp:156:57: note: ‘Point<3u, double>’ is not derived from ‘const point_expression_op<orig, exp1, exp2, op1>’
auto expr1 = 1.0/2.0/sqrt(M_PI)*exp(-(v2POS-p0)*(v2POS-p0)/2.0);
^
In file included from /usr/local/openfpm_data/include/Space/Shape/Point.hpp:12:0,
from /usr/local/openfpm_data/include/Space/Shape/Sphere.hpp:11,
from /usr/local/openfpm_data/include/Space/Shape/Box.hpp:5,
from /usr/local/openfpm_data/include/Grid/grid_sm.hpp:10,
from /usr/local/openfpm_data/include/Grid/map_grid.hpp:39,
from /usr/local/openfpm_data/include/Vector/map_vector.hpp:22,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter_util.hpp:12,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter_point_set.hpp:11,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter.hpp:21,
from /usr/local/openfpm_pdata/include/Vector/vector_dist.hpp:11,
from main.cpp:1:
/usr/local/openfpm_data/include/Space/Shape/Point_operators.hpp:853:1: note: candidate: template<class orig, class exp1, class exp2, unsigned int op1, class exp3, class exp4, unsigned int op2> point_expression_op<orig, point_expression_op<orig, exp1, exp2, op1>, point_expression_op<orig, exp3, exp4, op2>, 2u> operator-(const point_expression_op<orig, exp1, exp2, op1>&, const point_expression_op<orig, exp3, exp4, op2>&)
operator-(const point_expression_op<orig,exp1,exp2,op1> & va, const point_expression_op<orig,exp3,exp4,op2> & vb)
^
/usr/local/openfpm_data/include/Space/Shape/Point_operators.hpp:853:1: note: template argument deduction/substitution failed:
main.cpp:156:57: note: ‘vector_dist_expression<4294967295u, vector_dist<3u, double, aggregate<float, float, Point<3u, double>, Point<3u, double> > > >’ is not derived from ‘const point_expression_op<orig, exp1, exp2, op1>’
auto expr1 = 1.0/2.0/sqrt(M_PI)*exp(-(v2POS-p0)*(v2POS-p0)/2.0);
^
In file included from /usr/local/openfpm_data/include/Space/Shape/Point.hpp:12:0,
from /usr/local/openfpm_data/include/Space/Shape/Sphere.hpp:11,
from /usr/local/openfpm_data/include/Space/Shape/Box.hpp:5,
from /usr/local/openfpm_data/include/Grid/grid_sm.hpp:10,
from /usr/local/openfpm_data/include/Grid/map_grid.hpp:39,
from /usr/local/openfpm_data/include/Vector/map_vector.hpp:22,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter_util.hpp:12,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter_point_set.hpp:11,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter.hpp:21,
from /usr/local/openfpm_pdata/include/Vector/vector_dist.hpp:11,
from main.cpp:1:
/usr/local/openfpm_data/include/Space/Shape/Point_operators.hpp:870:1: note: candidate: template<unsigned int dim, class T, class check> point_expression_op<Point<dim, T>, Point<dim, T>, point_expression<T>, 2u> operator-(const Point<dim, T>&, T)
operator-(const Point<dim,T> & va, T d)
^
/usr/local/openfpm_data/include/Space/Shape/Point_operators.hpp:870:1: note: template argument deduction/substitution failed:
main.cpp:156:57: note: ‘vector_dist_expression<4294967295u, vector_dist<3u, double, aggregate<float, float, Point<3u, double>, Point<3u, double> > > >’ is not derived from ‘const Point<dim, T>’
auto expr1 = 1.0/2.0/sqrt(M_PI)*exp(-(v2POS-p0)*(v2POS-p0)/2.0);
^
In file included from /usr/local/openfpm_data/include/Space/Shape/Point.hpp:12:0,
from /usr/local/openfpm_data/include/Space/Shape/Sphere.hpp:11,
from /usr/local/openfpm_data/include/Space/Shape/Box.hpp:5,
from /usr/local/openfpm_data/include/Grid/grid_sm.hpp:10,
from /usr/local/openfpm_data/include/Grid/map_grid.hpp:39,
from /usr/local/openfpm_data/include/Vector/map_vector.hpp:22,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter_util.hpp:12,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter_point_set.hpp:11,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter.hpp:21,
from /usr/local/openfpm_pdata/include/Vector/vector_dist.hpp:11,
from main.cpp:1:
/usr/local/openfpm_data/include/Space/Shape/Point_operators.hpp:887:1: note: candidate: template<unsigned int dim, class T> point_expression_op<Point<dim, T>, Point<dim, T>, point_expression<double>, 2u> operator-(const Point<dim, T>&, double)
operator-(const Point<dim,T> & va, double d)
^
/usr/local/openfpm_data/include/Space/Shape/Point_operators.hpp:887:1: note: template argument deduction/substitution failed:
main.cpp:156:57: note: ‘vector_dist_expression<4294967295u, vector_dist<3u, double, aggregate<float, float, Point<3u, double>, Point<3u, double> > > >’ is not derived from ‘const Point<dim, T>’
auto expr1 = 1.0/2.0/sqrt(M_PI)*exp(-(v2POS-p0)*(v2POS-p0)/2.0);
^
In file included from /usr/local/openfpm_data/include/Space/Shape/Point.hpp:12:0,
from /usr/local/openfpm_data/include/Space/Shape/Sphere.hpp:11,
from /usr/local/openfpm_data/include/Space/Shape/Box.hpp:5,
from /usr/local/openfpm_data/include/Grid/grid_sm.hpp:10,
from /usr/local/openfpm_data/include/Grid/map_grid.hpp:39,
from /usr/local/openfpm_data/include/Vector/map_vector.hpp:22,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter_util.hpp:12,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter_point_set.hpp:11,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter.hpp:21,
from /usr/local/openfpm_pdata/include/Vector/vector_dist.hpp:11,
from main.cpp:1:
/usr/local/openfpm_data/include/Space/Shape/Point_operators.hpp:904:1: note: candidate: template<unsigned int dim, class T, class check> point_expression_op<Point<dim, T>, point_expression<T>, Point<dim, T>, 2u> operator-(T, const Point<dim, T>&)
operator-(T d, const Point<dim,T> & vb)
^
/usr/local/openfpm_data/include/Space/Shape/Point_operators.hpp:904:1: note: template argument deduction/substitution failed:
main.cpp:156:57: note: deduced conflicting types for parameter ‘T’ (‘vector_dist_expression<4294967295u, vector_dist<3u, double, aggregate<float, float, Point<3u, double>, Point<3u, double> > > >’ and ‘double’)
auto expr1 = 1.0/2.0/sqrt(M_PI)*exp(-(v2POS-p0)*(v2POS-p0)/2.0);
^
In file included from /usr/local/openfpm_data/include/Space/Shape/Point.hpp:12:0,
from /usr/local/openfpm_data/include/Space/Shape/Sphere.hpp:11,
from /usr/local/openfpm_data/include/Space/Shape/Box.hpp:5,
from /usr/local/openfpm_data/include/Grid/grid_sm.hpp:10,
from /usr/local/openfpm_data/include/Grid/map_grid.hpp:39,
from /usr/local/openfpm_data/include/Vector/map_vector.hpp:22,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter_util.hpp:12,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter_point_set.hpp:11,
from /usr/local/openfpm_io/include/HDF5_XdmfWriter/HDF5_XdmfWriter.hpp:21,
from /usr/local/openfpm_pdata/include/Vector/vector_dist.hpp:11,
from main.cpp:1:
/usr/local/openfpm_data/include/Space/Shape/Point_operators.hpp:921:1: note: candidate: template<unsigned int dim, class T> point_expression_op<Point<dim, T>, point_expression<double>, Point<dim, T>, 2u> operator-(double, const Point<dim, T>&)
operator-(double d, const Point<dim,T> & vb)
^
/usr/local/openfpm_data/include/Space/Shape/Point_operators.hpp:921:1: note: template argument deduction/substitution failed:
main.cpp:156:57: note: cannot convert ‘v2POS’ (type ‘vector_dist_expression<4294967295u, vector_dist<3u, double, aggregate<float, float, Point<3u, double>, Point<3u, double> > > >’) to type ‘double’
auto expr1 = 1.0/2.0/sqrt(M_PI)*exp(-(v2POS-p0)*(v2POS-p0)/2.0);
^
In file included from main.cpp:2:0:
/usr/local/openfpm_numerics/include/Operators/Vector/vector_dist_operators.hpp:588:1: note: candidate: template<unsigned int p1, unsigned int p2, class v1, class v2> vector_dist_expression_op<vector_dist_expression<p1, v1>, vector_dist_expression<p2, v2>, 2u> operator-(const vector_dist_expression<p1, v1>&, const vector_dist_expression<p2, v2>&)
operator-(const vector_dist_expression<p1,v1> & va, const vector_dist_expression<p2,v2> & vb)
^
/usr/local/openfpm_numerics/include/Operators/Vector/vector_dist_operators.hpp:588:1: note: template argument deduction/substitution failed:
main.cpp:156:57: note: ‘Point<3u, double>’ is not derived from ‘const vector_dist_expression<p2, v2>’
auto expr1 = 1.0/2.0/sqrt(M_PI)*exp(-(v2POS-p0)*(v2POS-p0)/2.0);
^
In file included from main.cpp:2:0:
/usr/local/openfpm_numerics/include/Operators/Vector/vector_dist_operators.hpp:606:1: note: candidate: template<class exp1, class exp2, unsigned int op1, unsigned int p2, class v2> vector_dist_expression_op<vector_dist_expression_op<exp1, exp2, op1>, vector_dist_expression<prp1, v1>, 2u> operator-(const vector_dist_expression_op<exp1, exp2, op1>&, const vector_dist_expression<prp1, v1>&)
operator-(const vector_dist_expression_op<exp1,exp2,op1> & va, const vector_dist_expression<p2,v2> & vb)
^
/usr/local/openfpm_numerics/include/Operators/Vector/vector_dist_operators.hpp:606:1: note: template argument deduction/substitution failed:
main.cpp:156:57: note: ‘vector_dist_expression<4294967295u, vector_dist<3u, double, aggregate<float, float, Point<3u, double>, Point<3u, double> > > >’ is not derived from ‘const vector_dist_expression_op<exp1, exp2, op1>’
auto expr1 = 1.0/2.0/sqrt(M_PI)*exp(-(v2POS-p0)*(v2POS-p0)/2.0);
^
In file included from main.cpp:2:0:
/usr/local/openfpm_numerics/include/Operators/Vector/vector_dist_operators.hpp:623:1: note: candidate: template<class exp1, class exp2, unsigned int op1, unsigned int p2, class v2> vector_dist_expression_op<vector_dist_expression<prp1, v1>, vector_dist_expression_op<exp1, exp2, op1>, 2u> operator-(const vector_dist_expression<prp1, v1>&, const vector_dist_expression_op<exp1, exp2, op1>&)
operator-(const vector_dist_expression<p2,v2> & va, const vector_dist_expression_op<exp1,exp2,op1> & vb)
^
/usr/local/openfpm_numerics/include/Operators/Vector/vector_dist_operators.hpp:623:1: note: template argument deduction/substitution failed:
main.cpp:156:57: note: ‘Point<3u, double>’ is not derived from ‘const vector_dist_expression_op<exp1, exp2, op1>’
auto expr1 = 1.0/2.0/sqrt(M_PI)*exp(-(v2POS-p0)*(v2POS-p0)/2.0);
^
In file included from main.cpp:2:0:
/usr/local/openfpm_numerics/include/Operators/Vector/vector_dist_operators.hpp:640:1: note: candidate: template<class exp1, class exp2, unsigned int op1, class exp3, class exp4, unsigned int op2> vector_dist_expression_op<vector_dist_expression_op<exp1, exp2, op1>, vector_dist_expression_op<exp3, exp4, op2>, 2u> operator-(const vector_dist_expression_op<exp1, exp2, op1>&, const vector_dist_expression_op<exp3, exp4, op2>&)
operator-(const vector_dist_expression_op<exp1,exp2,op1> & va, const vector_dist_expression_op<exp3,exp4,op2> & vb)
^
/usr/local/openfpm_numerics/include/Operators/Vector/vector_dist_operators.hpp:640:1: note: template argument deduction/substitution failed:
main.cpp:156:57: note: ‘vector_dist_expression<4294967295u, vector_dist<3u, double, aggregate<float, float, Point<3u, double>, Point<3u, double> > > >’ is not derived from ‘const vector_dist_expression_op<exp1, exp2, op1>’
auto expr1 = 1.0/2.0/sqrt(M_PI)*exp(-(v2POS-p0)*(v2POS-p0)/2.0);
^
In file included from main.cpp:2:0:
/usr/local/openfpm_numerics/include/Operators/Vector/vector_dist_operators.hpp:657:1: note: candidate: template<unsigned int prp1, class v1> vector_dist_expression_op<vector_dist_expression<prp, vector>, vector_dist_expression<0u, double>, 2u> operator-(const vector_dist_expression<prp, vector>&, double)
operator-(const vector_dist_expression<prp1,v1> & va, double d)
^
/usr/local/openfpm_numerics/include/Operators/Vector/vector_dist_operators.hpp:657:1: note: template argument deduction/substitution failed:
main.cpp:156:57: note: cannot convert ‘p0’ (type ‘Point<3u, double>’) to type ‘double’
auto expr1 = 1.0/2.0/sqrt(M_PI)*exp(-(v2POS-p0)*(v2POS-p0)/2.0);
^
In file included from main.cpp:2:0:
/usr/local/openfpm_numerics/include/Operators/Vector/vector_dist_operators.hpp:674:1: note: candidate: template<unsigned int prp1, class v1> vector_dist_expression_op<vector_dist_expression<0u, double>, vector_dist_expression<prp, vector>, 2u> operator-(double, const vector_dist_expression<prp, vector>&)
operator-(double d, const vector_dist_expression<prp1,v1> & vb)
^
/usr/local/openfpm_numerics/include/Operators/Vector/vector_dist_operators.hpp:674:1: note: template argument deduction/substitution failed:
main.cpp:156:57: note: cannot convert ‘v2POS’ (type ‘vector_dist_expression<4294967295u, vector_dist<3u, double, aggregate<float, float, Point<3u, double>, Point<3u, double> > > >’) to type ‘double’
auto expr1 = 1.0/2.0/sqrt(M_PI)*exp(-(v2POS-p0)*(v2POS-p0)/2.0);
^
In file included from main.cpp:2:0:
/usr/local/openfpm_numerics/include/Operators/Vector/vector_dist_operators.hpp: In instantiation of ‘vector& vector_dist_expression<prp, vector>::operator=(const vector_dist_expression_op<exp1, exp2, op>&) [with exp1 = vector_dist_expression<4294967295u, vector_dist<3u, double, aggregate<float, float, Point<3u, double>, Point&