updates
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -149,15 +149,16 @@ namespace ams
|
|||||||
const uint8_t& operator[](long I) const;
|
const uint8_t& operator[](long I) const;
|
||||||
|
|
||||||
float getf(int x, int y) const;
|
float getf(int x, int y) const;
|
||||||
int setf(int x, int y, float f) const;
|
int setf(int x, int y, float f);
|
||||||
float interpolate(int x, int y);
|
float interpolate(float x, float y) const;
|
||||||
|
|
||||||
|
int apply_bitplane(int x0, int y0, const amsbitplane *bp);
|
||||||
|
|
||||||
void clear();
|
void clear();
|
||||||
void setall(uint8_t val);
|
void setall(uint8_t val);
|
||||||
|
|
||||||
//rescales the image with linear interpolation
|
//rescales the image with linear interpolation
|
||||||
amsbitplane rescale(int _Nx, int _Ny); //todo
|
amsbitplane rescale(int _Nx, int _Ny);
|
||||||
};
|
};
|
||||||
|
|
||||||
class amsfloatimage
|
class amsfloatimage
|
||||||
@ -200,10 +201,9 @@ namespace ams
|
|||||||
void clear();
|
void clear();
|
||||||
void setall(amsfloatpixel color);
|
void setall(amsfloatpixel color);
|
||||||
|
|
||||||
//don't implement this yet
|
|
||||||
amsfloatpixel interpolate(float x, float y) const;
|
amsfloatpixel interpolate(float x, float y) const;
|
||||||
|
|
||||||
// //rescales the image with linear interpolation
|
//rescales the image with linear interpolation
|
||||||
amsfloatimage rescale(int nnx, int nny);
|
amsfloatimage rescale(int nnx, int nny);
|
||||||
|
|
||||||
//addition/subtraction/scaling operators?
|
//addition/subtraction/scaling operators?
|
||||||
|
@ -41,6 +41,7 @@ template<typename callable, typename ... argst> int threaded_execute(callable &&
|
|||||||
}
|
}
|
||||||
for(I=0;I<nthreads;I++)
|
for(I=0;I<nthreads;I++)
|
||||||
{
|
{
|
||||||
|
|
||||||
if(threads[I]==NULL)
|
if(threads[I]==NULL)
|
||||||
{ //null thread creation failure check
|
{ //null thread creation failure check
|
||||||
//printf("debug check!\n");
|
//printf("debug check!\n");
|
||||||
|
@ -7,6 +7,9 @@ namespace ams
|
|||||||
void amscppimglib4_test2();
|
void amscppimglib4_test2();
|
||||||
|
|
||||||
void amscppimglib4_test3();
|
void amscppimglib4_test3();
|
||||||
|
|
||||||
|
void amscppimglib4_bitplane_alloc_tests();
|
||||||
|
void amscppimglib4_image_alloc_tests();
|
||||||
|
|
||||||
}; //end namespace ams
|
}; //end namespace ams
|
||||||
|
|
||||||
|
@ -125,6 +125,7 @@ namespace ams
|
|||||||
|
|
||||||
if(data!=NULL)
|
if(data!=NULL)
|
||||||
{
|
{
|
||||||
|
|
||||||
imglib4::amsimage_plane_copy(
|
imglib4::amsimage_plane_copy(
|
||||||
newdata,0,1,_Nx,_Ny,
|
newdata,0,1,_Nx,_Ny,
|
||||||
data,0,1,Nx,Ny,
|
data,0,1,Nx,Ny,
|
||||||
@ -465,6 +466,212 @@ namespace ams
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void amsbitplane::clear()
|
||||||
|
{
|
||||||
|
this->setall(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
float amsbitplane::getf(int x, int y) const
|
||||||
|
{
|
||||||
|
float ret = 0.0f;
|
||||||
|
int p;
|
||||||
|
p = get(x,y);
|
||||||
|
ret = (float)p/255.0;
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
int amsbitplane::setf(int x, int y, float f)
|
||||||
|
{
|
||||||
|
int ret = amsimage_failure;
|
||||||
|
int p;
|
||||||
|
|
||||||
|
if(x>=0 && x<Nx && y>=0 && y<Ny)
|
||||||
|
{
|
||||||
|
ret = amsimage_success;
|
||||||
|
|
||||||
|
p = (int)(f*255.0);
|
||||||
|
if(p<0) p = 0;
|
||||||
|
if(p>255) p = 255;
|
||||||
|
set(x,y,p);
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
float amsbitplane::interpolate(float x, float y) const
|
||||||
|
{
|
||||||
|
float ret = 0.0f;
|
||||||
|
|
||||||
|
float Nxf,Nyf;
|
||||||
|
//just do simple (0,N-1) interpolation for now
|
||||||
|
int xi,yi,xip,yip;
|
||||||
|
float xif,yif,xr,yr;
|
||||||
|
float w00,w01,w10,w11;
|
||||||
|
float p00,p01,p10,p11;
|
||||||
|
|
||||||
|
Nxf = (float)Nx;
|
||||||
|
Nyf = (float)Ny;
|
||||||
|
|
||||||
|
if(x>-0.5 && x<Nxf-0.5 && y>-0.5 && y<Nyf-0.5)
|
||||||
|
{
|
||||||
|
xr = imglib4::mod(x,1.0f);
|
||||||
|
yr = imglib4::mod(y,1.0f);
|
||||||
|
xif = x - xr;
|
||||||
|
yif = y - yr;
|
||||||
|
if(xif<0.0f) {xr = 1.0f;}
|
||||||
|
if(xif>=(Nxf-1.0f)) {xr = 0.0f;}
|
||||||
|
if(yif<0.0f) {yr = 1.0;}
|
||||||
|
if(yif>=(Nyf-1.0f)) {yr = 0.0f;}
|
||||||
|
xi = (int)xif;
|
||||||
|
yi = (int)yif;
|
||||||
|
w00 = (1.0-xr)*(1.0-yr);
|
||||||
|
w10 = (xr)*(1.0-yr);
|
||||||
|
w01 = (1.0-xr)*(yr);
|
||||||
|
w11 = (xr)*(yr);
|
||||||
|
|
||||||
|
xip = xi + 1;
|
||||||
|
yip = yi + 1;
|
||||||
|
if(xi<0) xi = 0;
|
||||||
|
if(xi>Nx-1) xi = Nx-1;
|
||||||
|
if(yi<0) yi = 0;
|
||||||
|
if(yi>Ny-1) yi = Ny-1;
|
||||||
|
if(xip>Nx-1) xip = Nx-1;
|
||||||
|
if(yip>Ny-1) yip = Ny-1;
|
||||||
|
|
||||||
|
p00 = getf(xi,yi);
|
||||||
|
p10 = getf(xip,yi);
|
||||||
|
p01 = getf(xi,yip);
|
||||||
|
p11 = getf(xip,yip);
|
||||||
|
|
||||||
|
ret = p00*w00 + p10*w10 + p01*w01 + p11*w11;
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
void amsbitplane_rescale_tf(
|
||||||
|
int threadnum,
|
||||||
|
int nthreads,
|
||||||
|
amsbitplane *imgto,
|
||||||
|
const amsbitplane *imgfrom
|
||||||
|
)
|
||||||
|
{
|
||||||
|
int Nx = imgto->Nx;
|
||||||
|
int Ny = imgto->Ny;
|
||||||
|
int64_t I,I0,I1,Is,N,Ix,Iy;
|
||||||
|
float p;
|
||||||
|
|
||||||
|
int xs,ys;
|
||||||
|
|
||||||
|
N = Nx*Ny;
|
||||||
|
Is = N/nthreads; if(Is<1) Is = 1;
|
||||||
|
I0 = threadnum*Is;
|
||||||
|
I1 = (threadnum<nthreads-1) ? (threadnum+1)*Is : N;
|
||||||
|
|
||||||
|
for(I=I0;I<I1;I++)
|
||||||
|
{
|
||||||
|
Ix = I%Nx;
|
||||||
|
Iy = I/Nx;
|
||||||
|
|
||||||
|
xs = (float)Ix*((float)(imgfrom->Nx-1))/((float)(imgto->Nx-1));
|
||||||
|
ys = (float)Iy*((float)(imgfrom->Ny-1))/((float)(imgto->Ny-1));
|
||||||
|
|
||||||
|
p = imgfrom->interpolate(xs,ys);
|
||||||
|
imgto->setf(Ix,Iy,p);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
amsbitplane amsbitplane::rescale(int nnx, int nny)
|
||||||
|
{
|
||||||
|
amsbitplane ret;
|
||||||
|
int res;
|
||||||
|
|
||||||
|
res = ret.resize(nnx,nny);
|
||||||
|
if(res!=amsimage_success)
|
||||||
|
{
|
||||||
|
printf("amsimage::rescale: error, could not allocate return image.\n");
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
imglib4::threaded_execute(
|
||||||
|
amsbitplane_rescale_tf, nnx*nny,
|
||||||
|
&ret,this
|
||||||
|
);
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
void amsimage_apply_bitplane_tf(
|
||||||
|
int threadnum,
|
||||||
|
int nthreads,
|
||||||
|
amsbitplane *imgto,
|
||||||
|
const amsbitplane *imgfrom,
|
||||||
|
int x0, int y0
|
||||||
|
)
|
||||||
|
{
|
||||||
|
int dx,dy;
|
||||||
|
int64_t N;
|
||||||
|
int64_t I,I0,I1,Is,Ix,Iy,Ia,Ib;
|
||||||
|
uint8_t v1,v2;
|
||||||
|
|
||||||
|
dx = (imgfrom->Nx < (imgto->Nx-x0)) ? imgfrom->Nx : imgto->Nx-x0;
|
||||||
|
dx = (dx<0) ? 0 : dx;
|
||||||
|
dy = (imgfrom->Ny < (imgto->Ny-y0)) ? imgfrom->Ny : imgto->Ny-y0;
|
||||||
|
dy = (dy<0) ? 0 : dy;
|
||||||
|
N = dx*dy;
|
||||||
|
|
||||||
|
Is = N/nthreads; if(Is<1) Is=1;
|
||||||
|
I0 = threadnum*Is;
|
||||||
|
I1 = (threadnum<nthreads-1) ? (threadnum+1)*Is : N;
|
||||||
|
|
||||||
|
for(I=I0;I<I1;I++)
|
||||||
|
{
|
||||||
|
Ix = I%dx;
|
||||||
|
Iy = I/dx;
|
||||||
|
|
||||||
|
Ia = (Ix + x0) + (Iy + y0)*imgto->Ny;
|
||||||
|
Ib = Ix + Iy*imgfrom->Ny;
|
||||||
|
|
||||||
|
v1 = imgto->data[Ia];
|
||||||
|
v2 = imgfrom->data[Ib];
|
||||||
|
if(v1<v2)
|
||||||
|
imgto->data[Ia] = v2;
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
int amsbitplane::apply_bitplane(int x0, int y0, const amsbitplane *bp)
|
||||||
|
{
|
||||||
|
int ret = amsimage_success;
|
||||||
|
|
||||||
|
int dx,dy;
|
||||||
|
int64_t N;
|
||||||
|
|
||||||
|
if(bp==NULL)
|
||||||
|
{
|
||||||
|
ret = amsimage_failure;
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
dx = (bp->Nx < (this->Nx-x0)) ? bp->Nx : this->Nx-x0;
|
||||||
|
dx = (dx<0) ? 0 : dx;
|
||||||
|
dy = (bp->Ny < (this->Ny-y0)) ? bp->Ny : this->Ny-y0;
|
||||||
|
dy = (dy<0) ? 0 : dy;
|
||||||
|
N = dx*dy;
|
||||||
|
|
||||||
|
imglib4::threaded_execute(
|
||||||
|
amsimage_apply_bitplane_tf, N,
|
||||||
|
this,bp,x0,y0
|
||||||
|
);
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
|
}; //end namespace ams
|
@ -673,7 +673,7 @@ namespace ams
|
|||||||
|
|
||||||
float Nxf,Nyf;
|
float Nxf,Nyf;
|
||||||
//just do simple (0,N-1) interpolation for now
|
//just do simple (0,N-1) interpolation for now
|
||||||
int xi,yi;
|
int xi,yi,xip,yip;
|
||||||
float xif,yif,xr,yr;
|
float xif,yif,xr,yr;
|
||||||
float w00,w01,w10,w11;
|
float w00,w01,w10,w11;
|
||||||
amsfloatpixel p00,p01,p10,p11;
|
amsfloatpixel p00,p01,p10,p11;
|
||||||
@ -698,15 +698,19 @@ namespace ams
|
|||||||
w01 = (1.0-xr)*(yr);
|
w01 = (1.0-xr)*(yr);
|
||||||
w11 = (xr)*(yr);
|
w11 = (xr)*(yr);
|
||||||
|
|
||||||
|
xip = xi + 1;
|
||||||
|
yip = yi + 1;
|
||||||
if(xi<0) xi = 0;
|
if(xi<0) xi = 0;
|
||||||
if(xi>Nx-2) xi = Nx-2;
|
if(xi>Nx-1) xi = Nx-1;
|
||||||
if(yi<0) yi = 0;
|
if(yi<0) yi = 0;
|
||||||
if(yi>Ny-2) yi = Ny-2;
|
if(yi>Ny-1) yi = Ny-1;
|
||||||
|
if(xip>Nx-1) xip = Nx-1;
|
||||||
|
if(yip>Ny-1) yip = Ny-1;
|
||||||
|
|
||||||
p00 = get_pixel(xi,yi);
|
p00 = get_pixel(xi,yi);
|
||||||
p10 = get_pixel(xi+1,yi);
|
p10 = get_pixel(xip,yi);
|
||||||
p01 = get_pixel(xi,yi+1);
|
p01 = get_pixel(xi,yip);
|
||||||
p11 = get_pixel(xi+1,yi+1);
|
p11 = get_pixel(xip,yip);
|
||||||
|
|
||||||
ret = p00*w00 + p10*w10 + p01*w01 + p11*w11;
|
ret = p00*w00 + p10*w10 + p01*w01 + p11*w11;
|
||||||
}
|
}
|
||||||
@ -714,6 +718,8 @@ namespace ams
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void amsfloatimage_rescale_tf(
|
void amsfloatimage_rescale_tf(
|
||||||
int threadnum,
|
int threadnum,
|
||||||
int nthreads,
|
int nthreads,
|
||||||
|
@ -848,7 +848,7 @@ namespace ams
|
|||||||
|
|
||||||
float Nxf,Nyf;
|
float Nxf,Nyf;
|
||||||
//just do simple (0,N-1) interpolation for now
|
//just do simple (0,N-1) interpolation for now
|
||||||
int xi,yi;
|
int xi,yi,xip,yip;
|
||||||
float xif,yif,xr,yr;
|
float xif,yif,xr,yr;
|
||||||
float w00,w01,w10,w11;
|
float w00,w01,w10,w11;
|
||||||
amsfloatpixel p00,p01,p10,p11;
|
amsfloatpixel p00,p01,p10,p11;
|
||||||
@ -873,15 +873,19 @@ namespace ams
|
|||||||
w01 = (1.0-xr)*(yr);
|
w01 = (1.0-xr)*(yr);
|
||||||
w11 = (xr)*(yr);
|
w11 = (xr)*(yr);
|
||||||
|
|
||||||
|
xip = xi + 1;
|
||||||
|
yip = yi + 1;
|
||||||
if(xi<0) xi = 0;
|
if(xi<0) xi = 0;
|
||||||
if(xi>Nx-2) xi = Nx-2;
|
if(xi>Nx-1) xi = Nx-1;
|
||||||
if(yi<0) yi = 0;
|
if(yi<0) yi = 0;
|
||||||
if(yi>Ny-2) yi = Ny-2;
|
if(yi>Ny-1) yi = Ny-1;
|
||||||
|
if(xip>Nx-1) xip = Nx-1;
|
||||||
|
if(yip>Ny-1) yip = Ny-1;
|
||||||
|
|
||||||
p00 = get_fpixel(xi,yi);
|
p00 = get_fpixel(xi,yi);
|
||||||
p10 = get_fpixel(xi+1,yi);
|
p10 = get_fpixel(xip,yi);
|
||||||
p01 = get_fpixel(xi,yi+1);
|
p01 = get_fpixel(xi,yip);
|
||||||
p11 = get_fpixel(xi+1,yi+1);
|
p11 = get_fpixel(xip,yip);
|
||||||
|
|
||||||
ret = p00*w00 + p10*w10 + p01*w01 + p11*w11;
|
ret = p00*w00 + p10*w10 + p01*w01 + p11*w11;
|
||||||
}
|
}
|
||||||
|
@ -19,7 +19,7 @@ namespace imglib4
|
|||||||
int offsety
|
int offsety
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
int64_t I,I0,I1,Is,N,Ix,Iy;
|
int64_t I,I0,I1,Is,N,Ix,Iy,Ia,Ib;
|
||||||
int dx,dy;
|
int dx,dy;
|
||||||
|
|
||||||
dx = Nxfrom;
|
dx = Nxfrom;
|
||||||
@ -32,26 +32,22 @@ namespace imglib4
|
|||||||
|
|
||||||
N = dx*dy;
|
N = dx*dy;
|
||||||
|
|
||||||
Is = N/nthreads; Is = (Is<1) ? 1 : N;
|
Is = N/nthreads; Is = (Is<1) ? 1 : Is;
|
||||||
I0 = (threadnum)*Is;
|
I0 = (threadnum)*Is;
|
||||||
I1 = (threadnum<nthreads-1) ? (threadnum+1)*Is : N;
|
I1 = (threadnum<(nthreads-1)) ? (threadnum+1)*Is : N;
|
||||||
|
|
||||||
for(I=I0;I<I1;I++)
|
for(I=I0;I<I1;I++)
|
||||||
{
|
{
|
||||||
Ix = I%dx;
|
Ix = I%dx;
|
||||||
Iy = I/dx;
|
Iy = I/dx;
|
||||||
|
|
||||||
datato[0 + 4*(Ix+offsetx) + 4*Nxto*(Iy+offsety)] =
|
Ia = (Ix+offsetx) + Nxto*(Iy+offsety);
|
||||||
datafrom[0 + 4*Ix + 4*Nxfrom*Iy];
|
Ib = Ix + Nxfrom*Iy;
|
||||||
|
|
||||||
datato[1 + 4*(Ix+offsetx) + 4*Nxto*(Iy+offsety)] =
|
datato[0 + 4*Ia] = datafrom[0 + 4*Ib];
|
||||||
datafrom[1 + 4*Ix + 4*Nxfrom*Iy];
|
datato[1 + 4*Ia] = datafrom[1 + 4*Ib];
|
||||||
|
datato[2 + 4*Ia] = datafrom[2 + 4*Ib];
|
||||||
datato[2 + 4*(Ix+offsetx) + 4*Nxto*(Iy+offsety)] =
|
datato[3 + 4*Ia] = datafrom[3 + 4*Ib];
|
||||||
datafrom[2 + 4*Ix + 4*Nxfrom*Iy];
|
|
||||||
|
|
||||||
datato[3 + 4*(Ix+offsetx) + 4*Nxto*(Iy+offsety)] =
|
|
||||||
datafrom[3 + 4*Ix + 4*Nxfrom*Iy];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
@ -116,9 +112,9 @@ namespace imglib4
|
|||||||
dy = (dy<0) ? 0 : dy;
|
dy = (dy<0) ? 0 : dy;
|
||||||
N = dx*dy;
|
N = dx*dy;
|
||||||
|
|
||||||
Is = N/nthreads; Is = (Is<1) ? 1 : N;
|
Is = N/nthreads; Is = (Is<1) ? 1 : Is;
|
||||||
I0 = (threadnum)*Is;
|
I0 = (threadnum)*Is;
|
||||||
I1 = (threadnum<nthreads-1) ? (threadnum+1)*Is : N;
|
I1 = (threadnum<(nthreads-1)) ? (threadnum+1)*Is : N;
|
||||||
|
|
||||||
for(I=I0;I<I1;I++)
|
for(I=I0;I<I1;I++)
|
||||||
{
|
{
|
||||||
@ -193,9 +189,9 @@ namespace imglib4
|
|||||||
|
|
||||||
N = dx*dy;
|
N = dx*dy;
|
||||||
|
|
||||||
Is = N/nthreads; Is = (Is<1) ? 1 : N;
|
Is = N/nthreads; Is = (Is<1) ? 1 : Is;
|
||||||
I0 = (threadnum)*Is;
|
I0 = (threadnum)*Is;
|
||||||
I1 = (threadnum<nthreads-1) ? (threadnum+1)*Is : N;
|
I1 = (threadnum<(nthreads-1)) ? (threadnum+1)*Is : N;
|
||||||
|
|
||||||
for(I=I0;I<I1;I++)
|
for(I=I0;I<I1;I++)
|
||||||
{
|
{
|
||||||
@ -272,7 +268,7 @@ namespace imglib4
|
|||||||
dy = (dy<0) ? 0 : dy;
|
dy = (dy<0) ? 0 : dy;
|
||||||
N = dx*dy;
|
N = dx*dy;
|
||||||
|
|
||||||
Is = N/nthreads; Is = (Is<1) ? 1 : N;
|
Is = N/nthreads; Is = (Is<1) ? 1 : Is;
|
||||||
I0 = (threadnum)*Is;
|
I0 = (threadnum)*Is;
|
||||||
I1 = (threadnum<nthreads-1) ? (threadnum+1)*Is : N;
|
I1 = (threadnum<nthreads-1) ? (threadnum+1)*Is : N;
|
||||||
|
|
||||||
|
@ -63,6 +63,66 @@ namespace ams
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
void amscppimglib4_bitplane_alloc_tests()
|
||||||
|
{
|
||||||
|
amsbitplane bp1;
|
||||||
|
int K;
|
||||||
|
|
||||||
|
printf("resize(100,100)\n");
|
||||||
|
bp1.resize(100,100);
|
||||||
|
printf("resize(0,0)\n");
|
||||||
|
bp1.resize(0,0);
|
||||||
|
printf("resize(100,100)\n");
|
||||||
|
bp1.resize(100,100);
|
||||||
|
printf("resize(1024,1024)\n");
|
||||||
|
bp1.resize(1024,1024);
|
||||||
|
printf("resize(0,0)\n");
|
||||||
|
bp1.resize(0,0);
|
||||||
|
printf("resize(-5,-5)\n");
|
||||||
|
bp1.resize(-5,-5);
|
||||||
|
printf("resize(0,0)\n");
|
||||||
|
bp1.resize(0,0);
|
||||||
|
printf("resize(1024,0)\n");
|
||||||
|
bp1.resize(1024,0);
|
||||||
|
printf("resize(1024,1024)\n");
|
||||||
|
bp1.resize(1024,1024);
|
||||||
|
printf("resize(1024,1024)\n");
|
||||||
|
bp1.resize(1024,1024);
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
void amscppimglib4_image_alloc_tests()
|
||||||
|
{
|
||||||
|
amsimage bp1;
|
||||||
|
int K;
|
||||||
|
|
||||||
|
printf("image allocation tests - how on earth is this failing and everything else working?!\n");
|
||||||
|
printf("std::thread::hardware_concurrency() %d\n",(int)std::thread::hardware_concurrency());
|
||||||
|
printf("resize(100,100)\n");
|
||||||
|
bp1.resize(100,100);
|
||||||
|
printf("resize(0,0)\n");
|
||||||
|
bp1.resize(0,0);
|
||||||
|
printf("resize(100,100)\n");
|
||||||
|
bp1.resize(100,100);
|
||||||
|
printf("resize(1024,1024)\n");
|
||||||
|
bp1.resize(1024,1024);
|
||||||
|
printf("resize(0,0)\n");
|
||||||
|
bp1.resize(0,0);
|
||||||
|
printf("resize(-5,-5)\n");
|
||||||
|
bp1.resize(-5,-5);
|
||||||
|
printf("resize(0,0)\n");
|
||||||
|
bp1.resize(0,0);
|
||||||
|
printf("resize(1024,0)\n");
|
||||||
|
bp1.resize(1024,0);
|
||||||
|
printf("resize(1024,1024)\n");
|
||||||
|
bp1.resize(1024,1024);
|
||||||
|
printf("resize(1024,1024)\n");
|
||||||
|
bp1.resize(1024,1024);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,6 +8,9 @@ int main(int argc, char* argv[])
|
|||||||
|
|
||||||
//amscppimglib4_test1();
|
//amscppimglib4_test1();
|
||||||
//amscppimglib4_test2();
|
//amscppimglib4_test2();
|
||||||
|
amscppimglib4_bitplane_alloc_tests();
|
||||||
|
//amscppimglib4_image_alloc_tests();
|
||||||
|
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
Reference in New Issue
Block a user