PostGIS  2.5.0dev-r@@SVN_REVISION@@

◆ rt_band_clamped_value_is_nodata()

int rt_band_clamped_value_is_nodata ( rt_band  band,
double  val 
)

Compare clamped value to band's clamped NODATA value.

Parameters
band: the band whose NODATA value will be used for comparison
val: the value to compare to the NODATA value
Returns
2 if unclamped value is unclamped NODATA 1 if clamped value is clamped NODATA 0 if clamped values is NOT clamped NODATA
Parameters
band: the band whose NODATA value will be used for comparison
val: the value to compare to the NODATA value
Returns
2 if unclamped value is unclamped NODATA 1 if clamped value is clamped NODATA 0 if clamped value is NOT clamped NODATA

Definition at line 1750 of file rt_band.c.

References FLT_EQ, rt_band_t::hasnodata, rt_band_t::nodataval, rt_band_t::pixtype, and rt_pixtype_compare_clamped_values().

Referenced by RASTER_dumpValues(), rt_band_corrected_clamped_value(), rt_band_get_pixel(), and rt_band_set_pixel().

1750  {
1751  int isequal = 0;
1752 
1753  assert(NULL != band);
1754 
1755  /* no NODATA, so never equal */
1756  if (!band->hasnodata)
1757  return 0;
1758 
1759  /* value is exactly NODATA */
1760  if (FLT_EQ(val, band->nodataval))
1761  return 2;
1762 
1763  /* ignore error from rt_pixtype_compare_clamped_values */
1765  band->pixtype,
1766  val, band->nodataval,
1767  &isequal
1768  );
1769 
1770  return isequal ? 1 : 0;
1771 }
rt_pixtype pixtype
Definition: librtcore.h:2294
#define FLT_EQ(x, y)
Definition: librtcore.h:2214
double nodataval
Definition: librtcore.h:2301
int32_t hasnodata
Definition: librtcore.h:2298
rt_errorstate rt_pixtype_compare_clamped_values(rt_pixtype pixtype, double val, double refval, int *isequal)
Test to see if two values are equal when clamped.
Definition: rt_pixel.c:200
Here is the call graph for this function:
Here is the caller graph for this function: