530 {
532 uint8_t *
data = NULL;
534 int width = 5;
535 int height = 5;
536 int err = 0;
537 int clamped = 0;
538 double val = 0;
541
542
544 CU_ASSERT(data != NULL);
546
548 width, height,
549 pixtype,
550 0, 0,
551 data
552 );
553 CU_ASSERT(band != NULL);
556
559 CU_ASSERT(!clamped);
561 CU_ASSERT_DOUBLE_EQUAL(val, 1, DBL_EPSILON);
562
565 CU_ASSERT(!clamped);
567 CU_ASSERT_DOUBLE_EQUAL(val, 0, DBL_EPSILON);
568
571 CU_ASSERT(!clamped);
573 CU_ASSERT_DOUBLE_EQUAL(val, 2, DBL_EPSILON);
574
577 CU_ASSERT(!clamped);
579 CU_ASSERT_DOUBLE_EQUAL(val, 4, DBL_EPSILON);
580
583 CU_ASSERT(!clamped);
585 CU_ASSERT_DOUBLE_EQUAL(val, 8, DBL_EPSILON);
586
589 CU_ASSERT(!clamped);
591 CU_ASSERT_DOUBLE_EQUAL(val, 15, DBL_EPSILON);
592
595 CU_ASSERT(!clamped);
597 CU_ASSERT_DOUBLE_EQUAL(val, 31, DBL_EPSILON);
598
601 CU_ASSERT(!clamped);
603 CU_ASSERT_DOUBLE_EQUAL(val, -127, DBL_EPSILON);
604
607 CU_ASSERT(!clamped);
609 CU_ASSERT_DOUBLE_EQUAL(val, 127, DBL_EPSILON);
610
611
614 CU_ASSERT(clamped);
615
616
619 CU_ASSERT(clamped);
620
621
624 CU_ASSERT(clamped);
625
626
629 CU_ASSERT(clamped);
630
637 CU_ASSERT_DOUBLE_EQUAL(val, 31, DBL_EPSILON);
638
643 CU_ASSERT_DOUBLE_EQUAL(val, 1, DBL_EPSILON);
644
649 CU_ASSERT_DOUBLE_EQUAL(val, -127, DBL_EPSILON);
650
655 CU_ASSERT_DOUBLE_EQUAL(val, 127, DBL_EPSILON);
656 }
657 }
658
660}
rt_band rt_band_new_inline(uint16_t width, uint16_t height, rt_pixtype pixtype, uint32_t hasnodata, double nodataval, uint8_t *data)
Create an in-db rt_band with no data.
void rt_band_set_ownsdata_flag(rt_band band, int flag)
void * rtalloc(size_t size)
Wrappers used for managing memory.
uint16_t rt_band_get_width(rt_band band)
Return width of this band.
rt_errorstate rt_band_get_pixel(rt_band band, int x, int y, double *value, int *nodata)
Get pixel value.
rt_errorstate rt_band_set_nodata(rt_band band, double val, int *converted)
Set nodata value.
rt_errorstate rt_band_set_pixel(rt_band band, int x, int y, double val, int *converted)
Set single pixel's value.
void rt_band_destroy(rt_band band)
Destroy a raster band.
rt_errorstate rt_band_get_nodata(rt_band band, double *nodata)
Get NODATA value.
int rt_band_get_ownsdata_flag(rt_band band)
Return 0 (FALSE) or non-zero (TRUE) indicating if rt_band is responsible for managing the memory for ...
uint16_t rt_band_get_height(rt_band band)
Return height of this band.
int rt_pixtype_size(rt_pixtype pixtype)
Return size in bytes of a value in the given pixtype.