PostGIS  2.5.1dev-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 value is NOT clamped NODATA

Definition at line 1798 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().

1798  {
1799  int isequal = 0;
1800 
1801  assert(NULL != band);
1802 
1803  /* no NODATA, so never equal */
1804  if (!band->hasnodata)
1805  return 0;
1806 
1807  /* value is exactly NODATA */
1808  if (FLT_EQ(val, band->nodataval))
1809  return 2;
1810 
1811  /* ignore error from rt_pixtype_compare_clamped_values */
1813  band->pixtype,
1814  val, band->nodataval,
1815  &isequal
1816  );
1817 
1818  return isequal ? 1 : 0;
1819 }
rt_pixtype pixtype
Definition: librtcore.h:2314
#define FLT_EQ(x, y)
Definition: librtcore.h:2234
double nodataval
Definition: librtcore.h:2321
int32_t hasnodata
Definition: librtcore.h:2318
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: