/* ColorTransformation.c generated by valac 0.34.2, the Vala compiler
 * generated from ColorTransformation.vala, do not modify */

/* Copyright 2016 Software Freedom Conservancy Inc.
 *
 * This software is licensed under the GNU LGPL (version 2.1 or later).
 * See the COPYING file in this distribution.
 */

#include <glib.h>
#include <glib-object.h>
#include <float.h>
#include <math.h>
#include <string.h>
#include <gee.h>
#include <stdlib.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <gio/gio.h>
#include <stdio.h>
#include <gobject/gvaluecollector.h>


#define TYPE_RGB_ANALYTIC_PIXEL (rgb_analytic_pixel_get_type ())
typedef struct _RGBAnalyticPixel RGBAnalyticPixel;

#define TYPE_HSV_ANALYTIC_PIXEL (hsv_analytic_pixel_get_type ())
typedef struct _HSVAnalyticPixel HSVAnalyticPixel;

#define TYPE_COMPOSITION_MODE (composition_mode_get_type ())

#define TYPE_PIXEL_FORMAT (pixel_format_get_type ())

#define TYPE_PIXEL_TRANSFORMATION_TYPE (pixel_transformation_type_get_type ())

#define TYPE_PIXEL_TRANSFORMATION_BUNDLE (pixel_transformation_bundle_get_type ())
#define PIXEL_TRANSFORMATION_BUNDLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PIXEL_TRANSFORMATION_BUNDLE, PixelTransformationBundle))
#define PIXEL_TRANSFORMATION_BUNDLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PIXEL_TRANSFORMATION_BUNDLE, PixelTransformationBundleClass))
#define IS_PIXEL_TRANSFORMATION_BUNDLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PIXEL_TRANSFORMATION_BUNDLE))
#define IS_PIXEL_TRANSFORMATION_BUNDLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PIXEL_TRANSFORMATION_BUNDLE))
#define PIXEL_TRANSFORMATION_BUNDLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PIXEL_TRANSFORMATION_BUNDLE, PixelTransformationBundleClass))

typedef struct _PixelTransformationBundle PixelTransformationBundle;
typedef struct _PixelTransformationBundleClass PixelTransformationBundleClass;
typedef struct _PixelTransformationBundlePrivate PixelTransformationBundlePrivate;

#define TYPE_PIXEL_TRANSFORMATION (pixel_transformation_get_type ())
#define PIXEL_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PIXEL_TRANSFORMATION, PixelTransformation))
#define PIXEL_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PIXEL_TRANSFORMATION, PixelTransformationClass))
#define IS_PIXEL_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PIXEL_TRANSFORMATION))
#define IS_PIXEL_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PIXEL_TRANSFORMATION))
#define PIXEL_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PIXEL_TRANSFORMATION, PixelTransformationClass))

typedef struct _PixelTransformation PixelTransformation;
typedef struct _PixelTransformationClass PixelTransformationClass;
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _pixel_transformation_bundle_unref0(var) ((var == NULL) ? NULL : (var = (pixel_transformation_bundle_unref (var), NULL)))

#define TYPE_HSV_TRANSFORMATION (hsv_transformation_get_type ())
#define HSV_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_HSV_TRANSFORMATION, HSVTransformation))
#define HSV_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_HSV_TRANSFORMATION, HSVTransformationClass))
#define IS_HSV_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_HSV_TRANSFORMATION))
#define IS_HSV_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_HSV_TRANSFORMATION))
#define HSV_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_HSV_TRANSFORMATION, HSVTransformationClass))

typedef struct _HSVTransformation HSVTransformation;
typedef struct _HSVTransformationClass HSVTransformationClass;

#define TYPE_EXPANSION_TRANSFORMATION (expansion_transformation_get_type ())
#define EXPANSION_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EXPANSION_TRANSFORMATION, ExpansionTransformation))
#define EXPANSION_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EXPANSION_TRANSFORMATION, ExpansionTransformationClass))
#define IS_EXPANSION_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EXPANSION_TRANSFORMATION))
#define IS_EXPANSION_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EXPANSION_TRANSFORMATION))
#define EXPANSION_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EXPANSION_TRANSFORMATION, ExpansionTransformationClass))

typedef struct _ExpansionTransformation ExpansionTransformation;
typedef struct _ExpansionTransformationClass ExpansionTransformationClass;
#define _pixel_transformation_unref0(var) ((var == NULL) ? NULL : (var = (pixel_transformation_unref (var), NULL)))

#define TYPE_SHADOW_DETAIL_TRANSFORMATION (shadow_detail_transformation_get_type ())
#define SHADOW_DETAIL_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SHADOW_DETAIL_TRANSFORMATION, ShadowDetailTransformation))
#define SHADOW_DETAIL_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SHADOW_DETAIL_TRANSFORMATION, ShadowDetailTransformationClass))
#define IS_SHADOW_DETAIL_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SHADOW_DETAIL_TRANSFORMATION))
#define IS_SHADOW_DETAIL_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SHADOW_DETAIL_TRANSFORMATION))
#define SHADOW_DETAIL_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SHADOW_DETAIL_TRANSFORMATION, ShadowDetailTransformationClass))

typedef struct _ShadowDetailTransformation ShadowDetailTransformation;
typedef struct _ShadowDetailTransformationClass ShadowDetailTransformationClass;

#define TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION (highlight_detail_transformation_get_type ())
#define HIGHLIGHT_DETAIL_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION, HighlightDetailTransformation))
#define HIGHLIGHT_DETAIL_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION, HighlightDetailTransformationClass))
#define IS_HIGHLIGHT_DETAIL_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION))
#define IS_HIGHLIGHT_DETAIL_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION))
#define HIGHLIGHT_DETAIL_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION, HighlightDetailTransformationClass))

typedef struct _HighlightDetailTransformation HighlightDetailTransformation;
typedef struct _HighlightDetailTransformationClass HighlightDetailTransformationClass;

#define TYPE_RGB_TRANSFORMATION (rgb_transformation_get_type ())
#define RGB_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RGB_TRANSFORMATION, RGBTransformation))
#define RGB_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RGB_TRANSFORMATION, RGBTransformationClass))
#define IS_RGB_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RGB_TRANSFORMATION))
#define IS_RGB_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RGB_TRANSFORMATION))
#define RGB_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RGB_TRANSFORMATION, RGBTransformationClass))

typedef struct _RGBTransformation RGBTransformation;
typedef struct _RGBTransformationClass RGBTransformationClass;

#define TYPE_TEMPERATURE_TRANSFORMATION (temperature_transformation_get_type ())
#define TEMPERATURE_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TEMPERATURE_TRANSFORMATION, TemperatureTransformation))
#define TEMPERATURE_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TEMPERATURE_TRANSFORMATION, TemperatureTransformationClass))
#define IS_TEMPERATURE_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TEMPERATURE_TRANSFORMATION))
#define IS_TEMPERATURE_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TEMPERATURE_TRANSFORMATION))
#define TEMPERATURE_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TEMPERATURE_TRANSFORMATION, TemperatureTransformationClass))

typedef struct _TemperatureTransformation TemperatureTransformation;
typedef struct _TemperatureTransformationClass TemperatureTransformationClass;

#define TYPE_TINT_TRANSFORMATION (tint_transformation_get_type ())
#define TINT_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TINT_TRANSFORMATION, TintTransformation))
#define TINT_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TINT_TRANSFORMATION, TintTransformationClass))
#define IS_TINT_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TINT_TRANSFORMATION))
#define IS_TINT_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TINT_TRANSFORMATION))
#define TINT_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TINT_TRANSFORMATION, TintTransformationClass))

typedef struct _TintTransformation TintTransformation;
typedef struct _TintTransformationClass TintTransformationClass;

#define TYPE_SATURATION_TRANSFORMATION (saturation_transformation_get_type ())
#define SATURATION_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SATURATION_TRANSFORMATION, SaturationTransformation))
#define SATURATION_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SATURATION_TRANSFORMATION, SaturationTransformationClass))
#define IS_SATURATION_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SATURATION_TRANSFORMATION))
#define IS_SATURATION_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SATURATION_TRANSFORMATION))
#define SATURATION_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SATURATION_TRANSFORMATION, SaturationTransformationClass))

typedef struct _SaturationTransformation SaturationTransformation;
typedef struct _SaturationTransformationClass SaturationTransformationClass;

#define TYPE_EXPOSURE_TRANSFORMATION (exposure_transformation_get_type ())
#define EXPOSURE_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EXPOSURE_TRANSFORMATION, ExposureTransformation))
#define EXPOSURE_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EXPOSURE_TRANSFORMATION, ExposureTransformationClass))
#define IS_EXPOSURE_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EXPOSURE_TRANSFORMATION))
#define IS_EXPOSURE_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EXPOSURE_TRANSFORMATION))
#define EXPOSURE_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EXPOSURE_TRANSFORMATION, ExposureTransformationClass))

typedef struct _ExposureTransformation ExposureTransformation;
typedef struct _ExposureTransformationClass ExposureTransformationClass;

#define TYPE_KEY_VALUE_MAP (key_value_map_get_type ())
#define KEY_VALUE_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_KEY_VALUE_MAP, KeyValueMap))
#define KEY_VALUE_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_KEY_VALUE_MAP, KeyValueMapClass))
#define IS_KEY_VALUE_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_KEY_VALUE_MAP))
#define IS_KEY_VALUE_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_KEY_VALUE_MAP))
#define KEY_VALUE_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_KEY_VALUE_MAP, KeyValueMapClass))

typedef struct _KeyValueMap KeyValueMap;
typedef struct _KeyValueMapClass KeyValueMapClass;
#define _g_free0(var) (var = (g_free (var), NULL))
#define _key_value_map_unref0(var) ((var == NULL) ? NULL : (var = (key_value_map_unref (var), NULL)))

#define TYPE_PIXEL_TRANSFORMER (pixel_transformer_get_type ())
#define PIXEL_TRANSFORMER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PIXEL_TRANSFORMER, PixelTransformer))
#define PIXEL_TRANSFORMER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PIXEL_TRANSFORMER, PixelTransformerClass))
#define IS_PIXEL_TRANSFORMER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PIXEL_TRANSFORMER))
#define IS_PIXEL_TRANSFORMER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PIXEL_TRANSFORMER))
#define PIXEL_TRANSFORMER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PIXEL_TRANSFORMER, PixelTransformerClass))

typedef struct _PixelTransformer PixelTransformer;
typedef struct _PixelTransformerClass PixelTransformerClass;
#define _pixel_transformer_unref0(var) ((var == NULL) ? NULL : (var = (pixel_transformer_unref (var), NULL)))
typedef struct _ParamSpecPixelTransformationBundle ParamSpecPixelTransformationBundle;
typedef struct _PixelTransformationPrivate PixelTransformationPrivate;
typedef struct _ParamSpecPixelTransformation ParamSpecPixelTransformation;
typedef struct _RGBTransformationPrivate RGBTransformationPrivate;
typedef struct _HSVTransformationPrivate HSVTransformationPrivate;
typedef struct _TintTransformationPrivate TintTransformationPrivate;
typedef struct _TemperatureTransformationPrivate TemperatureTransformationPrivate;
typedef struct _SaturationTransformationPrivate SaturationTransformationPrivate;
typedef struct _ExposureTransformationPrivate ExposureTransformationPrivate;
typedef struct _PixelTransformerPrivate PixelTransformerPrivate;
typedef struct _ParamSpecPixelTransformer ParamSpecPixelTransformer;

#define TYPE_RGB_HISTOGRAM (rgb_histogram_get_type ())
#define RGB_HISTOGRAM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RGB_HISTOGRAM, RGBHistogram))
#define RGB_HISTOGRAM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RGB_HISTOGRAM, RGBHistogramClass))
#define IS_RGB_HISTOGRAM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RGB_HISTOGRAM))
#define IS_RGB_HISTOGRAM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RGB_HISTOGRAM))
#define RGB_HISTOGRAM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RGB_HISTOGRAM, RGBHistogramClass))

typedef struct _RGBHistogram RGBHistogram;
typedef struct _RGBHistogramClass RGBHistogramClass;
typedef struct _RGBHistogramPrivate RGBHistogramPrivate;
typedef struct _ParamSpecRGBHistogram ParamSpecRGBHistogram;

#define TYPE_INTENSITY_HISTOGRAM (intensity_histogram_get_type ())
#define INTENSITY_HISTOGRAM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INTENSITY_HISTOGRAM, IntensityHistogram))
#define INTENSITY_HISTOGRAM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_INTENSITY_HISTOGRAM, IntensityHistogramClass))
#define IS_INTENSITY_HISTOGRAM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INTENSITY_HISTOGRAM))
#define IS_INTENSITY_HISTOGRAM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_INTENSITY_HISTOGRAM))
#define INTENSITY_HISTOGRAM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_INTENSITY_HISTOGRAM, IntensityHistogramClass))

typedef struct _IntensityHistogram IntensityHistogram;
typedef struct _IntensityHistogramClass IntensityHistogramClass;
typedef struct _IntensityHistogramPrivate IntensityHistogramPrivate;
typedef struct _ParamSpecIntensityHistogram ParamSpecIntensityHistogram;
typedef struct _ExpansionTransformationPrivate ExpansionTransformationPrivate;
typedef struct _ShadowDetailTransformationPrivate ShadowDetailTransformationPrivate;

#define TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION (hermite_gamma_approximation_function_get_type ())
#define HERMITE_GAMMA_APPROXIMATION_FUNCTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION, HermiteGammaApproximationFunction))
#define HERMITE_GAMMA_APPROXIMATION_FUNCTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION, HermiteGammaApproximationFunctionClass))
#define IS_HERMITE_GAMMA_APPROXIMATION_FUNCTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION))
#define IS_HERMITE_GAMMA_APPROXIMATION_FUNCTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION))
#define HERMITE_GAMMA_APPROXIMATION_FUNCTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION, HermiteGammaApproximationFunctionClass))

typedef struct _HermiteGammaApproximationFunction HermiteGammaApproximationFunction;
typedef struct _HermiteGammaApproximationFunctionClass HermiteGammaApproximationFunctionClass;
#define _hermite_gamma_approximation_function_unref0(var) ((var == NULL) ? NULL : (var = (hermite_gamma_approximation_function_unref (var), NULL)))
typedef struct _HermiteGammaApproximationFunctionPrivate HermiteGammaApproximationFunctionPrivate;
typedef struct _ParamSpecHermiteGammaApproximationFunction ParamSpecHermiteGammaApproximationFunction;
typedef struct _HighlightDetailTransformationPrivate HighlightDetailTransformationPrivate;
#define _intensity_histogram_unref0(var) ((var == NULL) ? NULL : (var = (intensity_histogram_unref (var), NULL)))
#define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);
#define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; }
#define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; }
#define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);

struct _RGBAnalyticPixel {
	gfloat red;
	gfloat green;
	gfloat blue;
};

struct _HSVAnalyticPixel {
	gfloat hue;
	gfloat saturation;
	gfloat light_value;
};

typedef enum  {
	COMPOSITION_MODE_NONE,
	COMPOSITION_MODE_RGB_MATRIX
} CompositionMode;

typedef enum  {
	PIXEL_FORMAT_RGB,
	PIXEL_FORMAT_HSV
} PixelFormat;

typedef enum  {
	PIXEL_TRANSFORMATION_TYPE_TONE_EXPANSION,
	PIXEL_TRANSFORMATION_TYPE_SHADOWS,
	PIXEL_TRANSFORMATION_TYPE_HIGHLIGHTS,
	PIXEL_TRANSFORMATION_TYPE_TEMPERATURE,
	PIXEL_TRANSFORMATION_TYPE_TINT,
	PIXEL_TRANSFORMATION_TYPE_SATURATION,
	PIXEL_TRANSFORMATION_TYPE_EXPOSURE
} PixelTransformationType;

struct _PixelTransformationBundle {
	GTypeInstance parent_instance;
	volatile int ref_count;
	PixelTransformationBundlePrivate * priv;
};

struct _PixelTransformationBundleClass {
	GTypeClass parent_class;
	void (*finalize) (PixelTransformationBundle *self);
};

struct _PixelTransformationBundlePrivate {
	GeeHashMap* map;
};

struct _ParamSpecPixelTransformationBundle {
	GParamSpec parent_instance;
};

struct _PixelTransformation {
	GTypeInstance parent_instance;
	volatile int ref_count;
	PixelTransformationPrivate * priv;
};

struct _PixelTransformationClass {
	GTypeClass parent_class;
	void (*finalize) (PixelTransformation *self);
	PixelFormat (*get_preferred_format) (PixelTransformation* self);
	CompositionMode (*get_composition_mode) (PixelTransformation* self);
	void (*compose_with) (PixelTransformation* self, PixelTransformation* other);
	gboolean (*is_identity) (PixelTransformation* self);
	void (*transform_pixel_hsv) (PixelTransformation* self, HSVAnalyticPixel* p, HSVAnalyticPixel* result);
	void (*transform_pixel_rgb) (PixelTransformation* self, RGBAnalyticPixel* p, RGBAnalyticPixel* result);
	gchar* (*to_string) (PixelTransformation* self);
	PixelTransformation* (*copy) (PixelTransformation* self);
};

struct _PixelTransformationPrivate {
	PixelTransformationType type;
};

struct _ParamSpecPixelTransformation {
	GParamSpec parent_instance;
};

struct _RGBTransformation {
	PixelTransformation parent_instance;
	RGBTransformationPrivate * priv;
	gfloat* matrix_entries;
	gint matrix_entries_length1;
	gboolean identity;
};

struct _RGBTransformationClass {
	PixelTransformationClass parent_class;
};

struct _HSVTransformation {
	PixelTransformation parent_instance;
	HSVTransformationPrivate * priv;
};

struct _HSVTransformationClass {
	PixelTransformationClass parent_class;
};

struct _TintTransformation {
	RGBTransformation parent_instance;
	TintTransformationPrivate * priv;
};

struct _TintTransformationClass {
	RGBTransformationClass parent_class;
};

struct _TintTransformationPrivate {
	gfloat parameter;
};

struct _TemperatureTransformation {
	RGBTransformation parent_instance;
	TemperatureTransformationPrivate * priv;
};

struct _TemperatureTransformationClass {
	RGBTransformationClass parent_class;
};

struct _TemperatureTransformationPrivate {
	gfloat parameter;
};

struct _SaturationTransformation {
	RGBTransformation parent_instance;
	SaturationTransformationPrivate * priv;
};

struct _SaturationTransformationClass {
	RGBTransformationClass parent_class;
};

struct _SaturationTransformationPrivate {
	gfloat parameter;
};

struct _ExposureTransformation {
	RGBTransformation parent_instance;
	ExposureTransformationPrivate * priv;
};

struct _ExposureTransformationClass {
	RGBTransformationClass parent_class;
};

struct _ExposureTransformationPrivate {
	gfloat parameter;
};

struct _PixelTransformer {
	GTypeInstance parent_instance;
	volatile int ref_count;
	PixelTransformerPrivate * priv;
};

struct _PixelTransformerClass {
	GTypeClass parent_class;
	void (*finalize) (PixelTransformer *self);
};

struct _PixelTransformerPrivate {
	GeeArrayList* transformations;
	PixelTransformation** optimized_transformations;
	gint optimized_transformations_length1;
	gint _optimized_transformations_size_;
	gint optimized_slots_used;
};

struct _ParamSpecPixelTransformer {
	GParamSpec parent_instance;
};

struct _RGBHistogram {
	GTypeInstance parent_instance;
	volatile int ref_count;
	RGBHistogramPrivate * priv;
};

struct _RGBHistogramClass {
	GTypeClass parent_class;
	void (*finalize) (RGBHistogram *self);
};

struct _RGBHistogramPrivate {
	gint* red_counts;
	gint red_counts_length1;
	gint _red_counts_size_;
	gint* green_counts;
	gint green_counts_length1;
	gint _green_counts_size_;
	gint* blue_counts;
	gint blue_counts_length1;
	gint _blue_counts_size_;
	gint* qualitative_red_counts;
	gint qualitative_red_counts_length1;
	gint _qualitative_red_counts_size_;
	gint* qualitative_green_counts;
	gint qualitative_green_counts_length1;
	gint _qualitative_green_counts_size_;
	gint* qualitative_blue_counts;
	gint qualitative_blue_counts_length1;
	gint _qualitative_blue_counts_size_;
	GdkPixbuf* graphic;
};

struct _ParamSpecRGBHistogram {
	GParamSpec parent_instance;
};

struct _IntensityHistogram {
	GTypeInstance parent_instance;
	volatile int ref_count;
	IntensityHistogramPrivate * priv;
};

struct _IntensityHistogramClass {
	GTypeClass parent_class;
	void (*finalize) (IntensityHistogram *self);
};

struct _IntensityHistogramPrivate {
	gint* counts;
	gint counts_length1;
	gint _counts_size_;
	gfloat* probabilities;
	gint probabilities_length1;
	gint _probabilities_size_;
	gfloat* cumulative_probabilities;
	gint cumulative_probabilities_length1;
	gint _cumulative_probabilities_size_;
};

struct _ParamSpecIntensityHistogram {
	GParamSpec parent_instance;
};

struct _ExpansionTransformation {
	HSVTransformation parent_instance;
	ExpansionTransformationPrivate * priv;
};

struct _ExpansionTransformationClass {
	HSVTransformationClass parent_class;
};

struct _ExpansionTransformationPrivate {
	gfloat* remap_table;
	gint remap_table_length1;
	gint _remap_table_size_;
	gint low_kink;
	gint high_kink;
};

struct _ShadowDetailTransformation {
	HSVTransformation parent_instance;
	ShadowDetailTransformationPrivate * priv;
};

struct _ShadowDetailTransformationClass {
	HSVTransformationClass parent_class;
};

struct _ShadowDetailTransformationPrivate {
	gfloat intensity;
	gfloat* remap_table;
	gint remap_table_length1;
	gint _remap_table_size_;
};

struct _HermiteGammaApproximationFunction {
	GTypeInstance parent_instance;
	volatile int ref_count;
	HermiteGammaApproximationFunctionPrivate * priv;
};

struct _HermiteGammaApproximationFunctionClass {
	GTypeClass parent_class;
	void (*finalize) (HermiteGammaApproximationFunction *self);
};

struct _HermiteGammaApproximationFunctionPrivate {
	gfloat x_scale;
	gfloat nonzero_interval_upper;
};

struct _ParamSpecHermiteGammaApproximationFunction {
	GParamSpec parent_instance;
};

struct _HighlightDetailTransformation {
	HSVTransformation parent_instance;
	HighlightDetailTransformationPrivate * priv;
};

struct _HighlightDetailTransformationClass {
	HSVTransformationClass parent_class;
};

struct _HighlightDetailTransformationPrivate {
	gfloat intensity;
	gfloat* remap_table;
	gint remap_table_length1;
	gint _remap_table_size_;
};


static gpointer pixel_transformation_bundle_parent_class = NULL;
static PixelTransformationBundle* pixel_transformation_bundle_copied_color_adjustments;
static PixelTransformationBundle* pixel_transformation_bundle_copied_color_adjustments = NULL;
static gpointer pixel_transformation_parent_class = NULL;
static gpointer rgb_transformation_parent_class = NULL;
static gpointer hsv_transformation_parent_class = NULL;
static gpointer tint_transformation_parent_class = NULL;
static gpointer temperature_transformation_parent_class = NULL;
static gpointer saturation_transformation_parent_class = NULL;
static gpointer exposure_transformation_parent_class = NULL;
static gpointer pixel_transformer_parent_class = NULL;
static gpointer rgb_histogram_parent_class = NULL;
static gpointer intensity_histogram_parent_class = NULL;
static gpointer expansion_transformation_parent_class = NULL;
static gpointer shadow_detail_transformation_parent_class = NULL;
static gpointer hermite_gamma_approximation_function_parent_class = NULL;
static gpointer highlight_detail_transformation_parent_class = NULL;

GType rgb_analytic_pixel_get_type (void) G_GNUC_CONST;
RGBAnalyticPixel* rgb_analytic_pixel_dup (const RGBAnalyticPixel* self);
void rgb_analytic_pixel_free (RGBAnalyticPixel* self);
#define RGB_ANALYTIC_PIXEL_INV_255 (1.0f / 255.0f)
void rgb_analytic_pixel_init (RGBAnalyticPixel *self);
void rgb_analytic_pixel_init_from_components (RGBAnalyticPixel *self, gfloat red, gfloat green, gfloat blue);
void rgb_analytic_pixel_init_from_quantized_components (RGBAnalyticPixel *self, guchar red_quantized, guchar green_quantized, guchar blue_quantized);
GType hsv_analytic_pixel_get_type (void) G_GNUC_CONST;
HSVAnalyticPixel* hsv_analytic_pixel_dup (const HSVAnalyticPixel* self);
void hsv_analytic_pixel_free (HSVAnalyticPixel* self);
void rgb_analytic_pixel_init_from_hsv (RGBAnalyticPixel *self, HSVAnalyticPixel* hsv_pixel);
void hsv_analytic_pixel_to_rgb (HSVAnalyticPixel *self, RGBAnalyticPixel* result);
guchar rgb_analytic_pixel_quantized_red (RGBAnalyticPixel *self);
guchar rgb_analytic_pixel_quantized_green (RGBAnalyticPixel *self);
guchar rgb_analytic_pixel_quantized_blue (RGBAnalyticPixel *self);
gboolean rgb_analytic_pixel_equals (RGBAnalyticPixel *self, RGBAnalyticPixel* rhs);
guint rgb_analytic_pixel_hash_code (RGBAnalyticPixel *self);
void rgb_analytic_pixel_to_hsv (RGBAnalyticPixel *self, HSVAnalyticPixel* result);
void hsv_analytic_pixel_init_from_rgb (HSVAnalyticPixel *self, RGBAnalyticPixel* p);
#define HSV_ANALYTIC_PIXEL_INV_255 (1.0f / 255.0f)
void hsv_analytic_pixel_init (HSVAnalyticPixel *self);
void hsv_analytic_pixel_init_from_components (HSVAnalyticPixel *self, gfloat hue, gfloat saturation, gfloat light_value);
void hsv_analytic_pixel_init_from_quantized_components (HSVAnalyticPixel *self, guchar hue_quantized, guchar saturation_quantized, guchar light_value_quantized);
gboolean hsv_analytic_pixel_equals (HSVAnalyticPixel *self, HSVAnalyticPixel* rhs);
guint hsv_analytic_pixel_hash_code (HSVAnalyticPixel *self);
GType composition_mode_get_type (void) G_GNUC_CONST;
GType pixel_format_get_type (void) G_GNUC_CONST;
GType pixel_transformation_type_get_type (void) G_GNUC_CONST;
gpointer pixel_transformation_bundle_ref (gpointer instance);
void pixel_transformation_bundle_unref (gpointer instance);
GParamSpec* param_spec_pixel_transformation_bundle (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_pixel_transformation_bundle (GValue* value, gpointer v_object);
void value_take_pixel_transformation_bundle (GValue* value, gpointer v_object);
gpointer value_get_pixel_transformation_bundle (const GValue* value);
GType pixel_transformation_bundle_get_type (void) G_GNUC_CONST;
gpointer pixel_transformation_ref (gpointer instance);
void pixel_transformation_unref (gpointer instance);
GParamSpec* param_spec_pixel_transformation (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_pixel_transformation (GValue* value, gpointer v_object);
void value_take_pixel_transformation (GValue* value, gpointer v_object);
gpointer value_get_pixel_transformation (const GValue* value);
GType pixel_transformation_get_type (void) G_GNUC_CONST;
#define PIXEL_TRANSFORMATION_BUNDLE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_PIXEL_TRANSFORMATION_BUNDLE, PixelTransformationBundlePrivate))
enum  {
	PIXEL_TRANSFORMATION_BUNDLE_DUMMY_PROPERTY
};
PixelTransformationBundle* pixel_transformation_bundle_new (void);
PixelTransformationBundle* pixel_transformation_bundle_construct (GType object_type);
PixelTransformationBundle* pixel_transformation_bundle_get_copied_color_adjustments (void);
void pixel_transformation_bundle_set_copied_color_adjustments (PixelTransformationBundle* adjustments);
gboolean pixel_transformation_bundle_has_copied_color_adjustments (void);
void pixel_transformation_bundle_set (PixelTransformationBundle* self, PixelTransformation* transformation);
PixelTransformationType pixel_transformation_get_transformation_type (PixelTransformation* self);
void pixel_transformation_bundle_set_to_identity (PixelTransformationBundle* self);
ExpansionTransformation* expansion_transformation_new_from_extrema (gint black_point, gint white_point);
ExpansionTransformation* expansion_transformation_construct_from_extrema (GType object_type, gint black_point, gint white_point);
GType hsv_transformation_get_type (void) G_GNUC_CONST;
GType expansion_transformation_get_type (void) G_GNUC_CONST;
ShadowDetailTransformation* shadow_detail_transformation_new (gfloat user_intensity);
ShadowDetailTransformation* shadow_detail_transformation_construct (GType object_type, gfloat user_intensity);
GType shadow_detail_transformation_get_type (void) G_GNUC_CONST;
HighlightDetailTransformation* highlight_detail_transformation_new (gfloat user_intensity);
HighlightDetailTransformation* highlight_detail_transformation_construct (GType object_type, gfloat user_intensity);
GType highlight_detail_transformation_get_type (void) G_GNUC_CONST;
TemperatureTransformation* temperature_transformation_new (gfloat client_parameter);
TemperatureTransformation* temperature_transformation_construct (GType object_type, gfloat client_parameter);
GType rgb_transformation_get_type (void) G_GNUC_CONST;
GType temperature_transformation_get_type (void) G_GNUC_CONST;
TintTransformation* tint_transformation_new (gfloat client_param);
TintTransformation* tint_transformation_construct (GType object_type, gfloat client_param);
GType tint_transformation_get_type (void) G_GNUC_CONST;
SaturationTransformation* saturation_transformation_new (gfloat client_parameter);
SaturationTransformation* saturation_transformation_construct (GType object_type, gfloat client_parameter);
GType saturation_transformation_get_type (void) G_GNUC_CONST;
ExposureTransformation* exposure_transformation_new (gfloat client_parameter);
ExposureTransformation* exposure_transformation_construct (GType object_type, gfloat client_parameter);
GType exposure_transformation_get_type (void) G_GNUC_CONST;
gpointer key_value_map_ref (gpointer instance);
void key_value_map_unref (gpointer instance);
GParamSpec* param_spec_key_value_map (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_key_value_map (GValue* value, gpointer v_object);
void value_take_key_value_map (GValue* value, gpointer v_object);
gpointer value_get_key_value_map (const GValue* value);
GType key_value_map_get_type (void) G_GNUC_CONST;
void pixel_transformation_bundle_load (PixelTransformationBundle* self, KeyValueMap* store);
gchar* key_value_map_get_string (KeyValueMap* self, const gchar* key, const gchar* def);
ExpansionTransformation* expansion_transformation_new_from_string (const gchar* encoded_transformation);
ExpansionTransformation* expansion_transformation_construct_from_string (GType object_type, const gchar* encoded_transformation);
gfloat key_value_map_get_float (KeyValueMap* self, const gchar* key, gfloat def);
KeyValueMap* pixel_transformation_bundle_save (PixelTransformationBundle* self, const gchar* group);
KeyValueMap* key_value_map_new (const gchar* group);
KeyValueMap* key_value_map_construct (GType object_type, const gchar* group);
PixelTransformation* pixel_transformation_bundle_get_transformation (PixelTransformationBundle* self, PixelTransformationType type);
void key_value_map_set_string (KeyValueMap* self, const gchar* key, const gchar* value);
gchar* pixel_transformation_to_string (PixelTransformation* self);
void key_value_map_set_float (KeyValueMap* self, const gchar* key, gfloat value);
gfloat shadow_detail_transformation_get_parameter (ShadowDetailTransformation* self);
gfloat highlight_detail_transformation_get_parameter (HighlightDetailTransformation* self);
gfloat temperature_transformation_get_parameter (TemperatureTransformation* self);
gfloat tint_transformation_get_parameter (TintTransformation* self);
gfloat saturation_transformation_get_parameter (SaturationTransformation* self);
gfloat exposure_transformation_get_parameter (ExposureTransformation* self);
gint pixel_transformation_bundle_get_count (PixelTransformationBundle* self);
GeeIterable* pixel_transformation_bundle_get_transformations (PixelTransformationBundle* self);
gboolean pixel_transformation_bundle_is_identity (PixelTransformationBundle* self);
gboolean pixel_transformation_is_identity (PixelTransformation* self);
gpointer pixel_transformer_ref (gpointer instance);
void pixel_transformer_unref (gpointer instance);
GParamSpec* param_spec_pixel_transformer (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_pixel_transformer (GValue* value, gpointer v_object);
void value_take_pixel_transformer (GValue* value, gpointer v_object);
gpointer value_get_pixel_transformer (const GValue* value);
GType pixel_transformer_get_type (void) G_GNUC_CONST;
PixelTransformer* pixel_transformation_bundle_generate_transformer (PixelTransformationBundle* self);
PixelTransformer* pixel_transformer_new (void);
PixelTransformer* pixel_transformer_construct (GType object_type);
void pixel_transformer_attach_transformation (PixelTransformer* self, PixelTransformation* trans);
PixelTransformationBundle* pixel_transformation_bundle_copy (PixelTransformationBundle* self);
static void pixel_transformation_bundle_finalize (PixelTransformationBundle* obj);
#define PIXEL_TRANSFORMATION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_PIXEL_TRANSFORMATION, PixelTransformationPrivate))
enum  {
	PIXEL_TRANSFORMATION_DUMMY_PROPERTY
};
PixelTransformation* pixel_transformation_construct (GType object_type, PixelTransformationType type);
PixelFormat pixel_transformation_get_preferred_format (PixelTransformation* self);
static PixelFormat pixel_transformation_real_get_preferred_format (PixelTransformation* self);
CompositionMode pixel_transformation_get_composition_mode (PixelTransformation* self);
static CompositionMode pixel_transformation_real_get_composition_mode (PixelTransformation* self);
void pixel_transformation_compose_with (PixelTransformation* self, PixelTransformation* other);
static void pixel_transformation_real_compose_with (PixelTransformation* self, PixelTransformation* other);
static gboolean pixel_transformation_real_is_identity (PixelTransformation* self);
void pixel_transformation_transform_pixel_hsv (PixelTransformation* self, HSVAnalyticPixel* p, HSVAnalyticPixel* result);
static void pixel_transformation_real_transform_pixel_hsv (PixelTransformation* self, HSVAnalyticPixel* p, HSVAnalyticPixel* result);
void pixel_transformation_transform_pixel_rgb (PixelTransformation* self, RGBAnalyticPixel* p, RGBAnalyticPixel* result);
static void pixel_transformation_real_transform_pixel_rgb (PixelTransformation* self, RGBAnalyticPixel* p, RGBAnalyticPixel* result);
static gchar* pixel_transformation_real_to_string (PixelTransformation* self);
PixelTransformation* pixel_transformation_copy (PixelTransformation* self);
static PixelTransformation* pixel_transformation_real_copy (PixelTransformation* self);
static void pixel_transformation_finalize (PixelTransformation* obj);
enum  {
	RGB_TRANSFORMATION_DUMMY_PROPERTY
};
#define RGB_TRANSFORMATION_MATRIX_SIZE 16
RGBTransformation* rgb_transformation_new (PixelTransformationType type);
RGBTransformation* rgb_transformation_construct (GType object_type, PixelTransformationType type);
static PixelFormat rgb_transformation_real_get_preferred_format (PixelTransformation* base);
static CompositionMode rgb_transformation_real_get_composition_mode (PixelTransformation* base);
static void rgb_transformation_real_compose_with (PixelTransformation* base, PixelTransformation* other);
static void rgb_transformation_real_transform_pixel_hsv (PixelTransformation* base, HSVAnalyticPixel* p, HSVAnalyticPixel* result);
static void rgb_transformation_real_transform_pixel_rgb (PixelTransformation* base, RGBAnalyticPixel* p, RGBAnalyticPixel* result);
static gboolean rgb_transformation_real_is_identity (PixelTransformation* base);
static PixelTransformation* rgb_transformation_real_copy (PixelTransformation* base);
static void rgb_transformation_finalize (PixelTransformation* obj);
enum  {
	HSV_TRANSFORMATION_DUMMY_PROPERTY
};
HSVTransformation* hsv_transformation_construct (GType object_type, PixelTransformationType type);
static PixelFormat hsv_transformation_real_get_preferred_format (PixelTransformation* base);
static void hsv_transformation_real_transform_pixel_rgb (PixelTransformation* base, RGBAnalyticPixel* p, RGBAnalyticPixel* result);
#define TINT_TRANSFORMATION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_TINT_TRANSFORMATION, TintTransformationPrivate))
enum  {
	TINT_TRANSFORMATION_DUMMY_PROPERTY
};
#define TINT_TRANSFORMATION_INTENSITY_FACTOR 0.25f
#define TINT_TRANSFORMATION_MIN_PARAMETER (-16.0f)
#define TINT_TRANSFORMATION_MAX_PARAMETER 16.0f
static void tint_transformation_finalize (PixelTransformation* obj);
#define TEMPERATURE_TRANSFORMATION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_TEMPERATURE_TRANSFORMATION, TemperatureTransformationPrivate))
enum  {
	TEMPERATURE_TRANSFORMATION_DUMMY_PROPERTY
};
#define TEMPERATURE_TRANSFORMATION_INTENSITY_FACTOR 0.33f
#define TEMPERATURE_TRANSFORMATION_MIN_PARAMETER (-16.0f)
#define TEMPERATURE_TRANSFORMATION_MAX_PARAMETER 16.0f
static void temperature_transformation_finalize (PixelTransformation* obj);
#define SATURATION_TRANSFORMATION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SATURATION_TRANSFORMATION, SaturationTransformationPrivate))
enum  {
	SATURATION_TRANSFORMATION_DUMMY_PROPERTY
};
#define SATURATION_TRANSFORMATION_MIN_PARAMETER (-16.0f)
#define SATURATION_TRANSFORMATION_MAX_PARAMETER 16.0f
static void saturation_transformation_finalize (PixelTransformation* obj);
#define EXPOSURE_TRANSFORMATION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_EXPOSURE_TRANSFORMATION, ExposureTransformationPrivate))
enum  {
	EXPOSURE_TRANSFORMATION_DUMMY_PROPERTY
};
#define EXPOSURE_TRANSFORMATION_MIN_PARAMETER (-16.0f)
#define EXPOSURE_TRANSFORMATION_MAX_PARAMETER 16.0f
static void exposure_transformation_finalize (PixelTransformation* obj);
#define PIXEL_TRANSFORMER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_PIXEL_TRANSFORMER, PixelTransformerPrivate))
enum  {
	PIXEL_TRANSFORMER_DUMMY_PROPERTY
};
PixelTransformer* pixel_transformer_copy (PixelTransformer* self);
static void pixel_transformer_build_optimized_transformations (PixelTransformer* self);
static void pixel_transformer_apply_transformations (PixelTransformer* self, RGBAnalyticPixel* p, RGBAnalyticPixel* result);
void pixel_transformer_detach_transformation (PixelTransformer* self, PixelTransformation* victim);
void pixel_transformer_replace_transformation (PixelTransformer* self, PixelTransformation* old_trans, PixelTransformation* new_trans);
void pixel_transformer_transform_pixbuf (PixelTransformer* self, GdkPixbuf* pixbuf, GCancellable* cancellable);
void pixel_transformer_transform_to_other_pixbuf (PixelTransformer* self, GdkPixbuf* source, GdkPixbuf* dest, GCancellable* cancellable);
void pixel_transformer_transform_from_fp (PixelTransformer* self, gfloat** fp_pixel_cache, int* fp_pixel_cache_length1, GdkPixbuf* dest);
static void pixel_transformer_finalize (PixelTransformer* obj);
gpointer rgb_histogram_ref (gpointer instance);
void rgb_histogram_unref (gpointer instance);
GParamSpec* param_spec_rgb_histogram (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_rgb_histogram (GValue* value, gpointer v_object);
void value_take_rgb_histogram (GValue* value, gpointer v_object);
gpointer value_get_rgb_histogram (const GValue* value);
GType rgb_histogram_get_type (void) G_GNUC_CONST;
#define RGB_HISTOGRAM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_RGB_HISTOGRAM, RGBHistogramPrivate))
enum  {
	RGB_HISTOGRAM_DUMMY_PROPERTY
};
#define RGB_HISTOGRAM_MARKED_BACKGROUND ((guchar) 30)
#define RGB_HISTOGRAM_MARKED_FOREGROUND ((guchar) 210)
#define RGB_HISTOGRAM_UNMARKED_BACKGROUND ((guchar) 120)
#define RGB_HISTOGRAM_GRAPHIC_WIDTH 256
#define RGB_HISTOGRAM_GRAPHIC_HEIGHT 100
RGBHistogram* rgb_histogram_new (GdkPixbuf* pixbuf);
RGBHistogram* rgb_histogram_construct (GType object_type, GdkPixbuf* pixbuf);
static gint rgb_histogram_correct_snap_to_quantization (RGBHistogram* self, gint* buckets, int buckets_length1, gint i);
static gint rgb_histogram_correct_snap_from_quantization (RGBHistogram* self, gint* buckets, int buckets_length1, gint i);
static void rgb_histogram_smooth_extrema (RGBHistogram* self, gint** count_data, int* count_data_length1);
static void rgb_histogram_prepare_qualitative_counts (RGBHistogram* self);
GdkPixbuf* rgb_histogram_get_graphic (RGBHistogram* self);
static void rgb_histogram_finalize (RGBHistogram* obj);
gpointer intensity_histogram_ref (gpointer instance);
void intensity_histogram_unref (gpointer instance);
GParamSpec* param_spec_intensity_histogram (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_intensity_histogram (GValue* value, gpointer v_object);
void value_take_intensity_histogram (GValue* value, gpointer v_object);
gpointer value_get_intensity_histogram (const GValue* value);
GType intensity_histogram_get_type (void) G_GNUC_CONST;
#define INTENSITY_HISTOGRAM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_INTENSITY_HISTOGRAM, IntensityHistogramPrivate))
enum  {
	INTENSITY_HISTOGRAM_DUMMY_PROPERTY
};
IntensityHistogram* intensity_histogram_new (GdkPixbuf* pixbuf);
IntensityHistogram* intensity_histogram_construct (GType object_type, GdkPixbuf* pixbuf);
gfloat intensity_histogram_get_cumulative_probability (IntensityHistogram* self, gint level);
static void intensity_histogram_finalize (IntensityHistogram* obj);
#define EXPANSION_TRANSFORMATION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_EXPANSION_TRANSFORMATION, ExpansionTransformationPrivate))
enum  {
	EXPANSION_TRANSFORMATION_DUMMY_PROPERTY
};
#define EXPANSION_TRANSFORMATION_LOW_DISCARD_MASS 0.02f
#define EXPANSION_TRANSFORMATION_HIGH_DISCARD_MASS 0.02f
ExpansionTransformation* expansion_transformation_new (IntensityHistogram* histogram);
ExpansionTransformation* expansion_transformation_construct (GType object_type, IntensityHistogram* histogram);
static void expansion_transformation_build_remap_table (ExpansionTransformation* self);
static void expansion_transformation_real_transform_pixel_hsv (PixelTransformation* base, HSVAnalyticPixel* pixel, HSVAnalyticPixel* result);
static gchar* expansion_transformation_real_to_string (PixelTransformation* base);
gint expansion_transformation_get_white_point (ExpansionTransformation* self);
gint expansion_transformation_get_black_point (ExpansionTransformation* self);
static gboolean expansion_transformation_real_is_identity (PixelTransformation* base);
static PixelTransformation* expansion_transformation_real_copy (PixelTransformation* base);
static void expansion_transformation_finalize (PixelTransformation* obj);
#define SHADOW_DETAIL_TRANSFORMATION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SHADOW_DETAIL_TRANSFORMATION, ShadowDetailTransformationPrivate))
enum  {
	SHADOW_DETAIL_TRANSFORMATION_DUMMY_PROPERTY
};
#define SHADOW_DETAIL_TRANSFORMATION_MAX_EFFECT_SHIFT 0.5f
#define SHADOW_DETAIL_TRANSFORMATION_MIN_TONAL_WIDTH 0.1f
#define SHADOW_DETAIL_TRANSFORMATION_MAX_TONAL_WIDTH 1.0f
#define SHADOW_DETAIL_TRANSFORMATION_TONAL_WIDTH 1.0f
#define SHADOW_DETAIL_TRANSFORMATION_MIN_PARAMETER 0.0f
#define SHADOW_DETAIL_TRANSFORMATION_MAX_PARAMETER 32.0f
gpointer hermite_gamma_approximation_function_ref (gpointer instance);
void hermite_gamma_approximation_function_unref (gpointer instance);
GParamSpec* param_spec_hermite_gamma_approximation_function (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_hermite_gamma_approximation_function (GValue* value, gpointer v_object);
void value_take_hermite_gamma_approximation_function (GValue* value, gpointer v_object);
gpointer value_get_hermite_gamma_approximation_function (const GValue* value);
GType hermite_gamma_approximation_function_get_type (void) G_GNUC_CONST;
HermiteGammaApproximationFunction* hermite_gamma_approximation_function_new (gfloat user_interval_upper);
HermiteGammaApproximationFunction* hermite_gamma_approximation_function_construct (GType object_type, gfloat user_interval_upper);
gfloat hermite_gamma_approximation_function_evaluate (HermiteGammaApproximationFunction* self, gfloat x);
static void shadow_detail_transformation_real_transform_pixel_hsv (PixelTransformation* base, HSVAnalyticPixel* pixel, HSVAnalyticPixel* result);
static PixelTransformation* shadow_detail_transformation_real_copy (PixelTransformation* base);
static gboolean shadow_detail_transformation_real_is_identity (PixelTransformation* base);
static void shadow_detail_transformation_finalize (PixelTransformation* obj);
#define HERMITE_GAMMA_APPROXIMATION_FUNCTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION, HermiteGammaApproximationFunctionPrivate))
enum  {
	HERMITE_GAMMA_APPROXIMATION_FUNCTION_DUMMY_PROPERTY
};
static void hermite_gamma_approximation_function_finalize (HermiteGammaApproximationFunction* obj);
#define HIGHLIGHT_DETAIL_TRANSFORMATION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION, HighlightDetailTransformationPrivate))
enum  {
	HIGHLIGHT_DETAIL_TRANSFORMATION_DUMMY_PROPERTY
};
#define HIGHLIGHT_DETAIL_TRANSFORMATION_MAX_EFFECT_SHIFT 0.5f
#define HIGHLIGHT_DETAIL_TRANSFORMATION_MIN_TONAL_WIDTH 0.1f
#define HIGHLIGHT_DETAIL_TRANSFORMATION_MAX_TONAL_WIDTH 1.0f
#define HIGHLIGHT_DETAIL_TRANSFORMATION_TONAL_WIDTH 1.0f
#define HIGHLIGHT_DETAIL_TRANSFORMATION_MIN_PARAMETER (-32.0f)
#define HIGHLIGHT_DETAIL_TRANSFORMATION_MAX_PARAMETER 0.0f
static void highlight_detail_transformation_real_transform_pixel_hsv (PixelTransformation* base, HSVAnalyticPixel* pixel, HSVAnalyticPixel* result);
static PixelTransformation* highlight_detail_transformation_real_copy (PixelTransformation* base);
static gboolean highlight_detail_transformation_real_is_identity (PixelTransformation* base);
static void highlight_detail_transformation_finalize (PixelTransformation* obj);
#define AUTO_ENHANCE_SHADOW_DETECT_MIN_INTENSITY 8
#define AUTO_ENHANCE_SHADOW_DETECT_MAX_INTENSITY 100
#define AUTO_ENHANCE_SHADOW_DETECT_INTENSITY_RANGE (AUTO_ENHANCE_SHADOW_DETECT_MAX_INTENSITY - AUTO_ENHANCE_SHADOW_DETECT_MIN_INTENSITY)
#define AUTO_ENHANCE_SHADOW_MODE_HIGH_DISCARD_MASS 0.02f
#define AUTO_ENHANCE_SHADOW_AGGRESSIVENESS_MUL 0.4f
#define AUTO_ENHANCE_EMPIRICAL_DARK 30
PixelTransformationBundle* auto_enhance_create_auto_enhance_adjustments (GdkPixbuf* pixbuf);
static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func);
static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);


void rgb_analytic_pixel_init (RGBAnalyticPixel *self) {
#line 14 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	memset (self, 0, sizeof (RGBAnalyticPixel));
#line 15 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	(*self).red = 0.0f;
#line 16 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	(*self).green = 0.0f;
#line 17 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	(*self).blue = 0.0f;
#line 875 "ColorTransformation.c"
}


void rgb_analytic_pixel_init_from_components (RGBAnalyticPixel *self, gfloat red, gfloat green, gfloat blue) {
	gfloat _tmp0_ = 0.0F;
	gfloat _tmp1_ = 0.0F;
	gfloat _tmp2_ = 0.0F;
	gfloat _tmp3_ = 0.0F;
	gfloat _tmp4_ = 0.0F;
	gfloat _tmp5_ = 0.0F;
#line 20 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	memset (self, 0, sizeof (RGBAnalyticPixel));
#line 22 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = red;
#line 22 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = CLAMP (_tmp0_, 0.0f, 1.0f);
#line 22 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	(*self).red = _tmp1_;
#line 23 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = green;
#line 23 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp3_ = CLAMP (_tmp2_, 0.0f, 1.0f);
#line 23 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	(*self).green = _tmp3_;
#line 24 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp4_ = blue;
#line 24 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp5_ = CLAMP (_tmp4_, 0.0f, 1.0f);
#line 24 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	(*self).blue = _tmp5_;
#line 906 "ColorTransformation.c"
}


void rgb_analytic_pixel_init_from_quantized_components (RGBAnalyticPixel *self, guchar red_quantized, guchar green_quantized, guchar blue_quantized) {
	guchar _tmp0_ = '\0';
	guchar _tmp1_ = '\0';
	guchar _tmp2_ = '\0';
#line 27 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	memset (self, 0, sizeof (RGBAnalyticPixel));
#line 29 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = red_quantized;
#line 29 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	(*self).red = ((gfloat) _tmp0_) * RGB_ANALYTIC_PIXEL_INV_255;
#line 30 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = green_quantized;
#line 30 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	(*self).green = ((gfloat) _tmp1_) * RGB_ANALYTIC_PIXEL_INV_255;
#line 31 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = blue_quantized;
#line 31 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	(*self).blue = ((gfloat) _tmp2_) * RGB_ANALYTIC_PIXEL_INV_255;
#line 928 "ColorTransformation.c"
}


void rgb_analytic_pixel_init_from_hsv (RGBAnalyticPixel *self, HSVAnalyticPixel* hsv_pixel) {
	RGBAnalyticPixel from_hsv = {0};
	RGBAnalyticPixel _tmp0_ = {0};
	RGBAnalyticPixel _tmp1_ = {0};
	gfloat _tmp2_ = 0.0F;
	RGBAnalyticPixel _tmp3_ = {0};
	gfloat _tmp4_ = 0.0F;
	RGBAnalyticPixel _tmp5_ = {0};
	gfloat _tmp6_ = 0.0F;
#line 34 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (hsv_pixel != NULL);
#line 34 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	memset (self, 0, sizeof (RGBAnalyticPixel));
#line 35 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	hsv_analytic_pixel_to_rgb (hsv_pixel, &_tmp0_);
#line 35 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	from_hsv = _tmp0_;
#line 36 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = from_hsv;
#line 36 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = _tmp1_.red;
#line 36 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	(*self).red = _tmp2_;
#line 37 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp3_ = from_hsv;
#line 37 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp4_ = _tmp3_.green;
#line 37 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	(*self).green = _tmp4_;
#line 38 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp5_ = from_hsv;
#line 38 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp6_ = _tmp5_.blue;
#line 38 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	(*self).blue = _tmp6_;
#line 967 "ColorTransformation.c"
}


guchar rgb_analytic_pixel_quantized_red (RGBAnalyticPixel *self) {
	guchar result = '\0';
	gfloat _tmp0_ = 0.0F;
#line 42 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = (*self).red;
#line 42 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = (guchar) (_tmp0_ * 255.0f);
#line 42 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 980 "ColorTransformation.c"
}


guchar rgb_analytic_pixel_quantized_green (RGBAnalyticPixel *self) {
	guchar result = '\0';
	gfloat _tmp0_ = 0.0F;
#line 46 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = (*self).green;
#line 46 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = (guchar) (_tmp0_ * 255.0f);
#line 46 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 993 "ColorTransformation.c"
}


guchar rgb_analytic_pixel_quantized_blue (RGBAnalyticPixel *self) {
	guchar result = '\0';
	gfloat _tmp0_ = 0.0F;
#line 50 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = (*self).blue;
#line 50 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = (guchar) (_tmp0_ * 255.0f);
#line 50 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 1006 "ColorTransformation.c"
}


gboolean rgb_analytic_pixel_equals (RGBAnalyticPixel *self, RGBAnalyticPixel* rhs) {
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	gfloat _tmp2_ = 0.0F;
	RGBAnalyticPixel* _tmp3_ = NULL;
	gfloat _tmp4_ = 0.0F;
#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = (*self).red;
#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp3_ = rhs;
#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp4_ = (*_tmp3_).red;
#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (_tmp2_ == _tmp4_) {
#line 1025 "ColorTransformation.c"
		gfloat _tmp5_ = 0.0F;
		RGBAnalyticPixel* _tmp6_ = NULL;
		gfloat _tmp7_ = 0.0F;
#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp5_ = (*self).green;
#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp6_ = rhs;
#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp7_ = (*_tmp6_).green;
#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp1_ = _tmp5_ == _tmp7_;
#line 1037 "ColorTransformation.c"
	} else {
#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp1_ = FALSE;
#line 1041 "ColorTransformation.c"
	}
#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (_tmp1_) {
#line 1045 "ColorTransformation.c"
		gfloat _tmp8_ = 0.0F;
		RGBAnalyticPixel* _tmp9_ = NULL;
		gfloat _tmp10_ = 0.0F;
#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp8_ = (*self).blue;
#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp9_ = rhs;
#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp10_ = (*_tmp9_).blue;
#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp0_ = _tmp8_ == _tmp10_;
#line 1057 "ColorTransformation.c"
	} else {
#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp0_ = FALSE;
#line 1061 "ColorTransformation.c"
	}
#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = _tmp0_;
#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 1067 "ColorTransformation.c"
}


guint rgb_analytic_pixel_hash_code (RGBAnalyticPixel *self) {
	guint result = 0U;
	gfloat _tmp0_ = 0.0F;
	gfloat _tmp1_ = 0.0F;
	gfloat _tmp2_ = 0.0F;
#line 58 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = (*self).red;
#line 58 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = (*self).green;
#line 58 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = (*self).blue;
#line 58 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = ((((guint) (_tmp0_ * 255.0f)) << 16) + (((guint) (_tmp1_ * 255.0f)) << 8)) + ((guint) (_tmp2_ * 255.0f));
#line 58 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 1086 "ColorTransformation.c"
}


void rgb_analytic_pixel_to_hsv (RGBAnalyticPixel *self, HSVAnalyticPixel* result) {
	HSVAnalyticPixel _tmp0_ = {0};
#line 63 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	hsv_analytic_pixel_init_from_rgb (&_tmp0_, &(*self));
#line 63 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	*result = _tmp0_;
#line 63 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return;
#line 1098 "ColorTransformation.c"
}


RGBAnalyticPixel* rgb_analytic_pixel_dup (const RGBAnalyticPixel* self) {
	RGBAnalyticPixel* dup;
#line 7 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	dup = g_new0 (RGBAnalyticPixel, 1);
#line 7 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	memcpy (dup, self, sizeof (RGBAnalyticPixel));
#line 7 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return dup;
#line 1110 "ColorTransformation.c"
}


void rgb_analytic_pixel_free (RGBAnalyticPixel* self) {
#line 7 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_free (self);
#line 1117 "ColorTransformation.c"
}


GType rgb_analytic_pixel_get_type (void) {
	static volatile gsize rgb_analytic_pixel_type_id__volatile = 0;
	if (g_once_init_enter (&rgb_analytic_pixel_type_id__volatile)) {
		GType rgb_analytic_pixel_type_id;
		rgb_analytic_pixel_type_id = g_boxed_type_register_static ("RGBAnalyticPixel", (GBoxedCopyFunc) rgb_analytic_pixel_dup, (GBoxedFreeFunc) rgb_analytic_pixel_free);
		g_once_init_leave (&rgb_analytic_pixel_type_id__volatile, rgb_analytic_pixel_type_id);
	}
	return rgb_analytic_pixel_type_id__volatile;
}


void hsv_analytic_pixel_init (HSVAnalyticPixel *self) {
#line 74 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	memset (self, 0, sizeof (HSVAnalyticPixel));
#line 75 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	(*self).hue = 0.0f;
#line 76 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	(*self).saturation = 0.0f;
#line 77 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	(*self).light_value = 0.0f;
#line 1141 "ColorTransformation.c"
}


void hsv_analytic_pixel_init_from_components (HSVAnalyticPixel *self, gfloat hue, gfloat saturation, gfloat light_value) {
	gfloat _tmp0_ = 0.0F;
	gfloat _tmp1_ = 0.0F;
	gfloat _tmp2_ = 0.0F;
	gfloat _tmp3_ = 0.0F;
	gfloat _tmp4_ = 0.0F;
	gfloat _tmp5_ = 0.0F;
#line 80 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	memset (self, 0, sizeof (HSVAnalyticPixel));
#line 82 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = hue;
#line 82 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = CLAMP (_tmp0_, 0.0f, 1.0f);
#line 82 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	(*self).hue = _tmp1_;
#line 83 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = saturation;
#line 83 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp3_ = CLAMP (_tmp2_, 0.0f, 1.0f);
#line 83 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	(*self).saturation = _tmp3_;
#line 84 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp4_ = light_value;
#line 84 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp5_ = CLAMP (_tmp4_, 0.0f, 1.0f);
#line 84 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	(*self).light_value = _tmp5_;
#line 1172 "ColorTransformation.c"
}


void hsv_analytic_pixel_init_from_quantized_components (HSVAnalyticPixel *self, guchar hue_quantized, guchar saturation_quantized, guchar light_value_quantized) {
	guchar _tmp0_ = '\0';
	guchar _tmp1_ = '\0';
	guchar _tmp2_ = '\0';
#line 87 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	memset (self, 0, sizeof (HSVAnalyticPixel));
#line 89 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = hue_quantized;
#line 89 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	(*self).hue = ((gfloat) _tmp0_) * HSV_ANALYTIC_PIXEL_INV_255;
#line 90 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = saturation_quantized;
#line 90 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	(*self).saturation = ((gfloat) _tmp1_) * HSV_ANALYTIC_PIXEL_INV_255;
#line 91 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = light_value_quantized;
#line 91 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	(*self).light_value = ((gfloat) _tmp2_) * HSV_ANALYTIC_PIXEL_INV_255;
#line 1194 "ColorTransformation.c"
}


void hsv_analytic_pixel_init_from_rgb (HSVAnalyticPixel *self, RGBAnalyticPixel* p) {
	gfloat max_component = 0.0F;
	RGBAnalyticPixel _tmp0_ = {0};
	gfloat _tmp1_ = 0.0F;
	RGBAnalyticPixel _tmp2_ = {0};
	gfloat _tmp3_ = 0.0F;
	gfloat _tmp4_ = 0.0F;
	RGBAnalyticPixel _tmp5_ = {0};
	gfloat _tmp6_ = 0.0F;
	gfloat _tmp7_ = 0.0F;
	gfloat min_component = 0.0F;
	RGBAnalyticPixel _tmp8_ = {0};
	gfloat _tmp9_ = 0.0F;
	RGBAnalyticPixel _tmp10_ = {0};
	gfloat _tmp11_ = 0.0F;
	gfloat _tmp12_ = 0.0F;
	RGBAnalyticPixel _tmp13_ = {0};
	gfloat _tmp14_ = 0.0F;
	gfloat _tmp15_ = 0.0F;
	gfloat _tmp16_ = 0.0F;
	gfloat _tmp17_ = 0.0F;
	gfloat _tmp18_ = 0.0F;
	gfloat _tmp22_ = 0.0F;
	gfloat _tmp53_ = 0.0F;
	gfloat _tmp54_ = 0.0F;
	gfloat _tmp55_ = 0.0F;
	gfloat _tmp56_ = 0.0F;
	gfloat _tmp57_ = 0.0F;
	gfloat _tmp58_ = 0.0F;
#line 94 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (p != NULL);
#line 94 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	memset (self, 0, sizeof (HSVAnalyticPixel));
#line 95 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = *p;
#line 95 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = _tmp0_.red;
#line 95 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = *p;
#line 95 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp3_ = _tmp2_.green;
#line 95 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp4_ = MAX (_tmp1_, _tmp3_);
#line 95 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp5_ = *p;
#line 95 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp6_ = _tmp5_.blue;
#line 95 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp7_ = MAX (_tmp4_, _tmp6_);
#line 95 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	max_component = _tmp7_;
#line 96 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp8_ = *p;
#line 96 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp9_ = _tmp8_.red;
#line 96 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp10_ = *p;
#line 96 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp11_ = _tmp10_.green;
#line 96 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp12_ = MIN (_tmp9_, _tmp11_);
#line 96 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp13_ = *p;
#line 96 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp14_ = _tmp13_.blue;
#line 96 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp15_ = MIN (_tmp12_, _tmp14_);
#line 96 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	min_component = _tmp15_;
#line 98 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp16_ = max_component;
#line 98 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	(*self).light_value = _tmp16_;
#line 99 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp18_ = max_component;
#line 99 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (_tmp18_ != 0.0f) {
#line 1275 "ColorTransformation.c"
		gfloat _tmp19_ = 0.0F;
		gfloat _tmp20_ = 0.0F;
		gfloat _tmp21_ = 0.0F;
#line 99 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp19_ = max_component;
#line 99 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp20_ = min_component;
#line 99 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp21_ = max_component;
#line 99 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp17_ = (_tmp19_ - _tmp20_) / _tmp21_;
#line 1287 "ColorTransformation.c"
	} else {
#line 100 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp17_ = 0.0f;
#line 1291 "ColorTransformation.c"
	}
#line 99 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	(*self).saturation = _tmp17_;
#line 102 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp22_ = (*self).saturation;
#line 102 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (_tmp22_ == 0.0f) {
#line 103 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		(*self).hue = 0.0f;
#line 1301 "ColorTransformation.c"
	} else {
		gfloat delta = 0.0F;
		gfloat _tmp23_ = 0.0F;
		gfloat _tmp24_ = 0.0F;
		RGBAnalyticPixel _tmp25_ = {0};
		gfloat _tmp26_ = 0.0F;
		gfloat _tmp27_ = 0.0F;
		gfloat _tmp49_ = 0.0F;
		gfloat _tmp50_ = 0.0F;
		gfloat _tmp52_ = 0.0F;
#line 105 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp23_ = max_component;
#line 105 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp24_ = min_component;
#line 105 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		delta = _tmp23_ - _tmp24_;
#line 106 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp25_ = *p;
#line 106 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp26_ = _tmp25_.red;
#line 106 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp27_ = max_component;
#line 106 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		if (_tmp26_ == _tmp27_) {
#line 1326 "ColorTransformation.c"
			RGBAnalyticPixel _tmp28_ = {0};
			gfloat _tmp29_ = 0.0F;
			RGBAnalyticPixel _tmp30_ = {0};
			gfloat _tmp31_ = 0.0F;
			gfloat _tmp32_ = 0.0F;
#line 107 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp28_ = *p;
#line 107 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp29_ = _tmp28_.green;
#line 107 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp30_ = *p;
#line 107 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp31_ = _tmp30_.blue;
#line 107 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp32_ = delta;
#line 107 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			(*self).hue = (_tmp29_ - _tmp31_) / _tmp32_;
#line 1344 "ColorTransformation.c"
		} else {
			RGBAnalyticPixel _tmp33_ = {0};
			gfloat _tmp34_ = 0.0F;
			gfloat _tmp35_ = 0.0F;
#line 108 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp33_ = *p;
#line 108 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp34_ = _tmp33_.green;
#line 108 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp35_ = max_component;
#line 108 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			if (_tmp34_ == _tmp35_) {
#line 1357 "ColorTransformation.c"
				RGBAnalyticPixel _tmp36_ = {0};
				gfloat _tmp37_ = 0.0F;
				RGBAnalyticPixel _tmp38_ = {0};
				gfloat _tmp39_ = 0.0F;
				gfloat _tmp40_ = 0.0F;
#line 109 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp36_ = *p;
#line 109 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp37_ = _tmp36_.blue;
#line 109 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp38_ = *p;
#line 109 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp39_ = _tmp38_.red;
#line 109 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp40_ = delta;
#line 109 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				(*self).hue = 2.0f + ((_tmp37_ - _tmp39_) / _tmp40_);
#line 1375 "ColorTransformation.c"
			} else {
				RGBAnalyticPixel _tmp41_ = {0};
				gfloat _tmp42_ = 0.0F;
				gfloat _tmp43_ = 0.0F;
#line 110 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp41_ = *p;
#line 110 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp42_ = _tmp41_.blue;
#line 110 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp43_ = max_component;
#line 110 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (_tmp42_ == _tmp43_) {
#line 1388 "ColorTransformation.c"
					RGBAnalyticPixel _tmp44_ = {0};
					gfloat _tmp45_ = 0.0F;
					RGBAnalyticPixel _tmp46_ = {0};
					gfloat _tmp47_ = 0.0F;
					gfloat _tmp48_ = 0.0F;
#line 111 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp44_ = *p;
#line 111 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp45_ = _tmp44_.red;
#line 111 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp46_ = *p;
#line 111 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp47_ = _tmp46_.green;
#line 111 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp48_ = delta;
#line 111 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					(*self).hue = 4.0f + ((_tmp45_ - _tmp47_) / _tmp48_);
#line 1406 "ColorTransformation.c"
				}
			}
		}
#line 114 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp49_ = (*self).hue;
#line 114 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		(*self).hue = _tmp49_ * 60.0f;
#line 115 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp50_ = (*self).hue;
#line 115 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		if (_tmp50_ < 0.0f) {
#line 1418 "ColorTransformation.c"
			gfloat _tmp51_ = 0.0F;
#line 116 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp51_ = (*self).hue;
#line 116 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			(*self).hue = _tmp51_ + 360.0f;
#line 1424 "ColorTransformation.c"
		}
#line 118 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp52_ = (*self).hue;
#line 118 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		(*self).hue = _tmp52_ / 360.0f;
#line 1430 "ColorTransformation.c"
	}
#line 121 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp53_ = (*self).hue;
#line 121 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp54_ = CLAMP (_tmp53_, 0.0f, 1.0f);
#line 121 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	(*self).hue = _tmp54_;
#line 122 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp55_ = (*self).saturation;
#line 122 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp56_ = CLAMP (_tmp55_, 0.0f, 1.0f);
#line 122 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	(*self).saturation = _tmp56_;
#line 123 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp57_ = (*self).light_value;
#line 123 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp58_ = CLAMP (_tmp57_, 0.0f, 1.0f);
#line 123 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	(*self).light_value = _tmp58_;
#line 1450 "ColorTransformation.c"
}


void hsv_analytic_pixel_to_rgb (HSVAnalyticPixel *self, RGBAnalyticPixel* result) {
	RGBAnalyticPixel _result_ = {0};
	gfloat _tmp0_ = 0.0F;
#line 127 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	rgb_analytic_pixel_init (&_result_);
#line 129 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = (*self).saturation;
#line 129 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (_tmp0_ == 0.0f) {
#line 1463 "ColorTransformation.c"
		gfloat _tmp1_ = 0.0F;
		gfloat _tmp2_ = 0.0F;
		gfloat _tmp3_ = 0.0F;
#line 130 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp1_ = (*self).light_value;
#line 130 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_result_.red = _tmp1_;
#line 131 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp2_ = (*self).light_value;
#line 131 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_result_.green = _tmp2_;
#line 132 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp3_ = (*self).light_value;
#line 132 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_result_.blue = _tmp3_;
#line 1479 "ColorTransformation.c"
	} else {
		gfloat hue_denorm = 0.0F;
		gfloat _tmp4_ = 0.0F;
		gfloat _tmp5_ = 0.0F;
		gfloat hue_hexant = 0.0F;
		gfloat _tmp6_ = 0.0F;
		gint hexant_i_part = 0;
		gfloat _tmp7_ = 0.0F;
		gfloat hexant_f_part = 0.0F;
		gfloat _tmp8_ = 0.0F;
		gint _tmp9_ = 0;
		gfloat p = 0.0F;
		gfloat _tmp10_ = 0.0F;
		gfloat _tmp11_ = 0.0F;
		gfloat q = 0.0F;
		gfloat _tmp12_ = 0.0F;
		gfloat _tmp13_ = 0.0F;
		gfloat _tmp14_ = 0.0F;
		gfloat t = 0.0F;
		gfloat _tmp15_ = 0.0F;
		gfloat _tmp16_ = 0.0F;
		gfloat _tmp17_ = 0.0F;
		gint _tmp18_ = 0;
#line 134 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp4_ = (*self).hue;
#line 134 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		hue_denorm = _tmp4_ * 360.0f;
#line 135 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp5_ = hue_denorm;
#line 135 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		if (_tmp5_ == 360.0f) {
#line 136 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			hue_denorm = 0.0f;
#line 1513 "ColorTransformation.c"
		}
#line 138 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp6_ = hue_denorm;
#line 138 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		hue_hexant = _tmp6_ / 60.0f;
#line 140 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp7_ = hue_hexant;
#line 140 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		hexant_i_part = (gint) _tmp7_;
#line 142 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp8_ = hue_hexant;
#line 142 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp9_ = hexant_i_part;
#line 142 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		hexant_f_part = _tmp8_ - ((gfloat) _tmp9_);
#line 145 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp10_ = (*self).light_value;
#line 145 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp11_ = (*self).saturation;
#line 145 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		p = _tmp10_ * (1.0f - _tmp11_);
#line 146 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp12_ = (*self).light_value;
#line 146 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp13_ = (*self).saturation;
#line 146 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp14_ = hexant_f_part;
#line 146 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		q = _tmp12_ * (1.0f - (_tmp13_ * _tmp14_));
#line 147 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp15_ = (*self).light_value;
#line 147 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp16_ = (*self).saturation;
#line 147 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp17_ = hexant_f_part;
#line 147 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		t = _tmp15_ * (1.0f - (_tmp16_ * (1.0f - _tmp17_)));
#line 148 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp18_ = hexant_i_part;
#line 148 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		switch (_tmp18_) {
#line 148 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			case 0:
#line 1557 "ColorTransformation.c"
			{
				gfloat _tmp19_ = 0.0F;
				gfloat _tmp20_ = 0.0F;
				gfloat _tmp21_ = 0.0F;
#line 159 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp19_ = (*self).light_value;
#line 159 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_result_.red = _tmp19_;
#line 160 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp20_ = t;
#line 160 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_result_.green = _tmp20_;
#line 161 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp21_ = p;
#line 161 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_result_.blue = _tmp21_;
#line 162 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				break;
#line 1576 "ColorTransformation.c"
			}
#line 148 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			case 1:
#line 1580 "ColorTransformation.c"
			{
				gfloat _tmp22_ = 0.0F;
				gfloat _tmp23_ = 0.0F;
				gfloat _tmp24_ = 0.0F;
#line 165 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp22_ = q;
#line 165 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_result_.red = _tmp22_;
#line 166 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp23_ = (*self).light_value;
#line 166 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_result_.green = _tmp23_;
#line 167 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp24_ = p;
#line 167 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_result_.blue = _tmp24_;
#line 168 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				break;
#line 1599 "ColorTransformation.c"
			}
#line 148 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			case 2:
#line 1603 "ColorTransformation.c"
			{
				gfloat _tmp25_ = 0.0F;
				gfloat _tmp26_ = 0.0F;
				gfloat _tmp27_ = 0.0F;
#line 171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp25_ = p;
#line 171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_result_.red = _tmp25_;
#line 172 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp26_ = (*self).light_value;
#line 172 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_result_.green = _tmp26_;
#line 173 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp27_ = t;
#line 173 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_result_.blue = _tmp27_;
#line 174 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				break;
#line 1622 "ColorTransformation.c"
			}
#line 148 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			case 3:
#line 1626 "ColorTransformation.c"
			{
				gfloat _tmp28_ = 0.0F;
				gfloat _tmp29_ = 0.0F;
				gfloat _tmp30_ = 0.0F;
#line 177 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp28_ = p;
#line 177 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_result_.red = _tmp28_;
#line 178 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp29_ = q;
#line 178 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_result_.green = _tmp29_;
#line 179 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp30_ = (*self).light_value;
#line 179 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_result_.blue = _tmp30_;
#line 180 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				break;
#line 1645 "ColorTransformation.c"
			}
#line 148 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			case 4:
#line 1649 "ColorTransformation.c"
			{
				gfloat _tmp31_ = 0.0F;
				gfloat _tmp32_ = 0.0F;
				gfloat _tmp33_ = 0.0F;
#line 183 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp31_ = t;
#line 183 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_result_.red = _tmp31_;
#line 184 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp32_ = p;
#line 184 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_result_.green = _tmp32_;
#line 185 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp33_ = (*self).light_value;
#line 185 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_result_.blue = _tmp33_;
#line 186 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				break;
#line 1668 "ColorTransformation.c"
			}
#line 148 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			case 5:
#line 1672 "ColorTransformation.c"
			{
				gfloat _tmp34_ = 0.0F;
				gfloat _tmp35_ = 0.0F;
				gfloat _tmp36_ = 0.0F;
#line 189 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp34_ = (*self).light_value;
#line 189 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_result_.red = _tmp34_;
#line 190 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp35_ = p;
#line 190 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_result_.green = _tmp35_;
#line 191 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp36_ = q;
#line 191 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_result_.blue = _tmp36_;
#line 192 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				break;
#line 1691 "ColorTransformation.c"
			}
			default:
			{
#line 195 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				g_error ("ColorTransformation.vala:195: bad color hexant in HSV-to-RGB conversio" \
"n");
#line 1697 "ColorTransformation.c"
			}
		}
	}
#line 199 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	*result = _result_;
#line 199 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return;
#line 1705 "ColorTransformation.c"
}


gboolean hsv_analytic_pixel_equals (HSVAnalyticPixel *self, HSVAnalyticPixel* rhs) {
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	gfloat _tmp2_ = 0.0F;
	HSVAnalyticPixel _tmp3_ = {0};
	gfloat _tmp4_ = 0.0F;
#line 202 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (rhs != NULL, FALSE);
#line 203 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = (*self).hue;
#line 203 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp3_ = *rhs;
#line 203 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp4_ = _tmp3_.hue;
#line 203 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (_tmp2_ == _tmp4_) {
#line 1726 "ColorTransformation.c"
		gfloat _tmp5_ = 0.0F;
		HSVAnalyticPixel _tmp6_ = {0};
		gfloat _tmp7_ = 0.0F;
#line 203 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp5_ = (*self).saturation;
#line 203 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp6_ = *rhs;
#line 203 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp7_ = _tmp6_.saturation;
#line 203 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp1_ = _tmp5_ == _tmp7_;
#line 1738 "ColorTransformation.c"
	} else {
#line 203 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp1_ = FALSE;
#line 1742 "ColorTransformation.c"
	}
#line 203 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (_tmp1_) {
#line 1746 "ColorTransformation.c"
		gfloat _tmp8_ = 0.0F;
		HSVAnalyticPixel _tmp9_ = {0};
		gfloat _tmp10_ = 0.0F;
#line 204 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp8_ = (*self).light_value;
#line 204 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp9_ = *rhs;
#line 204 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp10_ = _tmp9_.light_value;
#line 204 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp0_ = _tmp8_ == _tmp10_;
#line 1758 "ColorTransformation.c"
	} else {
#line 203 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp0_ = FALSE;
#line 1762 "ColorTransformation.c"
	}
#line 203 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = _tmp0_;
#line 203 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 1768 "ColorTransformation.c"
}


guint hsv_analytic_pixel_hash_code (HSVAnalyticPixel *self) {
	guint result = 0U;
	gfloat _tmp0_ = 0.0F;
	gfloat _tmp1_ = 0.0F;
	gfloat _tmp2_ = 0.0F;
#line 208 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = (*self).hue;
#line 208 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = (*self).saturation;
#line 208 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = (*self).light_value;
#line 208 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = ((((guint) (_tmp0_ * 255.0f)) << 16) + (((guint) (_tmp1_ * 255.0f)) << 8)) + ((guint) (_tmp2_ * 255.0f));
#line 208 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 1787 "ColorTransformation.c"
}


HSVAnalyticPixel* hsv_analytic_pixel_dup (const HSVAnalyticPixel* self) {
	HSVAnalyticPixel* dup;
#line 67 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	dup = g_new0 (HSVAnalyticPixel, 1);
#line 67 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	memcpy (dup, self, sizeof (HSVAnalyticPixel));
#line 67 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return dup;
#line 1799 "ColorTransformation.c"
}


void hsv_analytic_pixel_free (HSVAnalyticPixel* self) {
#line 67 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_free (self);
#line 1806 "ColorTransformation.c"
}


GType hsv_analytic_pixel_get_type (void) {
	static volatile gsize hsv_analytic_pixel_type_id__volatile = 0;
	if (g_once_init_enter (&hsv_analytic_pixel_type_id__volatile)) {
		GType hsv_analytic_pixel_type_id;
		hsv_analytic_pixel_type_id = g_boxed_type_register_static ("HSVAnalyticPixel", (GBoxedCopyFunc) hsv_analytic_pixel_dup, (GBoxedFreeFunc) hsv_analytic_pixel_free);
		g_once_init_leave (&hsv_analytic_pixel_type_id__volatile, hsv_analytic_pixel_type_id);
	}
	return hsv_analytic_pixel_type_id__volatile;
}


GType composition_mode_get_type (void) {
	static volatile gsize composition_mode_type_id__volatile = 0;
	if (g_once_init_enter (&composition_mode_type_id__volatile)) {
		static const GEnumValue values[] = {{COMPOSITION_MODE_NONE, "COMPOSITION_MODE_NONE", "none"}, {COMPOSITION_MODE_RGB_MATRIX, "COMPOSITION_MODE_RGB_MATRIX", "rgb-matrix"}, {0, NULL, NULL}};
		GType composition_mode_type_id;
		composition_mode_type_id = g_enum_register_static ("CompositionMode", values);
		g_once_init_leave (&composition_mode_type_id__volatile, composition_mode_type_id);
	}
	return composition_mode_type_id__volatile;
}


GType pixel_format_get_type (void) {
	static volatile gsize pixel_format_type_id__volatile = 0;
	if (g_once_init_enter (&pixel_format_type_id__volatile)) {
		static const GEnumValue values[] = {{PIXEL_FORMAT_RGB, "PIXEL_FORMAT_RGB", "rgb"}, {PIXEL_FORMAT_HSV, "PIXEL_FORMAT_HSV", "hsv"}, {0, NULL, NULL}};
		GType pixel_format_type_id;
		pixel_format_type_id = g_enum_register_static ("PixelFormat", values);
		g_once_init_leave (&pixel_format_type_id__volatile, pixel_format_type_id);
	}
	return pixel_format_type_id__volatile;
}


GType pixel_transformation_type_get_type (void) {
	static volatile gsize pixel_transformation_type_type_id__volatile = 0;
	if (g_once_init_enter (&pixel_transformation_type_type_id__volatile)) {
		static const GEnumValue values[] = {{PIXEL_TRANSFORMATION_TYPE_TONE_EXPANSION, "PIXEL_TRANSFORMATION_TYPE_TONE_EXPANSION", "tone-expansion"}, {PIXEL_TRANSFORMATION_TYPE_SHADOWS, "PIXEL_TRANSFORMATION_TYPE_SHADOWS", "shadows"}, {PIXEL_TRANSFORMATION_TYPE_HIGHLIGHTS, "PIXEL_TRANSFORMATION_TYPE_HIGHLIGHTS", "highlights"}, {PIXEL_TRANSFORMATION_TYPE_TEMPERATURE, "PIXEL_TRANSFORMATION_TYPE_TEMPERATURE", "temperature"}, {PIXEL_TRANSFORMATION_TYPE_TINT, "PIXEL_TRANSFORMATION_TYPE_TINT", "tint"}, {PIXEL_TRANSFORMATION_TYPE_SATURATION, "PIXEL_TRANSFORMATION_TYPE_SATURATION", "saturation"}, {PIXEL_TRANSFORMATION_TYPE_EXPOSURE, "PIXEL_TRANSFORMATION_TYPE_EXPOSURE", "exposure"}, {0, NULL, NULL}};
		GType pixel_transformation_type_type_id;
		pixel_transformation_type_type_id = g_enum_register_static ("PixelTransformationType", values);
		g_once_init_leave (&pixel_transformation_type_type_id__volatile, pixel_transformation_type_type_id);
	}
	return pixel_transformation_type_type_id__volatile;
}


PixelTransformationBundle* pixel_transformation_bundle_construct (GType object_type) {
	PixelTransformationBundle* self = NULL;
#line 239 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = (PixelTransformationBundle*) g_type_create_instance (object_type);
#line 239 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return self;
#line 1863 "ColorTransformation.c"
}


PixelTransformationBundle* pixel_transformation_bundle_new (void) {
#line 239 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return pixel_transformation_bundle_construct (TYPE_PIXEL_TRANSFORMATION_BUNDLE);
#line 1870 "ColorTransformation.c"
}


static gpointer _pixel_transformation_bundle_ref0 (gpointer self) {
#line 243 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return self ? pixel_transformation_bundle_ref (self) : NULL;
#line 1877 "ColorTransformation.c"
}


PixelTransformationBundle* pixel_transformation_bundle_get_copied_color_adjustments (void) {
	PixelTransformationBundle* result = NULL;
	PixelTransformationBundle* _tmp0_ = NULL;
	PixelTransformationBundle* _tmp1_ = NULL;
#line 243 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = pixel_transformation_bundle_copied_color_adjustments;
#line 243 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = _pixel_transformation_bundle_ref0 (_tmp0_);
#line 243 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = _tmp1_;
#line 243 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 1893 "ColorTransformation.c"
}


void pixel_transformation_bundle_set_copied_color_adjustments (PixelTransformationBundle* adjustments) {
	PixelTransformationBundle* _tmp0_ = NULL;
	PixelTransformationBundle* _tmp1_ = NULL;
#line 246 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (IS_PIXEL_TRANSFORMATION_BUNDLE (adjustments));
#line 247 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = adjustments;
#line 247 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = _pixel_transformation_bundle_ref0 (_tmp0_);
#line 247 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_pixel_transformation_bundle_unref0 (pixel_transformation_bundle_copied_color_adjustments);
#line 247 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	pixel_transformation_bundle_copied_color_adjustments = _tmp1_;
#line 1910 "ColorTransformation.c"
}


gboolean pixel_transformation_bundle_has_copied_color_adjustments (void) {
	gboolean result = FALSE;
	PixelTransformationBundle* _tmp0_ = NULL;
#line 251 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = pixel_transformation_bundle_copied_color_adjustments;
#line 251 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = _tmp0_ != NULL;
#line 251 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 1923 "ColorTransformation.c"
}


void pixel_transformation_bundle_set (PixelTransformationBundle* self, PixelTransformation* transformation) {
	GeeHashMap* _tmp0_ = NULL;
	PixelTransformation* _tmp1_ = NULL;
	PixelTransformationType _tmp2_ = 0;
	PixelTransformation* _tmp3_ = NULL;
#line 254 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (IS_PIXEL_TRANSFORMATION_BUNDLE (self));
#line 254 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (IS_PIXEL_TRANSFORMATION (transformation));
#line 255 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = self->priv->map;
#line 255 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = transformation;
#line 255 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = pixel_transformation_get_transformation_type (_tmp1_);
#line 255 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp3_ = transformation;
#line 255 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) ((gint) _tmp2_)), _tmp3_);
#line 1946 "ColorTransformation.c"
}


void pixel_transformation_bundle_set_to_identity (PixelTransformationBundle* self) {
	ExpansionTransformation* _tmp0_ = NULL;
	ExpansionTransformation* _tmp1_ = NULL;
	ShadowDetailTransformation* _tmp2_ = NULL;
	ShadowDetailTransformation* _tmp3_ = NULL;
	HighlightDetailTransformation* _tmp4_ = NULL;
	HighlightDetailTransformation* _tmp5_ = NULL;
	TemperatureTransformation* _tmp6_ = NULL;
	TemperatureTransformation* _tmp7_ = NULL;
	TintTransformation* _tmp8_ = NULL;
	TintTransformation* _tmp9_ = NULL;
	SaturationTransformation* _tmp10_ = NULL;
	SaturationTransformation* _tmp11_ = NULL;
	ExposureTransformation* _tmp12_ = NULL;
	ExposureTransformation* _tmp13_ = NULL;
#line 258 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (IS_PIXEL_TRANSFORMATION_BUNDLE (self));
#line 259 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = expansion_transformation_new_from_extrema (0, 255);
#line 259 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = _tmp0_;
#line 259 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation));
#line 259 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_pixel_transformation_unref0 (_tmp1_);
#line 260 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = shadow_detail_transformation_new (0.0f);
#line 260 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp3_ = _tmp2_;
#line 260 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation));
#line 260 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_pixel_transformation_unref0 (_tmp3_);
#line 261 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp4_ = highlight_detail_transformation_new (0.0f);
#line 261 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp5_ = _tmp4_;
#line 261 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation));
#line 261 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_pixel_transformation_unref0 (_tmp5_);
#line 262 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp6_ = temperature_transformation_new (0.0f);
#line 262 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp7_ = _tmp6_;
#line 262 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation));
#line 262 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_pixel_transformation_unref0 (_tmp7_);
#line 263 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp8_ = tint_transformation_new (0.0f);
#line 263 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp9_ = _tmp8_;
#line 263 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation));
#line 263 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_pixel_transformation_unref0 (_tmp9_);
#line 264 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp10_ = saturation_transformation_new (0.0f);
#line 264 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp11_ = _tmp10_;
#line 264 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation));
#line 264 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_pixel_transformation_unref0 (_tmp11_);
#line 265 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp12_ = exposure_transformation_new (0.0f);
#line 265 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp13_ = _tmp12_;
#line 265 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation));
#line 265 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_pixel_transformation_unref0 (_tmp13_);
#line 2023 "ColorTransformation.c"
}


void pixel_transformation_bundle_load (PixelTransformationBundle* self, KeyValueMap* store) {
	gchar* expansion_params_encoded = NULL;
	KeyValueMap* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	const gchar* _tmp2_ = NULL;
	KeyValueMap* _tmp8_ = NULL;
	gfloat _tmp9_ = 0.0F;
	ShadowDetailTransformation* _tmp10_ = NULL;
	ShadowDetailTransformation* _tmp11_ = NULL;
	KeyValueMap* _tmp12_ = NULL;
	gfloat _tmp13_ = 0.0F;
	HighlightDetailTransformation* _tmp14_ = NULL;
	HighlightDetailTransformation* _tmp15_ = NULL;
	KeyValueMap* _tmp16_ = NULL;
	gfloat _tmp17_ = 0.0F;
	TemperatureTransformation* _tmp18_ = NULL;
	TemperatureTransformation* _tmp19_ = NULL;
	KeyValueMap* _tmp20_ = NULL;
	gfloat _tmp21_ = 0.0F;
	TintTransformation* _tmp22_ = NULL;
	TintTransformation* _tmp23_ = NULL;
	KeyValueMap* _tmp24_ = NULL;
	gfloat _tmp25_ = 0.0F;
	SaturationTransformation* _tmp26_ = NULL;
	SaturationTransformation* _tmp27_ = NULL;
	KeyValueMap* _tmp28_ = NULL;
	gfloat _tmp29_ = 0.0F;
	ExposureTransformation* _tmp30_ = NULL;
	ExposureTransformation* _tmp31_ = NULL;
#line 268 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (IS_PIXEL_TRANSFORMATION_BUNDLE (self));
#line 268 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (IS_KEY_VALUE_MAP (store));
#line 269 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = store;
#line 269 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = key_value_map_get_string (_tmp0_, "expansion", "-");
#line 269 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	expansion_params_encoded = _tmp1_;
#line 270 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = expansion_params_encoded;
#line 270 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (g_strcmp0 (_tmp2_, "-") == 0) {
#line 2070 "ColorTransformation.c"
		ExpansionTransformation* _tmp3_ = NULL;
		ExpansionTransformation* _tmp4_ = NULL;
#line 271 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp3_ = expansion_transformation_new_from_extrema (0, 255);
#line 271 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp4_ = _tmp3_;
#line 271 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation));
#line 271 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_pixel_transformation_unref0 (_tmp4_);
#line 2081 "ColorTransformation.c"
	} else {
		const gchar* _tmp5_ = NULL;
		ExpansionTransformation* _tmp6_ = NULL;
		ExpansionTransformation* _tmp7_ = NULL;
#line 273 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp5_ = expansion_params_encoded;
#line 273 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp6_ = expansion_transformation_new_from_string (_tmp5_);
#line 273 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp7_ = _tmp6_;
#line 273 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation));
#line 273 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_pixel_transformation_unref0 (_tmp7_);
#line 2096 "ColorTransformation.c"
	}
#line 275 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp8_ = store;
#line 275 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp9_ = key_value_map_get_float (_tmp8_, "shadows", 0.0f);
#line 275 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp10_ = shadow_detail_transformation_new (_tmp9_);
#line 275 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp11_ = _tmp10_;
#line 275 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation));
#line 275 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_pixel_transformation_unref0 (_tmp11_);
#line 276 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp12_ = store;
#line 276 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp13_ = key_value_map_get_float (_tmp12_, "highlights", 0.0f);
#line 276 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp14_ = highlight_detail_transformation_new (_tmp13_);
#line 276 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp15_ = _tmp14_;
#line 276 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation));
#line 276 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_pixel_transformation_unref0 (_tmp15_);
#line 277 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp16_ = store;
#line 277 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp17_ = key_value_map_get_float (_tmp16_, "temperature", 0.0f);
#line 277 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp18_ = temperature_transformation_new (_tmp17_);
#line 277 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp19_ = _tmp18_;
#line 277 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation));
#line 277 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_pixel_transformation_unref0 (_tmp19_);
#line 278 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp20_ = store;
#line 278 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp21_ = key_value_map_get_float (_tmp20_, "tint", 0.0f);
#line 278 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp22_ = tint_transformation_new (_tmp21_);
#line 278 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp23_ = _tmp22_;
#line 278 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation));
#line 278 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_pixel_transformation_unref0 (_tmp23_);
#line 279 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp24_ = store;
#line 279 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp25_ = key_value_map_get_float (_tmp24_, "saturation", 0.0f);
#line 279 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp26_ = saturation_transformation_new (_tmp25_);
#line 279 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp27_ = _tmp26_;
#line 279 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation));
#line 279 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_pixel_transformation_unref0 (_tmp27_);
#line 280 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp28_ = store;
#line 280 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp29_ = key_value_map_get_float (_tmp28_, "exposure", 0.0f);
#line 280 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp30_ = exposure_transformation_new (_tmp29_);
#line 280 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp31_ = _tmp30_;
#line 280 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation));
#line 280 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_pixel_transformation_unref0 (_tmp31_);
#line 268 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_g_free0 (expansion_params_encoded);
#line 2172 "ColorTransformation.c"
}


KeyValueMap* pixel_transformation_bundle_save (PixelTransformationBundle* self, const gchar* group) {
	KeyValueMap* result = NULL;
	KeyValueMap* store = NULL;
	const gchar* _tmp0_ = NULL;
	KeyValueMap* _tmp1_ = NULL;
	ExpansionTransformation* new_expansion_trans = NULL;
	PixelTransformation* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	gchar* _tmp4_ = NULL;
	ShadowDetailTransformation* new_shadows_trans = NULL;
	PixelTransformation* _tmp5_ = NULL;
	gfloat _tmp6_ = 0.0F;
	HighlightDetailTransformation* new_highlight_trans = NULL;
	PixelTransformation* _tmp7_ = NULL;
	gfloat _tmp8_ = 0.0F;
	TemperatureTransformation* new_temp_trans = NULL;
	PixelTransformation* _tmp9_ = NULL;
	gfloat _tmp10_ = 0.0F;
	TintTransformation* new_tint_trans = NULL;
	PixelTransformation* _tmp11_ = NULL;
	gfloat _tmp12_ = 0.0F;
	SaturationTransformation* new_sat_trans = NULL;
	PixelTransformation* _tmp13_ = NULL;
	gfloat _tmp14_ = 0.0F;
	ExposureTransformation* new_exposure_trans = NULL;
	PixelTransformation* _tmp15_ = NULL;
	gfloat _tmp16_ = 0.0F;
#line 283 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (IS_PIXEL_TRANSFORMATION_BUNDLE (self), NULL);
#line 283 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (group != NULL, NULL);
#line 284 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = group;
#line 284 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = key_value_map_new (_tmp0_);
#line 284 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	store = _tmp1_;
#line 286 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = pixel_transformation_bundle_get_transformation (self, PIXEL_TRANSFORMATION_TYPE_TONE_EXPANSION);
#line 286 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	new_expansion_trans = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_EXPANSION_TRANSFORMATION, ExpansionTransformation);
#line 288 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_vala_assert (new_expansion_trans != NULL, "new_expansion_trans != null");
#line 289 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp3_ = pixel_transformation_to_string (G_TYPE_CHECK_INSTANCE_CAST (new_expansion_trans, TYPE_PIXEL_TRANSFORMATION, PixelTransformation));
#line 289 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp4_ = _tmp3_;
#line 289 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	key_value_map_set_string (store, "expansion", _tmp4_);
#line 289 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_g_free0 (_tmp4_);
#line 291 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp5_ = pixel_transformation_bundle_get_transformation (self, PIXEL_TRANSFORMATION_TYPE_SHADOWS);
#line 291 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	new_shadows_trans = G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_SHADOW_DETAIL_TRANSFORMATION, ShadowDetailTransformation);
#line 293 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_vala_assert (new_shadows_trans != NULL, "new_shadows_trans != null");
#line 294 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp6_ = shadow_detail_transformation_get_parameter (new_shadows_trans);
#line 294 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	key_value_map_set_float (store, "shadows", _tmp6_);
#line 296 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp7_ = pixel_transformation_bundle_get_transformation (self, PIXEL_TRANSFORMATION_TYPE_HIGHLIGHTS);
#line 296 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	new_highlight_trans = G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION, HighlightDetailTransformation);
#line 298 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_vala_assert (new_highlight_trans != NULL, "new_highlight_trans != null");
#line 299 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp8_ = highlight_detail_transformation_get_parameter (new_highlight_trans);
#line 299 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	key_value_map_set_float (store, "highlights", _tmp8_);
#line 301 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp9_ = pixel_transformation_bundle_get_transformation (self, PIXEL_TRANSFORMATION_TYPE_TEMPERATURE);
#line 301 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	new_temp_trans = G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_TEMPERATURE_TRANSFORMATION, TemperatureTransformation);
#line 303 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_vala_assert (new_temp_trans != NULL, "new_temp_trans != null");
#line 304 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp10_ = temperature_transformation_get_parameter (new_temp_trans);
#line 304 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	key_value_map_set_float (store, "temperature", _tmp10_);
#line 306 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp11_ = pixel_transformation_bundle_get_transformation (self, PIXEL_TRANSFORMATION_TYPE_TINT);
#line 306 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	new_tint_trans = G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_TINT_TRANSFORMATION, TintTransformation);
#line 308 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_vala_assert (new_tint_trans != NULL, "new_tint_trans != null");
#line 309 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp12_ = tint_transformation_get_parameter (new_tint_trans);
#line 309 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	key_value_map_set_float (store, "tint", _tmp12_);
#line 311 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp13_ = pixel_transformation_bundle_get_transformation (self, PIXEL_TRANSFORMATION_TYPE_SATURATION);
#line 311 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	new_sat_trans = G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_SATURATION_TRANSFORMATION, SaturationTransformation);
#line 313 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_vala_assert (new_sat_trans != NULL, "new_sat_trans != null");
#line 314 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp14_ = saturation_transformation_get_parameter (new_sat_trans);
#line 314 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	key_value_map_set_float (store, "saturation", _tmp14_);
#line 316 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp15_ = pixel_transformation_bundle_get_transformation (self, PIXEL_TRANSFORMATION_TYPE_EXPOSURE);
#line 316 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	new_exposure_trans = G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_EXPOSURE_TRANSFORMATION, ExposureTransformation);
#line 318 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_vala_assert (new_exposure_trans != NULL, "new_exposure_trans != null");
#line 319 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp16_ = exposure_transformation_get_parameter (new_exposure_trans);
#line 319 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	key_value_map_set_float (store, "exposure", _tmp16_);
#line 321 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = store;
#line 321 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_pixel_transformation_unref0 (new_exposure_trans);
#line 321 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_pixel_transformation_unref0 (new_sat_trans);
#line 321 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_pixel_transformation_unref0 (new_tint_trans);
#line 321 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_pixel_transformation_unref0 (new_temp_trans);
#line 321 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_pixel_transformation_unref0 (new_highlight_trans);
#line 321 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_pixel_transformation_unref0 (new_shadows_trans);
#line 321 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_pixel_transformation_unref0 (new_expansion_trans);
#line 321 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 2305 "ColorTransformation.c"
}


gint pixel_transformation_bundle_get_count (PixelTransformationBundle* self) {
	gint result = 0;
	GeeHashMap* _tmp0_ = NULL;
	gint _tmp1_ = 0;
	gint _tmp2_ = 0;
#line 324 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (IS_PIXEL_TRANSFORMATION_BUNDLE (self), 0);
#line 325 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = self->priv->map;
#line 325 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = gee_abstract_map_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_MAP, GeeMap));
#line 325 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = _tmp1_;
#line 325 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = _tmp2_;
#line 325 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 2326 "ColorTransformation.c"
}


PixelTransformation* pixel_transformation_bundle_get_transformation (PixelTransformationBundle* self, PixelTransformationType type) {
	PixelTransformation* result = NULL;
	GeeHashMap* _tmp0_ = NULL;
	PixelTransformationType _tmp1_ = 0;
	gpointer _tmp2_ = NULL;
#line 328 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (IS_PIXEL_TRANSFORMATION_BUNDLE (self), NULL);
#line 329 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = self->priv->map;
#line 329 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = type;
#line 329 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) ((gint) _tmp1_)));
#line 329 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = (PixelTransformation*) _tmp2_;
#line 329 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 2347 "ColorTransformation.c"
}


GeeIterable* pixel_transformation_bundle_get_transformations (PixelTransformationBundle* self) {
	GeeIterable* result = NULL;
	GeeHashMap* _tmp0_ = NULL;
	GeeCollection* _tmp1_ = NULL;
	GeeCollection* _tmp2_ = NULL;
#line 332 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (IS_PIXEL_TRANSFORMATION_BUNDLE (self), NULL);
#line 333 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = self->priv->map;
#line 333 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = gee_abstract_map_get_values (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_MAP, GeeMap));
#line 333 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = _tmp1_;
#line 333 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ITERABLE, GeeIterable);
#line 333 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 2368 "ColorTransformation.c"
}


gboolean pixel_transformation_bundle_is_identity (PixelTransformationBundle* self) {
	gboolean result = FALSE;
#line 336 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (IS_PIXEL_TRANSFORMATION_BUNDLE (self), FALSE);
#line 2376 "ColorTransformation.c"
	{
		GeeIterator* _adjustment_it = NULL;
		GeeIterable* _tmp0_ = NULL;
		GeeIterable* _tmp1_ = NULL;
		GeeIterator* _tmp2_ = NULL;
		GeeIterator* _tmp3_ = NULL;
#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp0_ = pixel_transformation_bundle_get_transformations (self);
#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp1_ = _tmp0_;
#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp2_ = gee_iterable_iterator (_tmp1_);
#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp3_ = _tmp2_;
#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_g_object_unref0 (_tmp1_);
#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_adjustment_it = _tmp3_;
#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		while (TRUE) {
#line 2397 "ColorTransformation.c"
			GeeIterator* _tmp4_ = NULL;
			gboolean _tmp5_ = FALSE;
			PixelTransformation* adjustment = NULL;
			GeeIterator* _tmp6_ = NULL;
			gpointer _tmp7_ = NULL;
			PixelTransformation* _tmp8_ = NULL;
			gboolean _tmp9_ = FALSE;
#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp4_ = _adjustment_it;
#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp5_ = gee_iterator_next (_tmp4_);
#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			if (!_tmp5_) {
#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				break;
#line 2413 "ColorTransformation.c"
			}
#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp6_ = _adjustment_it;
#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp7_ = gee_iterator_get (_tmp6_);
#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			adjustment = (PixelTransformation*) _tmp7_;
#line 338 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp8_ = adjustment;
#line 338 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp9_ = pixel_transformation_is_identity (_tmp8_);
#line 338 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			if (!_tmp9_) {
#line 339 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				result = FALSE;
#line 339 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_pixel_transformation_unref0 (adjustment);
#line 339 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_g_object_unref0 (_adjustment_it);
#line 339 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				return result;
#line 2435 "ColorTransformation.c"
			}
#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_pixel_transformation_unref0 (adjustment);
#line 2439 "ColorTransformation.c"
		}
#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_g_object_unref0 (_adjustment_it);
#line 2443 "ColorTransformation.c"
	}
#line 342 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = TRUE;
#line 342 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 2449 "ColorTransformation.c"
}


PixelTransformer* pixel_transformation_bundle_generate_transformer (PixelTransformationBundle* self) {
	PixelTransformer* result = NULL;
	PixelTransformer* transformer = NULL;
	PixelTransformer* _tmp0_ = NULL;
#line 345 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (IS_PIXEL_TRANSFORMATION_BUNDLE (self), NULL);
#line 346 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = pixel_transformer_new ();
#line 346 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	transformer = _tmp0_;
#line 2463 "ColorTransformation.c"
	{
		GeeIterator* _transformation_it = NULL;
		GeeIterable* _tmp1_ = NULL;
		GeeIterable* _tmp2_ = NULL;
		GeeIterator* _tmp3_ = NULL;
		GeeIterator* _tmp4_ = NULL;
#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp1_ = pixel_transformation_bundle_get_transformations (self);
#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp2_ = _tmp1_;
#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp3_ = gee_iterable_iterator (_tmp2_);
#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp4_ = _tmp3_;
#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_g_object_unref0 (_tmp2_);
#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_transformation_it = _tmp4_;
#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		while (TRUE) {
#line 2484 "ColorTransformation.c"
			GeeIterator* _tmp5_ = NULL;
			gboolean _tmp6_ = FALSE;
			PixelTransformation* transformation = NULL;
			GeeIterator* _tmp7_ = NULL;
			gpointer _tmp8_ = NULL;
			PixelTransformer* _tmp9_ = NULL;
			PixelTransformation* _tmp10_ = NULL;
#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp5_ = _transformation_it;
#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp6_ = gee_iterator_next (_tmp5_);
#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			if (!_tmp6_) {
#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				break;
#line 2500 "ColorTransformation.c"
			}
#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp7_ = _transformation_it;
#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp8_ = gee_iterator_get (_tmp7_);
#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			transformation = (PixelTransformation*) _tmp8_;
#line 348 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp9_ = transformer;
#line 348 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp10_ = transformation;
#line 348 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			pixel_transformer_attach_transformation (_tmp9_, _tmp10_);
#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_pixel_transformation_unref0 (transformation);
#line 2516 "ColorTransformation.c"
		}
#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_g_object_unref0 (_transformation_it);
#line 2520 "ColorTransformation.c"
	}
#line 350 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = transformer;
#line 350 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 2526 "ColorTransformation.c"
}


PixelTransformationBundle* pixel_transformation_bundle_copy (PixelTransformationBundle* self) {
	PixelTransformationBundle* result = NULL;
	PixelTransformationBundle* bundle = NULL;
	PixelTransformationBundle* _tmp0_ = NULL;
#line 353 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (IS_PIXEL_TRANSFORMATION_BUNDLE (self), NULL);
#line 354 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = pixel_transformation_bundle_new ();
#line 354 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	bundle = _tmp0_;
#line 2540 "ColorTransformation.c"
	{
		GeeIterator* _transformation_it = NULL;
		GeeIterable* _tmp1_ = NULL;
		GeeIterable* _tmp2_ = NULL;
		GeeIterator* _tmp3_ = NULL;
		GeeIterator* _tmp4_ = NULL;
#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp1_ = pixel_transformation_bundle_get_transformations (self);
#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp2_ = _tmp1_;
#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp3_ = gee_iterable_iterator (_tmp2_);
#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp4_ = _tmp3_;
#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_g_object_unref0 (_tmp2_);
#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_transformation_it = _tmp4_;
#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		while (TRUE) {
#line 2561 "ColorTransformation.c"
			GeeIterator* _tmp5_ = NULL;
			gboolean _tmp6_ = FALSE;
			PixelTransformation* transformation = NULL;
			GeeIterator* _tmp7_ = NULL;
			gpointer _tmp8_ = NULL;
			PixelTransformationBundle* _tmp9_ = NULL;
			PixelTransformation* _tmp10_ = NULL;
#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp5_ = _transformation_it;
#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp6_ = gee_iterator_next (_tmp5_);
#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			if (!_tmp6_) {
#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				break;
#line 2577 "ColorTransformation.c"
			}
#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp7_ = _transformation_it;
#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp8_ = gee_iterator_get (_tmp7_);
#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			transformation = (PixelTransformation*) _tmp8_;
#line 356 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp9_ = bundle;
#line 356 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp10_ = transformation;
#line 356 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			pixel_transformation_bundle_set (_tmp9_, _tmp10_);
#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_pixel_transformation_unref0 (transformation);
#line 2593 "ColorTransformation.c"
		}
#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_g_object_unref0 (_transformation_it);
#line 2597 "ColorTransformation.c"
	}
#line 358 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = bundle;
#line 358 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 2603 "ColorTransformation.c"
}


static void value_pixel_transformation_bundle_init (GValue* value) {
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	value->data[0].v_pointer = NULL;
#line 2610 "ColorTransformation.c"
}


static void value_pixel_transformation_bundle_free_value (GValue* value) {
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (value->data[0].v_pointer) {
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		pixel_transformation_bundle_unref (value->data[0].v_pointer);
#line 2619 "ColorTransformation.c"
	}
}


static void value_pixel_transformation_bundle_copy_value (const GValue* src_value, GValue* dest_value) {
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (src_value->data[0].v_pointer) {
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		dest_value->data[0].v_pointer = pixel_transformation_bundle_ref (src_value->data[0].v_pointer);
#line 2629 "ColorTransformation.c"
	} else {
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		dest_value->data[0].v_pointer = NULL;
#line 2633 "ColorTransformation.c"
	}
}


static gpointer value_pixel_transformation_bundle_peek_pointer (const GValue* value) {
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return value->data[0].v_pointer;
#line 2641 "ColorTransformation.c"
}


static gchar* value_pixel_transformation_bundle_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (collect_values[0].v_pointer) {
#line 2648 "ColorTransformation.c"
		PixelTransformationBundle* object;
		object = collect_values[0].v_pointer;
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		if (object->parent_instance.g_class == NULL) {
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 2655 "ColorTransformation.c"
		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 2659 "ColorTransformation.c"
		}
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		value->data[0].v_pointer = pixel_transformation_bundle_ref (object);
#line 2663 "ColorTransformation.c"
	} else {
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		value->data[0].v_pointer = NULL;
#line 2667 "ColorTransformation.c"
	}
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return NULL;
#line 2671 "ColorTransformation.c"
}


static gchar* value_pixel_transformation_bundle_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
	PixelTransformationBundle** object_p;
	object_p = collect_values[0].v_pointer;
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (!object_p) {
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
#line 2682 "ColorTransformation.c"
	}
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (!value->data[0].v_pointer) {
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		*object_p = NULL;
#line 2688 "ColorTransformation.c"
	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		*object_p = value->data[0].v_pointer;
#line 2692 "ColorTransformation.c"
	} else {
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		*object_p = pixel_transformation_bundle_ref (value->data[0].v_pointer);
#line 2696 "ColorTransformation.c"
	}
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return NULL;
#line 2700 "ColorTransformation.c"
}


GParamSpec* param_spec_pixel_transformation_bundle (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) {
	ParamSpecPixelTransformationBundle* spec;
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (g_type_is_a (object_type, TYPE_PIXEL_TRANSFORMATION_BUNDLE), NULL);
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	G_PARAM_SPEC (spec)->value_type = object_type;
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return G_PARAM_SPEC (spec);
#line 2714 "ColorTransformation.c"
}


gpointer value_get_pixel_transformation_bundle (const GValue* value) {
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PIXEL_TRANSFORMATION_BUNDLE), NULL);
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return value->data[0].v_pointer;
#line 2723 "ColorTransformation.c"
}


void value_set_pixel_transformation_bundle (GValue* value, gpointer v_object) {
	PixelTransformationBundle* old;
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PIXEL_TRANSFORMATION_BUNDLE));
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	old = value->data[0].v_pointer;
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (v_object) {
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PIXEL_TRANSFORMATION_BUNDLE));
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		value->data[0].v_pointer = v_object;
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		pixel_transformation_bundle_ref (value->data[0].v_pointer);
#line 2743 "ColorTransformation.c"
	} else {
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		value->data[0].v_pointer = NULL;
#line 2747 "ColorTransformation.c"
	}
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (old) {
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		pixel_transformation_bundle_unref (old);
#line 2753 "ColorTransformation.c"
	}
}


void value_take_pixel_transformation_bundle (GValue* value, gpointer v_object) {
	PixelTransformationBundle* old;
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PIXEL_TRANSFORMATION_BUNDLE));
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	old = value->data[0].v_pointer;
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (v_object) {
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PIXEL_TRANSFORMATION_BUNDLE));
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		value->data[0].v_pointer = v_object;
#line 2772 "ColorTransformation.c"
	} else {
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		value->data[0].v_pointer = NULL;
#line 2776 "ColorTransformation.c"
	}
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (old) {
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		pixel_transformation_bundle_unref (old);
#line 2782 "ColorTransformation.c"
	}
}


static void pixel_transformation_bundle_class_init (PixelTransformationBundleClass * klass) {
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	pixel_transformation_bundle_parent_class = g_type_class_peek_parent (klass);
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	((PixelTransformationBundleClass *) klass)->finalize = pixel_transformation_bundle_finalize;
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_type_class_add_private (klass, sizeof (PixelTransformationBundlePrivate));
#line 2794 "ColorTransformation.c"
}


static void pixel_transformation_bundle_instance_init (PixelTransformationBundle * self) {
	void* _tmp0_ = NULL;
	GDestroyNotify _tmp1_ = NULL;
	GeeHashDataFunc _tmp2_ = NULL;
	void* _tmp3_ = NULL;
	GDestroyNotify _tmp4_ = NULL;
	GeeEqualDataFunc _tmp5_ = NULL;
	GeeHashMap* _tmp6_ = NULL;
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv = PIXEL_TRANSFORMATION_BUNDLE_GET_PRIVATE (self);
#line 236 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = gee_functions_get_hash_func_for (G_TYPE_INT, &_tmp0_, &_tmp1_);
#line 236 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp5_ = gee_functions_get_equal_func_for (G_TYPE_INT, &_tmp3_, &_tmp4_);
#line 236 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp6_ = gee_hash_map_new (G_TYPE_INT, NULL, NULL, TYPE_PIXEL_TRANSFORMATION, (GBoxedCopyFunc) pixel_transformation_ref, pixel_transformation_unref, _tmp2_, _tmp0_, _tmp1_, _tmp5_, _tmp3_, _tmp4_, NULL, NULL, NULL);
#line 236 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->map = _tmp6_;
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->ref_count = 1;
#line 2818 "ColorTransformation.c"
}


static void pixel_transformation_bundle_finalize (PixelTransformationBundle* obj) {
	PixelTransformationBundle * self;
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PIXEL_TRANSFORMATION_BUNDLE, PixelTransformationBundle);
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_signal_handlers_destroy (self);
#line 236 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_g_object_unref0 (self->priv->map);
#line 2830 "ColorTransformation.c"
}


GType pixel_transformation_bundle_get_type (void) {
	static volatile gsize pixel_transformation_bundle_type_id__volatile = 0;
	if (g_once_init_enter (&pixel_transformation_bundle_type_id__volatile)) {
		static const GTypeValueTable g_define_type_value_table = { value_pixel_transformation_bundle_init, value_pixel_transformation_bundle_free_value, value_pixel_transformation_bundle_copy_value, value_pixel_transformation_bundle_peek_pointer, "p", value_pixel_transformation_bundle_collect_value, "p", value_pixel_transformation_bundle_lcopy_value };
		static const GTypeInfo g_define_type_info = { sizeof (PixelTransformationBundleClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) pixel_transformation_bundle_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PixelTransformationBundle), 0, (GInstanceInitFunc) pixel_transformation_bundle_instance_init, &g_define_type_value_table };
		static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) };
		GType pixel_transformation_bundle_type_id;
		pixel_transformation_bundle_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PixelTransformationBundle", &g_define_type_info, &g_define_type_fundamental_info, 0);
		g_once_init_leave (&pixel_transformation_bundle_type_id__volatile, pixel_transformation_bundle_type_id);
	}
	return pixel_transformation_bundle_type_id__volatile;
}


gpointer pixel_transformation_bundle_ref (gpointer instance) {
	PixelTransformationBundle* self;
	self = instance;
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_atomic_int_inc (&self->ref_count);
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return instance;
#line 2855 "ColorTransformation.c"
}


void pixel_transformation_bundle_unref (gpointer instance) {
	PixelTransformationBundle* self;
	self = instance;
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (g_atomic_int_dec_and_test (&self->ref_count)) {
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		PIXEL_TRANSFORMATION_BUNDLE_GET_CLASS (self)->finalize (self);
#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		g_type_free_instance ((GTypeInstance *) self);
#line 2868 "ColorTransformation.c"
	}
}


PixelTransformation* pixel_transformation_construct (GType object_type, PixelTransformationType type) {
	PixelTransformation* self = NULL;
	PixelTransformationType _tmp0_ = 0;
#line 365 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = (PixelTransformation*) g_type_create_instance (object_type);
#line 366 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = type;
#line 366 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->type = _tmp0_;
#line 365 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return self;
#line 2884 "ColorTransformation.c"
}


PixelTransformationType pixel_transformation_get_transformation_type (PixelTransformation* self) {
	PixelTransformationType result = 0;
	PixelTransformationType _tmp0_ = 0;
#line 369 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (IS_PIXEL_TRANSFORMATION (self), 0);
#line 370 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = self->priv->type;
#line 370 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = _tmp0_;
#line 370 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 2899 "ColorTransformation.c"
}


static PixelFormat pixel_transformation_real_get_preferred_format (PixelTransformation* self) {
#line 373 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_critical ("Type `%s' does not implement abstract method `pixel_transformation_get_preferred_format'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
#line 373 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return 0;
#line 2908 "ColorTransformation.c"
}


PixelFormat pixel_transformation_get_preferred_format (PixelTransformation* self) {
#line 373 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (IS_PIXEL_TRANSFORMATION (self), 0);
#line 373 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return PIXEL_TRANSFORMATION_GET_CLASS (self)->get_preferred_format (self);
#line 2917 "ColorTransformation.c"
}


static CompositionMode pixel_transformation_real_get_composition_mode (PixelTransformation* self) {
	CompositionMode result = 0;
#line 376 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = COMPOSITION_MODE_NONE;
#line 376 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 2927 "ColorTransformation.c"
}


CompositionMode pixel_transformation_get_composition_mode (PixelTransformation* self) {
#line 375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (IS_PIXEL_TRANSFORMATION (self), 0);
#line 375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return PIXEL_TRANSFORMATION_GET_CLASS (self)->get_composition_mode (self);
#line 2936 "ColorTransformation.c"
}


static void pixel_transformation_real_compose_with (PixelTransformation* self, PixelTransformation* other) {
#line 379 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (IS_PIXEL_TRANSFORMATION (other));
#line 380 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_error ("ColorTransformation.vala:380: %s", "PixelTransformation: compose_with( ): this type of pixel " "transformation doesn't support composition.");
#line 2945 "ColorTransformation.c"
}


void pixel_transformation_compose_with (PixelTransformation* self, PixelTransformation* other) {
#line 379 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (IS_PIXEL_TRANSFORMATION (self));
#line 379 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	PIXEL_TRANSFORMATION_GET_CLASS (self)->compose_with (self, other);
#line 2954 "ColorTransformation.c"
}


static gboolean pixel_transformation_real_is_identity (PixelTransformation* self) {
	gboolean result = FALSE;
#line 385 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = TRUE;
#line 385 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 2964 "ColorTransformation.c"
}


gboolean pixel_transformation_is_identity (PixelTransformation* self) {
#line 384 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (IS_PIXEL_TRANSFORMATION (self), FALSE);
#line 384 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return PIXEL_TRANSFORMATION_GET_CLASS (self)->is_identity (self);
#line 2973 "ColorTransformation.c"
}


static void pixel_transformation_real_transform_pixel_hsv (PixelTransformation* self, HSVAnalyticPixel* p, HSVAnalyticPixel* result) {
	HSVAnalyticPixel _tmp0_ = {0};
#line 388 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (p != NULL);
#line 389 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = *p;
#line 389 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	*result = _tmp0_;
#line 389 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return;
#line 2987 "ColorTransformation.c"
}


void pixel_transformation_transform_pixel_hsv (PixelTransformation* self, HSVAnalyticPixel* p, HSVAnalyticPixel* result) {
#line 388 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (IS_PIXEL_TRANSFORMATION (self));
#line 388 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	PIXEL_TRANSFORMATION_GET_CLASS (self)->transform_pixel_hsv (self, p, result);
#line 2996 "ColorTransformation.c"
}


static void pixel_transformation_real_transform_pixel_rgb (PixelTransformation* self, RGBAnalyticPixel* p, RGBAnalyticPixel* result) {
	RGBAnalyticPixel _tmp0_ = {0};
#line 392 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (p != NULL);
#line 393 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = *p;
#line 393 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	*result = _tmp0_;
#line 393 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return;
#line 3010 "ColorTransformation.c"
}


void pixel_transformation_transform_pixel_rgb (PixelTransformation* self, RGBAnalyticPixel* p, RGBAnalyticPixel* result) {
#line 392 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (IS_PIXEL_TRANSFORMATION (self));
#line 392 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	PIXEL_TRANSFORMATION_GET_CLASS (self)->transform_pixel_rgb (self, p, result);
#line 3019 "ColorTransformation.c"
}


static gchar* pixel_transformation_real_to_string (PixelTransformation* self) {
	gchar* result = NULL;
	gchar* _tmp0_ = NULL;
#line 397 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = g_strdup ("PixelTransformation");
#line 397 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = _tmp0_;
#line 397 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 3032 "ColorTransformation.c"
}


gchar* pixel_transformation_to_string (PixelTransformation* self) {
#line 396 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (IS_PIXEL_TRANSFORMATION (self), NULL);
#line 396 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return PIXEL_TRANSFORMATION_GET_CLASS (self)->to_string (self);
#line 3041 "ColorTransformation.c"
}


static PixelTransformation* pixel_transformation_real_copy (PixelTransformation* self) {
#line 400 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_critical ("Type `%s' does not implement abstract method `pixel_transformation_copy'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
#line 400 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return NULL;
#line 3050 "ColorTransformation.c"
}


PixelTransformation* pixel_transformation_copy (PixelTransformation* self) {
#line 400 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (IS_PIXEL_TRANSFORMATION (self), NULL);
#line 400 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return PIXEL_TRANSFORMATION_GET_CLASS (self)->copy (self);
#line 3059 "ColorTransformation.c"
}


static void value_pixel_transformation_init (GValue* value) {
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	value->data[0].v_pointer = NULL;
#line 3066 "ColorTransformation.c"
}


static void value_pixel_transformation_free_value (GValue* value) {
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (value->data[0].v_pointer) {
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		pixel_transformation_unref (value->data[0].v_pointer);
#line 3075 "ColorTransformation.c"
	}
}


static void value_pixel_transformation_copy_value (const GValue* src_value, GValue* dest_value) {
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (src_value->data[0].v_pointer) {
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		dest_value->data[0].v_pointer = pixel_transformation_ref (src_value->data[0].v_pointer);
#line 3085 "ColorTransformation.c"
	} else {
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		dest_value->data[0].v_pointer = NULL;
#line 3089 "ColorTransformation.c"
	}
}


static gpointer value_pixel_transformation_peek_pointer (const GValue* value) {
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return value->data[0].v_pointer;
#line 3097 "ColorTransformation.c"
}


static gchar* value_pixel_transformation_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (collect_values[0].v_pointer) {
#line 3104 "ColorTransformation.c"
		PixelTransformation* object;
		object = collect_values[0].v_pointer;
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		if (object->parent_instance.g_class == NULL) {
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 3111 "ColorTransformation.c"
		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 3115 "ColorTransformation.c"
		}
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		value->data[0].v_pointer = pixel_transformation_ref (object);
#line 3119 "ColorTransformation.c"
	} else {
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		value->data[0].v_pointer = NULL;
#line 3123 "ColorTransformation.c"
	}
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return NULL;
#line 3127 "ColorTransformation.c"
}


static gchar* value_pixel_transformation_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
	PixelTransformation** object_p;
	object_p = collect_values[0].v_pointer;
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (!object_p) {
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
#line 3138 "ColorTransformation.c"
	}
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (!value->data[0].v_pointer) {
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		*object_p = NULL;
#line 3144 "ColorTransformation.c"
	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		*object_p = value->data[0].v_pointer;
#line 3148 "ColorTransformation.c"
	} else {
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		*object_p = pixel_transformation_ref (value->data[0].v_pointer);
#line 3152 "ColorTransformation.c"
	}
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return NULL;
#line 3156 "ColorTransformation.c"
}


GParamSpec* param_spec_pixel_transformation (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) {
	ParamSpecPixelTransformation* spec;
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (g_type_is_a (object_type, TYPE_PIXEL_TRANSFORMATION), NULL);
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	G_PARAM_SPEC (spec)->value_type = object_type;
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return G_PARAM_SPEC (spec);
#line 3170 "ColorTransformation.c"
}


gpointer value_get_pixel_transformation (const GValue* value) {
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PIXEL_TRANSFORMATION), NULL);
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return value->data[0].v_pointer;
#line 3179 "ColorTransformation.c"
}


void value_set_pixel_transformation (GValue* value, gpointer v_object) {
	PixelTransformation* old;
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PIXEL_TRANSFORMATION));
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	old = value->data[0].v_pointer;
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (v_object) {
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PIXEL_TRANSFORMATION));
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		value->data[0].v_pointer = v_object;
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		pixel_transformation_ref (value->data[0].v_pointer);
#line 3199 "ColorTransformation.c"
	} else {
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		value->data[0].v_pointer = NULL;
#line 3203 "ColorTransformation.c"
	}
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (old) {
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		pixel_transformation_unref (old);
#line 3209 "ColorTransformation.c"
	}
}


void value_take_pixel_transformation (GValue* value, gpointer v_object) {
	PixelTransformation* old;
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PIXEL_TRANSFORMATION));
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	old = value->data[0].v_pointer;
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (v_object) {
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PIXEL_TRANSFORMATION));
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		value->data[0].v_pointer = v_object;
#line 3228 "ColorTransformation.c"
	} else {
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		value->data[0].v_pointer = NULL;
#line 3232 "ColorTransformation.c"
	}
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (old) {
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		pixel_transformation_unref (old);
#line 3238 "ColorTransformation.c"
	}
}


static void pixel_transformation_class_init (PixelTransformationClass * klass) {
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	pixel_transformation_parent_class = g_type_class_peek_parent (klass);
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	((PixelTransformationClass *) klass)->finalize = pixel_transformation_finalize;
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_type_class_add_private (klass, sizeof (PixelTransformationPrivate));
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	((PixelTransformationClass *) klass)->get_preferred_format = pixel_transformation_real_get_preferred_format;
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	((PixelTransformationClass *) klass)->get_composition_mode = pixel_transformation_real_get_composition_mode;
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	((PixelTransformationClass *) klass)->compose_with = pixel_transformation_real_compose_with;
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	((PixelTransformationClass *) klass)->is_identity = pixel_transformation_real_is_identity;
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	((PixelTransformationClass *) klass)->transform_pixel_hsv = pixel_transformation_real_transform_pixel_hsv;
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	((PixelTransformationClass *) klass)->transform_pixel_rgb = pixel_transformation_real_transform_pixel_rgb;
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	((PixelTransformationClass *) klass)->to_string = pixel_transformation_real_to_string;
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	((PixelTransformationClass *) klass)->copy = pixel_transformation_real_copy;
#line 3266 "ColorTransformation.c"
}


static void pixel_transformation_instance_init (PixelTransformation * self) {
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv = PIXEL_TRANSFORMATION_GET_PRIVATE (self);
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->ref_count = 1;
#line 3275 "ColorTransformation.c"
}


static void pixel_transformation_finalize (PixelTransformation* obj) {
	PixelTransformation * self;
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PIXEL_TRANSFORMATION, PixelTransformation);
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_signal_handlers_destroy (self);
#line 3285 "ColorTransformation.c"
}


GType pixel_transformation_get_type (void) {
	static volatile gsize pixel_transformation_type_id__volatile = 0;
	if (g_once_init_enter (&pixel_transformation_type_id__volatile)) {
		static const GTypeValueTable g_define_type_value_table = { value_pixel_transformation_init, value_pixel_transformation_free_value, value_pixel_transformation_copy_value, value_pixel_transformation_peek_pointer, "p", value_pixel_transformation_collect_value, "p", value_pixel_transformation_lcopy_value };
		static const GTypeInfo g_define_type_info = { sizeof (PixelTransformationClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) pixel_transformation_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PixelTransformation), 0, (GInstanceInitFunc) pixel_transformation_instance_init, &g_define_type_value_table };
		static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) };
		GType pixel_transformation_type_id;
		pixel_transformation_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PixelTransformation", &g_define_type_info, &g_define_type_fundamental_info, G_TYPE_FLAG_ABSTRACT);
		g_once_init_leave (&pixel_transformation_type_id__volatile, pixel_transformation_type_id);
	}
	return pixel_transformation_type_id__volatile;
}


gpointer pixel_transformation_ref (gpointer instance) {
	PixelTransformation* self;
	self = instance;
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_atomic_int_inc (&self->ref_count);
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return instance;
#line 3310 "ColorTransformation.c"
}


void pixel_transformation_unref (gpointer instance) {
	PixelTransformation* self;
	self = instance;
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (g_atomic_int_dec_and_test (&self->ref_count)) {
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		PIXEL_TRANSFORMATION_GET_CLASS (self)->finalize (self);
#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		g_type_free_instance ((GTypeInstance *) self);
#line 3323 "ColorTransformation.c"
	}
}


RGBTransformation* rgb_transformation_construct (GType object_type, PixelTransformationType type) {
	RGBTransformation* self = NULL;
	PixelTransformationType _tmp0_ = 0;
	gfloat* _tmp1_ = NULL;
#line 413 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = type;
#line 413 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = (RGBTransformation*) pixel_transformation_construct (object_type, _tmp0_);
#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = g_new0 (gfloat, 16);
#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_[0] = 1.0f;
#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_[1] = 0.0f;
#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_[2] = 0.0f;
#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_[3] = 0.0f;
#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_[4] = 0.0f;
#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_[5] = 1.0f;
#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_[6] = 0.0f;
#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_[7] = 0.0f;
#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_[8] = 0.0f;
#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_[9] = 0.0f;
#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_[10] = 1.0f;
#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_[11] = 0.0f;
#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_[12] = 0.0f;
#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_[13] = 0.0f;
#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_[14] = 0.0f;
#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_[15] = 1.0f;
#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->matrix_entries = (g_free (self->matrix_entries), NULL);
#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->matrix_entries = _tmp1_;
#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->matrix_entries_length1 = 16;
#line 412 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return self;
#line 3378 "ColorTransformation.c"
}


RGBTransformation* rgb_transformation_new (PixelTransformationType type) {
#line 412 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return rgb_transformation_construct (TYPE_RGB_TRANSFORMATION, type);
#line 3385 "ColorTransformation.c"
}


static PixelFormat rgb_transformation_real_get_preferred_format (PixelTransformation* base) {
	RGBTransformation * self;
	PixelFormat result = 0;
#line 426 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RGB_TRANSFORMATION, RGBTransformation);
#line 427 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = PIXEL_FORMAT_RGB;
#line 427 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 3398 "ColorTransformation.c"
}


static CompositionMode rgb_transformation_real_get_composition_mode (PixelTransformation* base) {
	RGBTransformation * self;
	CompositionMode result = 0;
#line 430 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RGB_TRANSFORMATION, RGBTransformation);
#line 431 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = COMPOSITION_MODE_RGB_MATRIX;
#line 431 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 3411 "ColorTransformation.c"
}


static gpointer _pixel_transformation_ref0 (gpointer self) {
#line 439 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return self ? pixel_transformation_ref (self) : NULL;
#line 3418 "ColorTransformation.c"
}


static void rgb_transformation_real_compose_with (PixelTransformation* base, PixelTransformation* other) {
	RGBTransformation * self;
	PixelTransformation* _tmp0_ = NULL;
	CompositionMode _tmp1_ = 0;
	RGBTransformation* transform = NULL;
	PixelTransformation* _tmp2_ = NULL;
	RGBTransformation* _tmp3_ = NULL;
	gfloat* result_matrix_entries = NULL;
	gfloat* _tmp4_ = NULL;
	gint result_matrix_entries_length1 = 0;
	gint _result_matrix_entries_size_ = 0;
	gfloat* _tmp5_ = NULL;
	gint _tmp5__length1 = 0;
	RGBTransformation* _tmp6_ = NULL;
	gfloat* _tmp7_ = NULL;
	gint _tmp7__length1 = 0;
	gfloat _tmp8_ = 0.0F;
	gfloat* _tmp9_ = NULL;
	gint _tmp9__length1 = 0;
	gfloat _tmp10_ = 0.0F;
	RGBTransformation* _tmp11_ = NULL;
	gfloat* _tmp12_ = NULL;
	gint _tmp12__length1 = 0;
	gfloat _tmp13_ = 0.0F;
	gfloat* _tmp14_ = NULL;
	gint _tmp14__length1 = 0;
	gfloat _tmp15_ = 0.0F;
	RGBTransformation* _tmp16_ = NULL;
	gfloat* _tmp17_ = NULL;
	gint _tmp17__length1 = 0;
	gfloat _tmp18_ = 0.0F;
	gfloat* _tmp19_ = NULL;
	gint _tmp19__length1 = 0;
	gfloat _tmp20_ = 0.0F;
	RGBTransformation* _tmp21_ = NULL;
	gfloat* _tmp22_ = NULL;
	gint _tmp22__length1 = 0;
	gfloat _tmp23_ = 0.0F;
	gfloat* _tmp24_ = NULL;
	gint _tmp24__length1 = 0;
	gfloat _tmp25_ = 0.0F;
	gfloat _tmp26_ = 0.0F;
	gfloat* _tmp27_ = NULL;
	gint _tmp27__length1 = 0;
	RGBTransformation* _tmp28_ = NULL;
	gfloat* _tmp29_ = NULL;
	gint _tmp29__length1 = 0;
	gfloat _tmp30_ = 0.0F;
	gfloat* _tmp31_ = NULL;
	gint _tmp31__length1 = 0;
	gfloat _tmp32_ = 0.0F;
	RGBTransformation* _tmp33_ = NULL;
	gfloat* _tmp34_ = NULL;
	gint _tmp34__length1 = 0;
	gfloat _tmp35_ = 0.0F;
	gfloat* _tmp36_ = NULL;
	gint _tmp36__length1 = 0;
	gfloat _tmp37_ = 0.0F;
	RGBTransformation* _tmp38_ = NULL;
	gfloat* _tmp39_ = NULL;
	gint _tmp39__length1 = 0;
	gfloat _tmp40_ = 0.0F;
	gfloat* _tmp41_ = NULL;
	gint _tmp41__length1 = 0;
	gfloat _tmp42_ = 0.0F;
	RGBTransformation* _tmp43_ = NULL;
	gfloat* _tmp44_ = NULL;
	gint _tmp44__length1 = 0;
	gfloat _tmp45_ = 0.0F;
	gfloat* _tmp46_ = NULL;
	gint _tmp46__length1 = 0;
	gfloat _tmp47_ = 0.0F;
	gfloat _tmp48_ = 0.0F;
	gfloat* _tmp49_ = NULL;
	gint _tmp49__length1 = 0;
	RGBTransformation* _tmp50_ = NULL;
	gfloat* _tmp51_ = NULL;
	gint _tmp51__length1 = 0;
	gfloat _tmp52_ = 0.0F;
	gfloat* _tmp53_ = NULL;
	gint _tmp53__length1 = 0;
	gfloat _tmp54_ = 0.0F;
	RGBTransformation* _tmp55_ = NULL;
	gfloat* _tmp56_ = NULL;
	gint _tmp56__length1 = 0;
	gfloat _tmp57_ = 0.0F;
	gfloat* _tmp58_ = NULL;
	gint _tmp58__length1 = 0;
	gfloat _tmp59_ = 0.0F;
	RGBTransformation* _tmp60_ = NULL;
	gfloat* _tmp61_ = NULL;
	gint _tmp61__length1 = 0;
	gfloat _tmp62_ = 0.0F;
	gfloat* _tmp63_ = NULL;
	gint _tmp63__length1 = 0;
	gfloat _tmp64_ = 0.0F;
	RGBTransformation* _tmp65_ = NULL;
	gfloat* _tmp66_ = NULL;
	gint _tmp66__length1 = 0;
	gfloat _tmp67_ = 0.0F;
	gfloat* _tmp68_ = NULL;
	gint _tmp68__length1 = 0;
	gfloat _tmp69_ = 0.0F;
	gfloat _tmp70_ = 0.0F;
	gfloat* _tmp71_ = NULL;
	gint _tmp71__length1 = 0;
	RGBTransformation* _tmp72_ = NULL;
	gfloat* _tmp73_ = NULL;
	gint _tmp73__length1 = 0;
	gfloat _tmp74_ = 0.0F;
	gfloat* _tmp75_ = NULL;
	gint _tmp75__length1 = 0;
	gfloat _tmp76_ = 0.0F;
	RGBTransformation* _tmp77_ = NULL;
	gfloat* _tmp78_ = NULL;
	gint _tmp78__length1 = 0;
	gfloat _tmp79_ = 0.0F;
	gfloat* _tmp80_ = NULL;
	gint _tmp80__length1 = 0;
	gfloat _tmp81_ = 0.0F;
	RGBTransformation* _tmp82_ = NULL;
	gfloat* _tmp83_ = NULL;
	gint _tmp83__length1 = 0;
	gfloat _tmp84_ = 0.0F;
	gfloat* _tmp85_ = NULL;
	gint _tmp85__length1 = 0;
	gfloat _tmp86_ = 0.0F;
	RGBTransformation* _tmp87_ = NULL;
	gfloat* _tmp88_ = NULL;
	gint _tmp88__length1 = 0;
	gfloat _tmp89_ = 0.0F;
	gfloat* _tmp90_ = NULL;
	gint _tmp90__length1 = 0;
	gfloat _tmp91_ = 0.0F;
	gfloat _tmp92_ = 0.0F;
	gfloat* _tmp93_ = NULL;
	gint _tmp93__length1 = 0;
	RGBTransformation* _tmp94_ = NULL;
	gfloat* _tmp95_ = NULL;
	gint _tmp95__length1 = 0;
	gfloat _tmp96_ = 0.0F;
	gfloat* _tmp97_ = NULL;
	gint _tmp97__length1 = 0;
	gfloat _tmp98_ = 0.0F;
	RGBTransformation* _tmp99_ = NULL;
	gfloat* _tmp100_ = NULL;
	gint _tmp100__length1 = 0;
	gfloat _tmp101_ = 0.0F;
	gfloat* _tmp102_ = NULL;
	gint _tmp102__length1 = 0;
	gfloat _tmp103_ = 0.0F;
	RGBTransformation* _tmp104_ = NULL;
	gfloat* _tmp105_ = NULL;
	gint _tmp105__length1 = 0;
	gfloat _tmp106_ = 0.0F;
	gfloat* _tmp107_ = NULL;
	gint _tmp107__length1 = 0;
	gfloat _tmp108_ = 0.0F;
	RGBTransformation* _tmp109_ = NULL;
	gfloat* _tmp110_ = NULL;
	gint _tmp110__length1 = 0;
	gfloat _tmp111_ = 0.0F;
	gfloat* _tmp112_ = NULL;
	gint _tmp112__length1 = 0;
	gfloat _tmp113_ = 0.0F;
	gfloat _tmp114_ = 0.0F;
	gfloat* _tmp115_ = NULL;
	gint _tmp115__length1 = 0;
	RGBTransformation* _tmp116_ = NULL;
	gfloat* _tmp117_ = NULL;
	gint _tmp117__length1 = 0;
	gfloat _tmp118_ = 0.0F;
	gfloat* _tmp119_ = NULL;
	gint _tmp119__length1 = 0;
	gfloat _tmp120_ = 0.0F;
	RGBTransformation* _tmp121_ = NULL;
	gfloat* _tmp122_ = NULL;
	gint _tmp122__length1 = 0;
	gfloat _tmp123_ = 0.0F;
	gfloat* _tmp124_ = NULL;
	gint _tmp124__length1 = 0;
	gfloat _tmp125_ = 0.0F;
	RGBTransformation* _tmp126_ = NULL;
	gfloat* _tmp127_ = NULL;
	gint _tmp127__length1 = 0;
	gfloat _tmp128_ = 0.0F;
	gfloat* _tmp129_ = NULL;
	gint _tmp129__length1 = 0;
	gfloat _tmp130_ = 0.0F;
	RGBTransformation* _tmp131_ = NULL;
	gfloat* _tmp132_ = NULL;
	gint _tmp132__length1 = 0;
	gfloat _tmp133_ = 0.0F;
	gfloat* _tmp134_ = NULL;
	gint _tmp134__length1 = 0;
	gfloat _tmp135_ = 0.0F;
	gfloat _tmp136_ = 0.0F;
	gfloat* _tmp137_ = NULL;
	gint _tmp137__length1 = 0;
	RGBTransformation* _tmp138_ = NULL;
	gfloat* _tmp139_ = NULL;
	gint _tmp139__length1 = 0;
	gfloat _tmp140_ = 0.0F;
	gfloat* _tmp141_ = NULL;
	gint _tmp141__length1 = 0;
	gfloat _tmp142_ = 0.0F;
	RGBTransformation* _tmp143_ = NULL;
	gfloat* _tmp144_ = NULL;
	gint _tmp144__length1 = 0;
	gfloat _tmp145_ = 0.0F;
	gfloat* _tmp146_ = NULL;
	gint _tmp146__length1 = 0;
	gfloat _tmp147_ = 0.0F;
	RGBTransformation* _tmp148_ = NULL;
	gfloat* _tmp149_ = NULL;
	gint _tmp149__length1 = 0;
	gfloat _tmp150_ = 0.0F;
	gfloat* _tmp151_ = NULL;
	gint _tmp151__length1 = 0;
	gfloat _tmp152_ = 0.0F;
	RGBTransformation* _tmp153_ = NULL;
	gfloat* _tmp154_ = NULL;
	gint _tmp154__length1 = 0;
	gfloat _tmp155_ = 0.0F;
	gfloat* _tmp156_ = NULL;
	gint _tmp156__length1 = 0;
	gfloat _tmp157_ = 0.0F;
	gfloat _tmp158_ = 0.0F;
	gfloat* _tmp159_ = NULL;
	gint _tmp159__length1 = 0;
	RGBTransformation* _tmp160_ = NULL;
	gfloat* _tmp161_ = NULL;
	gint _tmp161__length1 = 0;
	gfloat _tmp162_ = 0.0F;
	gfloat* _tmp163_ = NULL;
	gint _tmp163__length1 = 0;
	gfloat _tmp164_ = 0.0F;
	RGBTransformation* _tmp165_ = NULL;
	gfloat* _tmp166_ = NULL;
	gint _tmp166__length1 = 0;
	gfloat _tmp167_ = 0.0F;
	gfloat* _tmp168_ = NULL;
	gint _tmp168__length1 = 0;
	gfloat _tmp169_ = 0.0F;
	RGBTransformation* _tmp170_ = NULL;
	gfloat* _tmp171_ = NULL;
	gint _tmp171__length1 = 0;
	gfloat _tmp172_ = 0.0F;
	gfloat* _tmp173_ = NULL;
	gint _tmp173__length1 = 0;
	gfloat _tmp174_ = 0.0F;
	RGBTransformation* _tmp175_ = NULL;
	gfloat* _tmp176_ = NULL;
	gint _tmp176__length1 = 0;
	gfloat _tmp177_ = 0.0F;
	gfloat* _tmp178_ = NULL;
	gint _tmp178__length1 = 0;
	gfloat _tmp179_ = 0.0F;
	gfloat _tmp180_ = 0.0F;
	gfloat* _tmp181_ = NULL;
	gint _tmp181__length1 = 0;
	RGBTransformation* _tmp182_ = NULL;
	gfloat* _tmp183_ = NULL;
	gint _tmp183__length1 = 0;
	gfloat _tmp184_ = 0.0F;
	gfloat* _tmp185_ = NULL;
	gint _tmp185__length1 = 0;
	gfloat _tmp186_ = 0.0F;
	RGBTransformation* _tmp187_ = NULL;
	gfloat* _tmp188_ = NULL;
	gint _tmp188__length1 = 0;
	gfloat _tmp189_ = 0.0F;
	gfloat* _tmp190_ = NULL;
	gint _tmp190__length1 = 0;
	gfloat _tmp191_ = 0.0F;
	RGBTransformation* _tmp192_ = NULL;
	gfloat* _tmp193_ = NULL;
	gint _tmp193__length1 = 0;
	gfloat _tmp194_ = 0.0F;
	gfloat* _tmp195_ = NULL;
	gint _tmp195__length1 = 0;
	gfloat _tmp196_ = 0.0F;
	RGBTransformation* _tmp197_ = NULL;
	gfloat* _tmp198_ = NULL;
	gint _tmp198__length1 = 0;
	gfloat _tmp199_ = 0.0F;
	gfloat* _tmp200_ = NULL;
	gint _tmp200__length1 = 0;
	gfloat _tmp201_ = 0.0F;
	gfloat _tmp202_ = 0.0F;
	gfloat* _tmp203_ = NULL;
	gint _tmp203__length1 = 0;
	RGBTransformation* _tmp204_ = NULL;
	gfloat* _tmp205_ = NULL;
	gint _tmp205__length1 = 0;
	gfloat _tmp206_ = 0.0F;
	gfloat* _tmp207_ = NULL;
	gint _tmp207__length1 = 0;
	gfloat _tmp208_ = 0.0F;
	RGBTransformation* _tmp209_ = NULL;
	gfloat* _tmp210_ = NULL;
	gint _tmp210__length1 = 0;
	gfloat _tmp211_ = 0.0F;
	gfloat* _tmp212_ = NULL;
	gint _tmp212__length1 = 0;
	gfloat _tmp213_ = 0.0F;
	RGBTransformation* _tmp214_ = NULL;
	gfloat* _tmp215_ = NULL;
	gint _tmp215__length1 = 0;
	gfloat _tmp216_ = 0.0F;
	gfloat* _tmp217_ = NULL;
	gint _tmp217__length1 = 0;
	gfloat _tmp218_ = 0.0F;
	RGBTransformation* _tmp219_ = NULL;
	gfloat* _tmp220_ = NULL;
	gint _tmp220__length1 = 0;
	gfloat _tmp221_ = 0.0F;
	gfloat* _tmp222_ = NULL;
	gint _tmp222__length1 = 0;
	gfloat _tmp223_ = 0.0F;
	gfloat _tmp224_ = 0.0F;
	gfloat* _tmp225_ = NULL;
	gint _tmp225__length1 = 0;
	RGBTransformation* _tmp226_ = NULL;
	gfloat* _tmp227_ = NULL;
	gint _tmp227__length1 = 0;
	gfloat _tmp228_ = 0.0F;
	gfloat* _tmp229_ = NULL;
	gint _tmp229__length1 = 0;
	gfloat _tmp230_ = 0.0F;
	RGBTransformation* _tmp231_ = NULL;
	gfloat* _tmp232_ = NULL;
	gint _tmp232__length1 = 0;
	gfloat _tmp233_ = 0.0F;
	gfloat* _tmp234_ = NULL;
	gint _tmp234__length1 = 0;
	gfloat _tmp235_ = 0.0F;
	RGBTransformation* _tmp236_ = NULL;
	gfloat* _tmp237_ = NULL;
	gint _tmp237__length1 = 0;
	gfloat _tmp238_ = 0.0F;
	gfloat* _tmp239_ = NULL;
	gint _tmp239__length1 = 0;
	gfloat _tmp240_ = 0.0F;
	RGBTransformation* _tmp241_ = NULL;
	gfloat* _tmp242_ = NULL;
	gint _tmp242__length1 = 0;
	gfloat _tmp243_ = 0.0F;
	gfloat* _tmp244_ = NULL;
	gint _tmp244__length1 = 0;
	gfloat _tmp245_ = 0.0F;
	gfloat _tmp246_ = 0.0F;
	gfloat* _tmp247_ = NULL;
	gint _tmp247__length1 = 0;
	RGBTransformation* _tmp248_ = NULL;
	gfloat* _tmp249_ = NULL;
	gint _tmp249__length1 = 0;
	gfloat _tmp250_ = 0.0F;
	gfloat* _tmp251_ = NULL;
	gint _tmp251__length1 = 0;
	gfloat _tmp252_ = 0.0F;
	RGBTransformation* _tmp253_ = NULL;
	gfloat* _tmp254_ = NULL;
	gint _tmp254__length1 = 0;
	gfloat _tmp255_ = 0.0F;
	gfloat* _tmp256_ = NULL;
	gint _tmp256__length1 = 0;
	gfloat _tmp257_ = 0.0F;
	RGBTransformation* _tmp258_ = NULL;
	gfloat* _tmp259_ = NULL;
	gint _tmp259__length1 = 0;
	gfloat _tmp260_ = 0.0F;
	gfloat* _tmp261_ = NULL;
	gint _tmp261__length1 = 0;
	gfloat _tmp262_ = 0.0F;
	RGBTransformation* _tmp263_ = NULL;
	gfloat* _tmp264_ = NULL;
	gint _tmp264__length1 = 0;
	gfloat _tmp265_ = 0.0F;
	gfloat* _tmp266_ = NULL;
	gint _tmp266__length1 = 0;
	gfloat _tmp267_ = 0.0F;
	gfloat _tmp268_ = 0.0F;
	gfloat* _tmp269_ = NULL;
	gint _tmp269__length1 = 0;
	RGBTransformation* _tmp270_ = NULL;
	gfloat* _tmp271_ = NULL;
	gint _tmp271__length1 = 0;
	gfloat _tmp272_ = 0.0F;
	gfloat* _tmp273_ = NULL;
	gint _tmp273__length1 = 0;
	gfloat _tmp274_ = 0.0F;
	RGBTransformation* _tmp275_ = NULL;
	gfloat* _tmp276_ = NULL;
	gint _tmp276__length1 = 0;
	gfloat _tmp277_ = 0.0F;
	gfloat* _tmp278_ = NULL;
	gint _tmp278__length1 = 0;
	gfloat _tmp279_ = 0.0F;
	RGBTransformation* _tmp280_ = NULL;
	gfloat* _tmp281_ = NULL;
	gint _tmp281__length1 = 0;
	gfloat _tmp282_ = 0.0F;
	gfloat* _tmp283_ = NULL;
	gint _tmp283__length1 = 0;
	gfloat _tmp284_ = 0.0F;
	RGBTransformation* _tmp285_ = NULL;
	gfloat* _tmp286_ = NULL;
	gint _tmp286__length1 = 0;
	gfloat _tmp287_ = 0.0F;
	gfloat* _tmp288_ = NULL;
	gint _tmp288__length1 = 0;
	gfloat _tmp289_ = 0.0F;
	gfloat _tmp290_ = 0.0F;
	gfloat* _tmp291_ = NULL;
	gint _tmp291__length1 = 0;
	RGBTransformation* _tmp292_ = NULL;
	gfloat* _tmp293_ = NULL;
	gint _tmp293__length1 = 0;
	gfloat _tmp294_ = 0.0F;
	gfloat* _tmp295_ = NULL;
	gint _tmp295__length1 = 0;
	gfloat _tmp296_ = 0.0F;
	RGBTransformation* _tmp297_ = NULL;
	gfloat* _tmp298_ = NULL;
	gint _tmp298__length1 = 0;
	gfloat _tmp299_ = 0.0F;
	gfloat* _tmp300_ = NULL;
	gint _tmp300__length1 = 0;
	gfloat _tmp301_ = 0.0F;
	RGBTransformation* _tmp302_ = NULL;
	gfloat* _tmp303_ = NULL;
	gint _tmp303__length1 = 0;
	gfloat _tmp304_ = 0.0F;
	gfloat* _tmp305_ = NULL;
	gint _tmp305__length1 = 0;
	gfloat _tmp306_ = 0.0F;
	RGBTransformation* _tmp307_ = NULL;
	gfloat* _tmp308_ = NULL;
	gint _tmp308__length1 = 0;
	gfloat _tmp309_ = 0.0F;
	gfloat* _tmp310_ = NULL;
	gint _tmp310__length1 = 0;
	gfloat _tmp311_ = 0.0F;
	gfloat _tmp312_ = 0.0F;
	gfloat* _tmp313_ = NULL;
	gint _tmp313__length1 = 0;
	RGBTransformation* _tmp314_ = NULL;
	gfloat* _tmp315_ = NULL;
	gint _tmp315__length1 = 0;
	gfloat _tmp316_ = 0.0F;
	gfloat* _tmp317_ = NULL;
	gint _tmp317__length1 = 0;
	gfloat _tmp318_ = 0.0F;
	RGBTransformation* _tmp319_ = NULL;
	gfloat* _tmp320_ = NULL;
	gint _tmp320__length1 = 0;
	gfloat _tmp321_ = 0.0F;
	gfloat* _tmp322_ = NULL;
	gint _tmp322__length1 = 0;
	gfloat _tmp323_ = 0.0F;
	RGBTransformation* _tmp324_ = NULL;
	gfloat* _tmp325_ = NULL;
	gint _tmp325__length1 = 0;
	gfloat _tmp326_ = 0.0F;
	gfloat* _tmp327_ = NULL;
	gint _tmp327__length1 = 0;
	gfloat _tmp328_ = 0.0F;
	RGBTransformation* _tmp329_ = NULL;
	gfloat* _tmp330_ = NULL;
	gint _tmp330__length1 = 0;
	gfloat _tmp331_ = 0.0F;
	gfloat* _tmp332_ = NULL;
	gint _tmp332__length1 = 0;
	gfloat _tmp333_ = 0.0F;
	gfloat _tmp334_ = 0.0F;
	gfloat* _tmp335_ = NULL;
	gint _tmp335__length1 = 0;
	RGBTransformation* _tmp336_ = NULL;
	gfloat* _tmp337_ = NULL;
	gint _tmp337__length1 = 0;
	gfloat _tmp338_ = 0.0F;
	gfloat* _tmp339_ = NULL;
	gint _tmp339__length1 = 0;
	gfloat _tmp340_ = 0.0F;
	RGBTransformation* _tmp341_ = NULL;
	gfloat* _tmp342_ = NULL;
	gint _tmp342__length1 = 0;
	gfloat _tmp343_ = 0.0F;
	gfloat* _tmp344_ = NULL;
	gint _tmp344__length1 = 0;
	gfloat _tmp345_ = 0.0F;
	RGBTransformation* _tmp346_ = NULL;
	gfloat* _tmp347_ = NULL;
	gint _tmp347__length1 = 0;
	gfloat _tmp348_ = 0.0F;
	gfloat* _tmp349_ = NULL;
	gint _tmp349__length1 = 0;
	gfloat _tmp350_ = 0.0F;
	RGBTransformation* _tmp351_ = NULL;
	gfloat* _tmp352_ = NULL;
	gint _tmp352__length1 = 0;
	gfloat _tmp353_ = 0.0F;
	gfloat* _tmp354_ = NULL;
	gint _tmp354__length1 = 0;
	gfloat _tmp355_ = 0.0F;
	gfloat _tmp356_ = 0.0F;
	gboolean _tmp366_ = FALSE;
	gboolean _tmp367_ = FALSE;
#line 434 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RGB_TRANSFORMATION, RGBTransformation);
#line 434 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (IS_PIXEL_TRANSFORMATION (other));
#line 435 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = other;
#line 435 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = pixel_transformation_get_composition_mode (_tmp0_);
#line 435 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (_tmp1_ != COMPOSITION_MODE_RGB_MATRIX) {
#line 436 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		g_error ("ColorTransformation.vala:436: %s", "RGBTransformation: compose_with( ): 'other' transformation " "does not support RGB_MATRIX composition mode");
#line 3943 "ColorTransformation.c"
	}
#line 439 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = other;
#line 439 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp3_ = _pixel_transformation_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_RGB_TRANSFORMATION, RGBTransformation));
#line 439 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	transform = _tmp3_;
#line 441 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp4_ = g_new0 (gfloat, 16);
#line 441 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result_matrix_entries = _tmp4_;
#line 441 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result_matrix_entries_length1 = 16;
#line 441 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_result_matrix_entries_size_ = result_matrix_entries_length1;
#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp5_ = result_matrix_entries;
#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp5__length1 = result_matrix_entries_length1;
#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp6_ = transform;
#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp7_ = _tmp6_->matrix_entries;
#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp7__length1 = _tmp6_->matrix_entries_length1;
#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp8_ = _tmp7_[0];
#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp9_ = self->matrix_entries;
#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp9__length1 = self->matrix_entries_length1;
#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp10_ = _tmp9_[0];
#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp11_ = transform;
#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp12_ = _tmp11_->matrix_entries;
#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp12__length1 = _tmp11_->matrix_entries_length1;
#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp13_ = _tmp12_[1];
#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp14_ = self->matrix_entries;
#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp14__length1 = self->matrix_entries_length1;
#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp15_ = _tmp14_[4];
#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp16_ = transform;
#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp17_ = _tmp16_->matrix_entries;
#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp17__length1 = _tmp16_->matrix_entries_length1;
#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp18_ = _tmp17_[2];
#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp19_ = self->matrix_entries;
#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp19__length1 = self->matrix_entries_length1;
#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp20_ = _tmp19_[8];
#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp21_ = transform;
#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp22_ = _tmp21_->matrix_entries;
#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp22__length1 = _tmp21_->matrix_entries_length1;
#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp23_ = _tmp22_[3];
#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp24_ = self->matrix_entries;
#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp24__length1 = self->matrix_entries_length1;
#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp25_ = _tmp24_[12];
#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp5_[0] = (((_tmp8_ * _tmp10_) + (_tmp13_ * _tmp15_)) + (_tmp18_ * _tmp20_)) + (_tmp23_ * _tmp25_);
#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp26_ = _tmp5_[0];
#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp27_ = result_matrix_entries;
#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp27__length1 = result_matrix_entries_length1;
#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp28_ = transform;
#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp29_ = _tmp28_->matrix_entries;
#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp29__length1 = _tmp28_->matrix_entries_length1;
#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp30_ = _tmp29_[0];
#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp31_ = self->matrix_entries;
#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp31__length1 = self->matrix_entries_length1;
#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp32_ = _tmp31_[1];
#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp33_ = transform;
#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp34_ = _tmp33_->matrix_entries;
#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp34__length1 = _tmp33_->matrix_entries_length1;
#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp35_ = _tmp34_[1];
#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp36_ = self->matrix_entries;
#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp36__length1 = self->matrix_entries_length1;
#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp37_ = _tmp36_[5];
#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp38_ = transform;
#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp39_ = _tmp38_->matrix_entries;
#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp39__length1 = _tmp38_->matrix_entries_length1;
#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp40_ = _tmp39_[2];
#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp41_ = self->matrix_entries;
#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp41__length1 = self->matrix_entries_length1;
#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp42_ = _tmp41_[9];
#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp43_ = transform;
#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp44_ = _tmp43_->matrix_entries;
#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp44__length1 = _tmp43_->matrix_entries_length1;
#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp45_ = _tmp44_[3];
#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp46_ = self->matrix_entries;
#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp46__length1 = self->matrix_entries_length1;
#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp47_ = _tmp46_[13];
#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp27_[1] = (((_tmp30_ * _tmp32_) + (_tmp35_ * _tmp37_)) + (_tmp40_ * _tmp42_)) + (_tmp45_ * _tmp47_);
#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp48_ = _tmp27_[1];
#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp49_ = result_matrix_entries;
#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp49__length1 = result_matrix_entries_length1;
#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp50_ = transform;
#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp51_ = _tmp50_->matrix_entries;
#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp51__length1 = _tmp50_->matrix_entries_length1;
#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp52_ = _tmp51_[0];
#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp53_ = self->matrix_entries;
#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp53__length1 = self->matrix_entries_length1;
#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp54_ = _tmp53_[2];
#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp55_ = transform;
#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp56_ = _tmp55_->matrix_entries;
#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp56__length1 = _tmp55_->matrix_entries_length1;
#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp57_ = _tmp56_[1];
#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp58_ = self->matrix_entries;
#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp58__length1 = self->matrix_entries_length1;
#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp59_ = _tmp58_[6];
#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp60_ = transform;
#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp61_ = _tmp60_->matrix_entries;
#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp61__length1 = _tmp60_->matrix_entries_length1;
#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp62_ = _tmp61_[2];
#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp63_ = self->matrix_entries;
#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp63__length1 = self->matrix_entries_length1;
#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp64_ = _tmp63_[10];
#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp65_ = transform;
#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp66_ = _tmp65_->matrix_entries;
#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp66__length1 = _tmp65_->matrix_entries_length1;
#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp67_ = _tmp66_[3];
#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp68_ = self->matrix_entries;
#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp68__length1 = self->matrix_entries_length1;
#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp69_ = _tmp68_[14];
#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp49_[2] = (((_tmp52_ * _tmp54_) + (_tmp57_ * _tmp59_)) + (_tmp62_ * _tmp64_)) + (_tmp67_ * _tmp69_);
#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp70_ = _tmp49_[2];
#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp71_ = result_matrix_entries;
#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp71__length1 = result_matrix_entries_length1;
#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp72_ = transform;
#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp73_ = _tmp72_->matrix_entries;
#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp73__length1 = _tmp72_->matrix_entries_length1;
#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp74_ = _tmp73_[0];
#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp75_ = self->matrix_entries;
#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp75__length1 = self->matrix_entries_length1;
#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp76_ = _tmp75_[3];
#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp77_ = transform;
#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp78_ = _tmp77_->matrix_entries;
#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp78__length1 = _tmp77_->matrix_entries_length1;
#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp79_ = _tmp78_[1];
#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp80_ = self->matrix_entries;
#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp80__length1 = self->matrix_entries_length1;
#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp81_ = _tmp80_[7];
#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp82_ = transform;
#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp83_ = _tmp82_->matrix_entries;
#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp83__length1 = _tmp82_->matrix_entries_length1;
#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp84_ = _tmp83_[2];
#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp85_ = self->matrix_entries;
#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp85__length1 = self->matrix_entries_length1;
#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp86_ = _tmp85_[11];
#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp87_ = transform;
#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp88_ = _tmp87_->matrix_entries;
#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp88__length1 = _tmp87_->matrix_entries_length1;
#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp89_ = _tmp88_[3];
#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp90_ = self->matrix_entries;
#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp90__length1 = self->matrix_entries_length1;
#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp91_ = _tmp90_[15];
#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp71_[3] = (((_tmp74_ * _tmp76_) + (_tmp79_ * _tmp81_)) + (_tmp84_ * _tmp86_)) + (_tmp89_ * _tmp91_);
#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp92_ = _tmp71_[3];
#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp93_ = result_matrix_entries;
#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp93__length1 = result_matrix_entries_length1;
#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp94_ = transform;
#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp95_ = _tmp94_->matrix_entries;
#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp95__length1 = _tmp94_->matrix_entries_length1;
#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp96_ = _tmp95_[4];
#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp97_ = self->matrix_entries;
#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp97__length1 = self->matrix_entries_length1;
#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp98_ = _tmp97_[0];
#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp99_ = transform;
#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp100_ = _tmp99_->matrix_entries;
#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp100__length1 = _tmp99_->matrix_entries_length1;
#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp101_ = _tmp100_[5];
#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp102_ = self->matrix_entries;
#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp102__length1 = self->matrix_entries_length1;
#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp103_ = _tmp102_[4];
#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp104_ = transform;
#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp105_ = _tmp104_->matrix_entries;
#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp105__length1 = _tmp104_->matrix_entries_length1;
#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp106_ = _tmp105_[6];
#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp107_ = self->matrix_entries;
#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp107__length1 = self->matrix_entries_length1;
#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp108_ = _tmp107_[8];
#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp109_ = transform;
#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp110_ = _tmp109_->matrix_entries;
#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp110__length1 = _tmp109_->matrix_entries_length1;
#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp111_ = _tmp110_[7];
#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp112_ = self->matrix_entries;
#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp112__length1 = self->matrix_entries_length1;
#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp113_ = _tmp112_[12];
#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp93_[4] = (((_tmp96_ * _tmp98_) + (_tmp101_ * _tmp103_)) + (_tmp106_ * _tmp108_)) + (_tmp111_ * _tmp113_);
#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp114_ = _tmp93_[4];
#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp115_ = result_matrix_entries;
#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp115__length1 = result_matrix_entries_length1;
#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp116_ = transform;
#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp117_ = _tmp116_->matrix_entries;
#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp117__length1 = _tmp116_->matrix_entries_length1;
#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp118_ = _tmp117_[4];
#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp119_ = self->matrix_entries;
#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp119__length1 = self->matrix_entries_length1;
#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp120_ = _tmp119_[1];
#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp121_ = transform;
#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp122_ = _tmp121_->matrix_entries;
#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp122__length1 = _tmp121_->matrix_entries_length1;
#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp123_ = _tmp122_[5];
#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp124_ = self->matrix_entries;
#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp124__length1 = self->matrix_entries_length1;
#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp125_ = _tmp124_[5];
#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp126_ = transform;
#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp127_ = _tmp126_->matrix_entries;
#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp127__length1 = _tmp126_->matrix_entries_length1;
#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp128_ = _tmp127_[6];
#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp129_ = self->matrix_entries;
#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp129__length1 = self->matrix_entries_length1;
#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp130_ = _tmp129_[9];
#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp131_ = transform;
#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp132_ = _tmp131_->matrix_entries;
#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp132__length1 = _tmp131_->matrix_entries_length1;
#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp133_ = _tmp132_[7];
#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp134_ = self->matrix_entries;
#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp134__length1 = self->matrix_entries_length1;
#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp135_ = _tmp134_[13];
#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp115_[5] = (((_tmp118_ * _tmp120_) + (_tmp123_ * _tmp125_)) + (_tmp128_ * _tmp130_)) + (_tmp133_ * _tmp135_);
#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp136_ = _tmp115_[5];
#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp137_ = result_matrix_entries;
#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp137__length1 = result_matrix_entries_length1;
#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp138_ = transform;
#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp139_ = _tmp138_->matrix_entries;
#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp139__length1 = _tmp138_->matrix_entries_length1;
#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp140_ = _tmp139_[4];
#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp141_ = self->matrix_entries;
#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp141__length1 = self->matrix_entries_length1;
#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp142_ = _tmp141_[2];
#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp143_ = transform;
#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp144_ = _tmp143_->matrix_entries;
#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp144__length1 = _tmp143_->matrix_entries_length1;
#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp145_ = _tmp144_[5];
#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp146_ = self->matrix_entries;
#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp146__length1 = self->matrix_entries_length1;
#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp147_ = _tmp146_[6];
#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp148_ = transform;
#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp149_ = _tmp148_->matrix_entries;
#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp149__length1 = _tmp148_->matrix_entries_length1;
#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp150_ = _tmp149_[6];
#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp151_ = self->matrix_entries;
#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp151__length1 = self->matrix_entries_length1;
#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp152_ = _tmp151_[10];
#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp153_ = transform;
#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp154_ = _tmp153_->matrix_entries;
#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp154__length1 = _tmp153_->matrix_entries_length1;
#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp155_ = _tmp154_[7];
#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp156_ = self->matrix_entries;
#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp156__length1 = self->matrix_entries_length1;
#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp157_ = _tmp156_[14];
#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp137_[6] = (((_tmp140_ * _tmp142_) + (_tmp145_ * _tmp147_)) + (_tmp150_ * _tmp152_)) + (_tmp155_ * _tmp157_);
#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp158_ = _tmp137_[6];
#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp159_ = result_matrix_entries;
#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp159__length1 = result_matrix_entries_length1;
#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp160_ = transform;
#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp161_ = _tmp160_->matrix_entries;
#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp161__length1 = _tmp160_->matrix_entries_length1;
#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp162_ = _tmp161_[4];
#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp163_ = self->matrix_entries;
#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp163__length1 = self->matrix_entries_length1;
#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp164_ = _tmp163_[3];
#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp165_ = transform;
#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp166_ = _tmp165_->matrix_entries;
#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp166__length1 = _tmp165_->matrix_entries_length1;
#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp167_ = _tmp166_[5];
#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp168_ = self->matrix_entries;
#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp168__length1 = self->matrix_entries_length1;
#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp169_ = _tmp168_[7];
#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp170_ = transform;
#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp171_ = _tmp170_->matrix_entries;
#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp171__length1 = _tmp170_->matrix_entries_length1;
#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp172_ = _tmp171_[6];
#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp173_ = self->matrix_entries;
#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp173__length1 = self->matrix_entries_length1;
#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp174_ = _tmp173_[11];
#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp175_ = transform;
#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp176_ = _tmp175_->matrix_entries;
#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp176__length1 = _tmp175_->matrix_entries_length1;
#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp177_ = _tmp176_[7];
#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp178_ = self->matrix_entries;
#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp178__length1 = self->matrix_entries_length1;
#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp179_ = _tmp178_[15];
#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp159_[7] = (((_tmp162_ * _tmp164_) + (_tmp167_ * _tmp169_)) + (_tmp172_ * _tmp174_)) + (_tmp177_ * _tmp179_);
#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp180_ = _tmp159_[7];
#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp181_ = result_matrix_entries;
#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp181__length1 = result_matrix_entries_length1;
#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp182_ = transform;
#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp183_ = _tmp182_->matrix_entries;
#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp183__length1 = _tmp182_->matrix_entries_length1;
#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp184_ = _tmp183_[8];
#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp185_ = self->matrix_entries;
#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp185__length1 = self->matrix_entries_length1;
#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp186_ = _tmp185_[0];
#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp187_ = transform;
#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp188_ = _tmp187_->matrix_entries;
#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp188__length1 = _tmp187_->matrix_entries_length1;
#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp189_ = _tmp188_[9];
#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp190_ = self->matrix_entries;
#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp190__length1 = self->matrix_entries_length1;
#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp191_ = _tmp190_[4];
#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp192_ = transform;
#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp193_ = _tmp192_->matrix_entries;
#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp193__length1 = _tmp192_->matrix_entries_length1;
#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp194_ = _tmp193_[10];
#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp195_ = self->matrix_entries;
#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp195__length1 = self->matrix_entries_length1;
#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp196_ = _tmp195_[8];
#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp197_ = transform;
#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp198_ = _tmp197_->matrix_entries;
#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp198__length1 = _tmp197_->matrix_entries_length1;
#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp199_ = _tmp198_[11];
#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp200_ = self->matrix_entries;
#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp200__length1 = self->matrix_entries_length1;
#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp201_ = _tmp200_[12];
#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp181_[8] = (((_tmp184_ * _tmp186_) + (_tmp189_ * _tmp191_)) + (_tmp194_ * _tmp196_)) + (_tmp199_ * _tmp201_);
#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp202_ = _tmp181_[8];
#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp203_ = result_matrix_entries;
#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp203__length1 = result_matrix_entries_length1;
#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp204_ = transform;
#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp205_ = _tmp204_->matrix_entries;
#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp205__length1 = _tmp204_->matrix_entries_length1;
#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp206_ = _tmp205_[8];
#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp207_ = self->matrix_entries;
#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp207__length1 = self->matrix_entries_length1;
#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp208_ = _tmp207_[1];
#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp209_ = transform;
#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp210_ = _tmp209_->matrix_entries;
#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp210__length1 = _tmp209_->matrix_entries_length1;
#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp211_ = _tmp210_[9];
#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp212_ = self->matrix_entries;
#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp212__length1 = self->matrix_entries_length1;
#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp213_ = _tmp212_[5];
#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp214_ = transform;
#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp215_ = _tmp214_->matrix_entries;
#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp215__length1 = _tmp214_->matrix_entries_length1;
#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp216_ = _tmp215_[10];
#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp217_ = self->matrix_entries;
#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp217__length1 = self->matrix_entries_length1;
#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp218_ = _tmp217_[9];
#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp219_ = transform;
#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp220_ = _tmp219_->matrix_entries;
#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp220__length1 = _tmp219_->matrix_entries_length1;
#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp221_ = _tmp220_[11];
#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp222_ = self->matrix_entries;
#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp222__length1 = self->matrix_entries_length1;
#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp223_ = _tmp222_[13];
#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp203_[9] = (((_tmp206_ * _tmp208_) + (_tmp211_ * _tmp213_)) + (_tmp216_ * _tmp218_)) + (_tmp221_ * _tmp223_);
#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp224_ = _tmp203_[9];
#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp225_ = result_matrix_entries;
#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp225__length1 = result_matrix_entries_length1;
#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp226_ = transform;
#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp227_ = _tmp226_->matrix_entries;
#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp227__length1 = _tmp226_->matrix_entries_length1;
#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp228_ = _tmp227_[8];
#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp229_ = self->matrix_entries;
#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp229__length1 = self->matrix_entries_length1;
#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp230_ = _tmp229_[2];
#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp231_ = transform;
#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp232_ = _tmp231_->matrix_entries;
#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp232__length1 = _tmp231_->matrix_entries_length1;
#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp233_ = _tmp232_[9];
#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp234_ = self->matrix_entries;
#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp234__length1 = self->matrix_entries_length1;
#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp235_ = _tmp234_[6];
#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp236_ = transform;
#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp237_ = _tmp236_->matrix_entries;
#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp237__length1 = _tmp236_->matrix_entries_length1;
#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp238_ = _tmp237_[10];
#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp239_ = self->matrix_entries;
#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp239__length1 = self->matrix_entries_length1;
#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp240_ = _tmp239_[10];
#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp241_ = transform;
#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp242_ = _tmp241_->matrix_entries;
#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp242__length1 = _tmp241_->matrix_entries_length1;
#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp243_ = _tmp242_[11];
#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp244_ = self->matrix_entries;
#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp244__length1 = self->matrix_entries_length1;
#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp245_ = _tmp244_[14];
#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp225_[10] = (((_tmp228_ * _tmp230_) + (_tmp233_ * _tmp235_)) + (_tmp238_ * _tmp240_)) + (_tmp243_ * _tmp245_);
#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp246_ = _tmp225_[10];
#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp247_ = result_matrix_entries;
#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp247__length1 = result_matrix_entries_length1;
#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp248_ = transform;
#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp249_ = _tmp248_->matrix_entries;
#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp249__length1 = _tmp248_->matrix_entries_length1;
#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp250_ = _tmp249_[8];
#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp251_ = self->matrix_entries;
#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp251__length1 = self->matrix_entries_length1;
#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp252_ = _tmp251_[3];
#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp253_ = transform;
#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp254_ = _tmp253_->matrix_entries;
#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp254__length1 = _tmp253_->matrix_entries_length1;
#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp255_ = _tmp254_[9];
#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp256_ = self->matrix_entries;
#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp256__length1 = self->matrix_entries_length1;
#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp257_ = _tmp256_[7];
#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp258_ = transform;
#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp259_ = _tmp258_->matrix_entries;
#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp259__length1 = _tmp258_->matrix_entries_length1;
#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp260_ = _tmp259_[10];
#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp261_ = self->matrix_entries;
#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp261__length1 = self->matrix_entries_length1;
#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp262_ = _tmp261_[11];
#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp263_ = transform;
#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp264_ = _tmp263_->matrix_entries;
#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp264__length1 = _tmp263_->matrix_entries_length1;
#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp265_ = _tmp264_[11];
#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp266_ = self->matrix_entries;
#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp266__length1 = self->matrix_entries_length1;
#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp267_ = _tmp266_[15];
#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp247_[11] = (((_tmp250_ * _tmp252_) + (_tmp255_ * _tmp257_)) + (_tmp260_ * _tmp262_)) + (_tmp265_ * _tmp267_);
#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp268_ = _tmp247_[11];
#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp269_ = result_matrix_entries;
#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp269__length1 = result_matrix_entries_length1;
#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp270_ = transform;
#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp271_ = _tmp270_->matrix_entries;
#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp271__length1 = _tmp270_->matrix_entries_length1;
#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp272_ = _tmp271_[12];
#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp273_ = self->matrix_entries;
#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp273__length1 = self->matrix_entries_length1;
#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp274_ = _tmp273_[0];
#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp275_ = transform;
#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp276_ = _tmp275_->matrix_entries;
#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp276__length1 = _tmp275_->matrix_entries_length1;
#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp277_ = _tmp276_[13];
#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp278_ = self->matrix_entries;
#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp278__length1 = self->matrix_entries_length1;
#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp279_ = _tmp278_[4];
#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp280_ = transform;
#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp281_ = _tmp280_->matrix_entries;
#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp281__length1 = _tmp280_->matrix_entries_length1;
#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp282_ = _tmp281_[14];
#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp283_ = self->matrix_entries;
#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp283__length1 = self->matrix_entries_length1;
#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp284_ = _tmp283_[8];
#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp285_ = transform;
#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp286_ = _tmp285_->matrix_entries;
#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp286__length1 = _tmp285_->matrix_entries_length1;
#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp287_ = _tmp286_[15];
#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp288_ = self->matrix_entries;
#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp288__length1 = self->matrix_entries_length1;
#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp289_ = _tmp288_[12];
#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp269_[12] = (((_tmp272_ * _tmp274_) + (_tmp277_ * _tmp279_)) + (_tmp282_ * _tmp284_)) + (_tmp287_ * _tmp289_);
#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp290_ = _tmp269_[12];
#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp291_ = result_matrix_entries;
#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp291__length1 = result_matrix_entries_length1;
#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp292_ = transform;
#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp293_ = _tmp292_->matrix_entries;
#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp293__length1 = _tmp292_->matrix_entries_length1;
#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp294_ = _tmp293_[12];
#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp295_ = self->matrix_entries;
#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp295__length1 = self->matrix_entries_length1;
#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp296_ = _tmp295_[1];
#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp297_ = transform;
#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp298_ = _tmp297_->matrix_entries;
#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp298__length1 = _tmp297_->matrix_entries_length1;
#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp299_ = _tmp298_[13];
#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp300_ = self->matrix_entries;
#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp300__length1 = self->matrix_entries_length1;
#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp301_ = _tmp300_[5];
#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp302_ = transform;
#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp303_ = _tmp302_->matrix_entries;
#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp303__length1 = _tmp302_->matrix_entries_length1;
#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp304_ = _tmp303_[14];
#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp305_ = self->matrix_entries;
#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp305__length1 = self->matrix_entries_length1;
#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp306_ = _tmp305_[9];
#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp307_ = transform;
#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp308_ = _tmp307_->matrix_entries;
#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp308__length1 = _tmp307_->matrix_entries_length1;
#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp309_ = _tmp308_[15];
#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp310_ = self->matrix_entries;
#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp310__length1 = self->matrix_entries_length1;
#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp311_ = _tmp310_[13];
#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp291_[13] = (((_tmp294_ * _tmp296_) + (_tmp299_ * _tmp301_)) + (_tmp304_ * _tmp306_)) + (_tmp309_ * _tmp311_);
#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp312_ = _tmp291_[13];
#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp313_ = result_matrix_entries;
#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp313__length1 = result_matrix_entries_length1;
#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp314_ = transform;
#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp315_ = _tmp314_->matrix_entries;
#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp315__length1 = _tmp314_->matrix_entries_length1;
#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp316_ = _tmp315_[12];
#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp317_ = self->matrix_entries;
#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp317__length1 = self->matrix_entries_length1;
#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp318_ = _tmp317_[2];
#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp319_ = transform;
#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp320_ = _tmp319_->matrix_entries;
#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp320__length1 = _tmp319_->matrix_entries_length1;
#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp321_ = _tmp320_[13];
#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp322_ = self->matrix_entries;
#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp322__length1 = self->matrix_entries_length1;
#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp323_ = _tmp322_[6];
#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp324_ = transform;
#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp325_ = _tmp324_->matrix_entries;
#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp325__length1 = _tmp324_->matrix_entries_length1;
#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp326_ = _tmp325_[14];
#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp327_ = self->matrix_entries;
#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp327__length1 = self->matrix_entries_length1;
#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp328_ = _tmp327_[10];
#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp329_ = transform;
#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp330_ = _tmp329_->matrix_entries;
#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp330__length1 = _tmp329_->matrix_entries_length1;
#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp331_ = _tmp330_[15];
#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp332_ = self->matrix_entries;
#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp332__length1 = self->matrix_entries_length1;
#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp333_ = _tmp332_[14];
#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp313_[14] = (((_tmp316_ * _tmp318_) + (_tmp321_ * _tmp323_)) + (_tmp326_ * _tmp328_)) + (_tmp331_ * _tmp333_);
#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp334_ = _tmp313_[14];
#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp335_ = result_matrix_entries;
#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp335__length1 = result_matrix_entries_length1;
#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp336_ = transform;
#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp337_ = _tmp336_->matrix_entries;
#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp337__length1 = _tmp336_->matrix_entries_length1;
#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp338_ = _tmp337_[12];
#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp339_ = self->matrix_entries;
#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp339__length1 = self->matrix_entries_length1;
#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp340_ = _tmp339_[3];
#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp341_ = transform;
#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp342_ = _tmp341_->matrix_entries;
#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp342__length1 = _tmp341_->matrix_entries_length1;
#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp343_ = _tmp342_[13];
#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp344_ = self->matrix_entries;
#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp344__length1 = self->matrix_entries_length1;
#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp345_ = _tmp344_[7];
#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp346_ = transform;
#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp347_ = _tmp346_->matrix_entries;
#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp347__length1 = _tmp346_->matrix_entries_length1;
#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp348_ = _tmp347_[14];
#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp349_ = self->matrix_entries;
#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp349__length1 = self->matrix_entries_length1;
#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp350_ = _tmp349_[11];
#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp351_ = transform;
#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp352_ = _tmp351_->matrix_entries;
#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp352__length1 = _tmp351_->matrix_entries_length1;
#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp353_ = _tmp352_[15];
#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp354_ = self->matrix_entries;
#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp354__length1 = self->matrix_entries_length1;
#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp355_ = _tmp354_[15];
#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp335_[15] = (((_tmp338_ * _tmp340_) + (_tmp343_ * _tmp345_)) + (_tmp348_ * _tmp350_)) + (_tmp353_ * _tmp355_);
#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp356_ = _tmp335_[15];
#line 4983 "ColorTransformation.c"
	{
		gint i = 0;
#line 543 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		i = 0;
#line 4988 "ColorTransformation.c"
		{
			gboolean _tmp357_ = FALSE;
#line 543 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp357_ = TRUE;
#line 543 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			while (TRUE) {
#line 4995 "ColorTransformation.c"
				gint _tmp359_ = 0;
				gfloat* _tmp360_ = NULL;
				gint _tmp360__length1 = 0;
				gint _tmp361_ = 0;
				gfloat* _tmp362_ = NULL;
				gint _tmp362__length1 = 0;
				gint _tmp363_ = 0;
				gfloat _tmp364_ = 0.0F;
				gfloat _tmp365_ = 0.0F;
#line 543 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (!_tmp357_) {
#line 5007 "ColorTransformation.c"
					gint _tmp358_ = 0;
#line 543 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp358_ = i;
#line 543 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					i = _tmp358_ + 1;
#line 5013 "ColorTransformation.c"
				}
#line 543 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp357_ = FALSE;
#line 543 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp359_ = i;
#line 543 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (!(_tmp359_ < RGB_TRANSFORMATION_MATRIX_SIZE)) {
#line 543 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					break;
#line 5023 "ColorTransformation.c"
				}
#line 544 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp360_ = self->matrix_entries;
#line 544 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp360__length1 = self->matrix_entries_length1;
#line 544 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp361_ = i;
#line 544 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp362_ = result_matrix_entries;
#line 544 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp362__length1 = result_matrix_entries_length1;
#line 544 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp363_ = i;
#line 544 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp364_ = _tmp362_[_tmp363_];
#line 544 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp360_[_tmp361_] = _tmp364_;
#line 544 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp365_ = _tmp360_[_tmp361_];
#line 5043 "ColorTransformation.c"
			}
		}
	}
#line 546 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp367_ = self->identity;
#line 546 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (_tmp367_) {
#line 5051 "ColorTransformation.c"
		RGBTransformation* _tmp368_ = NULL;
		gboolean _tmp369_ = FALSE;
#line 546 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp368_ = transform;
#line 546 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp369_ = _tmp368_->identity;
#line 546 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp366_ = _tmp369_;
#line 5060 "ColorTransformation.c"
	} else {
#line 546 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp366_ = FALSE;
#line 5064 "ColorTransformation.c"
	}
#line 546 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->identity = _tmp366_;
#line 434 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result_matrix_entries = (g_free (result_matrix_entries), NULL);
#line 434 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_pixel_transformation_unref0 (transform);
#line 5072 "ColorTransformation.c"
}


static void rgb_transformation_real_transform_pixel_hsv (PixelTransformation* base, HSVAnalyticPixel* p, HSVAnalyticPixel* result) {
	RGBTransformation * self;
	RGBAnalyticPixel _tmp0_ = {0};
	RGBAnalyticPixel _tmp1_ = {0};
	HSVAnalyticPixel _tmp2_ = {0};
#line 549 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RGB_TRANSFORMATION, RGBTransformation);
#line 549 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (p != NULL);
#line 550 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	hsv_analytic_pixel_to_rgb (p, &_tmp0_);
#line 550 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	pixel_transformation_transform_pixel_rgb (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PIXEL_TRANSFORMATION, PixelTransformation), &_tmp0_, &_tmp1_);
#line 550 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	rgb_analytic_pixel_to_hsv (&_tmp1_, &_tmp2_);
#line 550 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	*result = _tmp2_;
#line 550 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return;
#line 5095 "ColorTransformation.c"
}


static void rgb_transformation_real_transform_pixel_rgb (PixelTransformation* base, RGBAnalyticPixel* p, RGBAnalyticPixel* result) {
	RGBTransformation * self;
	gfloat red_out = 0.0F;
	RGBAnalyticPixel _tmp0_ = {0};
	gfloat _tmp1_ = 0.0F;
	gfloat* _tmp2_ = NULL;
	gint _tmp2__length1 = 0;
	gfloat _tmp3_ = 0.0F;
	RGBAnalyticPixel _tmp4_ = {0};
	gfloat _tmp5_ = 0.0F;
	gfloat* _tmp6_ = NULL;
	gint _tmp6__length1 = 0;
	gfloat _tmp7_ = 0.0F;
	RGBAnalyticPixel _tmp8_ = {0};
	gfloat _tmp9_ = 0.0F;
	gfloat* _tmp10_ = NULL;
	gint _tmp10__length1 = 0;
	gfloat _tmp11_ = 0.0F;
	gfloat* _tmp12_ = NULL;
	gint _tmp12__length1 = 0;
	gfloat _tmp13_ = 0.0F;
	gfloat _tmp14_ = 0.0F;
	gfloat _tmp15_ = 0.0F;
	gfloat green_out = 0.0F;
	RGBAnalyticPixel _tmp16_ = {0};
	gfloat _tmp17_ = 0.0F;
	gfloat* _tmp18_ = NULL;
	gint _tmp18__length1 = 0;
	gfloat _tmp19_ = 0.0F;
	RGBAnalyticPixel _tmp20_ = {0};
	gfloat _tmp21_ = 0.0F;
	gfloat* _tmp22_ = NULL;
	gint _tmp22__length1 = 0;
	gfloat _tmp23_ = 0.0F;
	RGBAnalyticPixel _tmp24_ = {0};
	gfloat _tmp25_ = 0.0F;
	gfloat* _tmp26_ = NULL;
	gint _tmp26__length1 = 0;
	gfloat _tmp27_ = 0.0F;
	gfloat* _tmp28_ = NULL;
	gint _tmp28__length1 = 0;
	gfloat _tmp29_ = 0.0F;
	gfloat _tmp30_ = 0.0F;
	gfloat _tmp31_ = 0.0F;
	gfloat blue_out = 0.0F;
	RGBAnalyticPixel _tmp32_ = {0};
	gfloat _tmp33_ = 0.0F;
	gfloat* _tmp34_ = NULL;
	gint _tmp34__length1 = 0;
	gfloat _tmp35_ = 0.0F;
	RGBAnalyticPixel _tmp36_ = {0};
	gfloat _tmp37_ = 0.0F;
	gfloat* _tmp38_ = NULL;
	gint _tmp38__length1 = 0;
	gfloat _tmp39_ = 0.0F;
	RGBAnalyticPixel _tmp40_ = {0};
	gfloat _tmp41_ = 0.0F;
	gfloat* _tmp42_ = NULL;
	gint _tmp42__length1 = 0;
	gfloat _tmp43_ = 0.0F;
	gfloat* _tmp44_ = NULL;
	gint _tmp44__length1 = 0;
	gfloat _tmp45_ = 0.0F;
	gfloat _tmp46_ = 0.0F;
	gfloat _tmp47_ = 0.0F;
	gfloat _tmp48_ = 0.0F;
	gfloat _tmp49_ = 0.0F;
	gfloat _tmp50_ = 0.0F;
	RGBAnalyticPixel _tmp51_ = {0};
#line 553 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RGB_TRANSFORMATION, RGBTransformation);
#line 553 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (p != NULL);
#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = *p;
#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = _tmp0_.red;
#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = self->matrix_entries;
#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2__length1 = self->matrix_entries_length1;
#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp3_ = _tmp2_[0];
#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp4_ = *p;
#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp5_ = _tmp4_.green;
#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp6_ = self->matrix_entries;
#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp6__length1 = self->matrix_entries_length1;
#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp7_ = _tmp6_[1];
#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp8_ = *p;
#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp9_ = _tmp8_.blue;
#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp10_ = self->matrix_entries;
#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp10__length1 = self->matrix_entries_length1;
#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp11_ = _tmp10_[2];
#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp12_ = self->matrix_entries;
#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp12__length1 = self->matrix_entries_length1;
#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp13_ = _tmp12_[3];
#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	red_out = (((_tmp1_ * _tmp3_) + (_tmp5_ * _tmp7_)) + (_tmp9_ * _tmp11_)) + _tmp13_;
#line 558 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp14_ = red_out;
#line 558 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp15_ = CLAMP (_tmp14_, 0.0f, 1.0f);
#line 558 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	red_out = _tmp15_;
#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp16_ = *p;
#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp17_ = _tmp16_.red;
#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp18_ = self->matrix_entries;
#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp18__length1 = self->matrix_entries_length1;
#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp19_ = _tmp18_[4];
#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp20_ = *p;
#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp21_ = _tmp20_.green;
#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp22_ = self->matrix_entries;
#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp22__length1 = self->matrix_entries_length1;
#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp23_ = _tmp22_[5];
#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp24_ = *p;
#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp25_ = _tmp24_.blue;
#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp26_ = self->matrix_entries;
#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp26__length1 = self->matrix_entries_length1;
#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp27_ = _tmp26_[6];
#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp28_ = self->matrix_entries;
#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp28__length1 = self->matrix_entries_length1;
#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp29_ = _tmp28_[7];
#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	green_out = (((_tmp17_ * _tmp19_) + (_tmp21_ * _tmp23_)) + (_tmp25_ * _tmp27_)) + _tmp29_;
#line 564 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp30_ = green_out;
#line 564 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp31_ = CLAMP (_tmp30_, 0.0f, 1.0f);
#line 564 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	green_out = _tmp31_;
#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp32_ = *p;
#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp33_ = _tmp32_.red;
#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp34_ = self->matrix_entries;
#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp34__length1 = self->matrix_entries_length1;
#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp35_ = _tmp34_[8];
#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp36_ = *p;
#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp37_ = _tmp36_.green;
#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp38_ = self->matrix_entries;
#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp38__length1 = self->matrix_entries_length1;
#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp39_ = _tmp38_[9];
#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp40_ = *p;
#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp41_ = _tmp40_.blue;
#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp42_ = self->matrix_entries;
#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp42__length1 = self->matrix_entries_length1;
#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp43_ = _tmp42_[10];
#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp44_ = self->matrix_entries;
#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp44__length1 = self->matrix_entries_length1;
#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp45_ = _tmp44_[11];
#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	blue_out = (((_tmp33_ * _tmp35_) + (_tmp37_ * _tmp39_)) + (_tmp41_ * _tmp43_)) + _tmp45_;
#line 570 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp46_ = blue_out;
#line 570 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp47_ = CLAMP (_tmp46_, 0.0f, 1.0f);
#line 570 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	blue_out = _tmp47_;
#line 572 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp48_ = red_out;
#line 572 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp49_ = green_out;
#line 572 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp50_ = blue_out;
#line 572 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	rgb_analytic_pixel_init_from_components (&_tmp51_, _tmp48_, _tmp49_, _tmp50_);
#line 572 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	*result = _tmp51_;
#line 572 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return;
#line 5316 "ColorTransformation.c"
}


static gboolean rgb_transformation_real_is_identity (PixelTransformation* base) {
	RGBTransformation * self;
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
#line 575 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RGB_TRANSFORMATION, RGBTransformation);
#line 576 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = self->identity;
#line 576 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = _tmp0_;
#line 576 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 5332 "ColorTransformation.c"
}


static PixelTransformation* rgb_transformation_real_copy (PixelTransformation* base) {
	RGBTransformation * self;
	PixelTransformation* result = NULL;
	RGBTransformation* _result_ = NULL;
	PixelTransformationType _tmp0_ = 0;
	RGBTransformation* _tmp1_ = NULL;
#line 579 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RGB_TRANSFORMATION, RGBTransformation);
#line 580 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = pixel_transformation_get_transformation_type (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PIXEL_TRANSFORMATION, PixelTransformation));
#line 580 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = rgb_transformation_new (_tmp0_);
#line 580 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_result_ = _tmp1_;
#line 5350 "ColorTransformation.c"
	{
		gint i = 0;
#line 582 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		i = 0;
#line 5355 "ColorTransformation.c"
		{
			gboolean _tmp2_ = FALSE;
#line 582 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp2_ = TRUE;
#line 582 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			while (TRUE) {
#line 5362 "ColorTransformation.c"
				gint _tmp4_ = 0;
				RGBTransformation* _tmp5_ = NULL;
				gfloat* _tmp6_ = NULL;
				gint _tmp6__length1 = 0;
				gint _tmp7_ = 0;
				gfloat* _tmp8_ = NULL;
				gint _tmp8__length1 = 0;
				gint _tmp9_ = 0;
				gfloat _tmp10_ = 0.0F;
				gfloat _tmp11_ = 0.0F;
#line 582 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (!_tmp2_) {
#line 5375 "ColorTransformation.c"
					gint _tmp3_ = 0;
#line 582 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp3_ = i;
#line 582 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					i = _tmp3_ + 1;
#line 5381 "ColorTransformation.c"
				}
#line 582 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp2_ = FALSE;
#line 582 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp4_ = i;
#line 582 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (!(_tmp4_ < RGB_TRANSFORMATION_MATRIX_SIZE)) {
#line 582 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					break;
#line 5391 "ColorTransformation.c"
				}
#line 583 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp5_ = _result_;
#line 583 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp6_ = _tmp5_->matrix_entries;
#line 583 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp6__length1 = _tmp5_->matrix_entries_length1;
#line 583 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp7_ = i;
#line 583 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp8_ = self->matrix_entries;
#line 583 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp8__length1 = self->matrix_entries_length1;
#line 583 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp9_ = i;
#line 583 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp10_ = _tmp8_[_tmp9_];
#line 583 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp6_[_tmp7_] = _tmp10_;
#line 583 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp11_ = _tmp6_[_tmp7_];
#line 5413 "ColorTransformation.c"
			}
		}
	}
#line 586 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = G_TYPE_CHECK_INSTANCE_CAST (_result_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation);
#line 586 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 5421 "ColorTransformation.c"
}


static void rgb_transformation_class_init (RGBTransformationClass * klass) {
#line 403 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	rgb_transformation_parent_class = g_type_class_peek_parent (klass);
#line 403 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	((PixelTransformationClass *) klass)->finalize = rgb_transformation_finalize;
#line 403 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	((PixelTransformationClass *) klass)->get_preferred_format = rgb_transformation_real_get_preferred_format;
#line 403 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	((PixelTransformationClass *) klass)->get_composition_mode = rgb_transformation_real_get_composition_mode;
#line 403 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	((PixelTransformationClass *) klass)->compose_with = rgb_transformation_real_compose_with;
#line 403 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	((PixelTransformationClass *) klass)->transform_pixel_hsv = rgb_transformation_real_transform_pixel_hsv;
#line 403 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	((PixelTransformationClass *) klass)->transform_pixel_rgb = rgb_transformation_real_transform_pixel_rgb;
#line 403 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	((PixelTransformationClass *) klass)->is_identity = rgb_transformation_real_is_identity;
#line 403 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	((PixelTransformationClass *) klass)->copy = rgb_transformation_real_copy;
#line 5444 "ColorTransformation.c"
}


static void rgb_transformation_instance_init (RGBTransformation * self) {
#line 410 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->identity = TRUE;
#line 5451 "ColorTransformation.c"
}


static void rgb_transformation_finalize (PixelTransformation* obj) {
	RGBTransformation * self;
#line 403 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_RGB_TRANSFORMATION, RGBTransformation);
#line 406 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->matrix_entries = (g_free (self->matrix_entries), NULL);
#line 403 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	PIXEL_TRANSFORMATION_CLASS (rgb_transformation_parent_class)->finalize (obj);
#line 5463 "ColorTransformation.c"
}


GType rgb_transformation_get_type (void) {
	static volatile gsize rgb_transformation_type_id__volatile = 0;
	if (g_once_init_enter (&rgb_transformation_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (RGBTransformationClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) rgb_transformation_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (RGBTransformation), 0, (GInstanceInitFunc) rgb_transformation_instance_init, NULL };
		GType rgb_transformation_type_id;
		rgb_transformation_type_id = g_type_register_static (TYPE_PIXEL_TRANSFORMATION, "RGBTransformation", &g_define_type_info, 0);
		g_once_init_leave (&rgb_transformation_type_id__volatile, rgb_transformation_type_id);
	}
	return rgb_transformation_type_id__volatile;
}


HSVTransformation* hsv_transformation_construct (GType object_type, PixelTransformationType type) {
	HSVTransformation* self = NULL;
	PixelTransformationType _tmp0_ = 0;
#line 592 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = type;
#line 592 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = (HSVTransformation*) pixel_transformation_construct (object_type, _tmp0_);
#line 591 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return self;
#line 5488 "ColorTransformation.c"
}


static PixelFormat hsv_transformation_real_get_preferred_format (PixelTransformation* base) {
	HSVTransformation * self;
	PixelFormat result = 0;
#line 595 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_HSV_TRANSFORMATION, HSVTransformation);
#line 596 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = PIXEL_FORMAT_HSV;
#line 596 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 5501 "ColorTransformation.c"
}


static void hsv_transformation_real_transform_pixel_rgb (PixelTransformation* base, RGBAnalyticPixel* p, RGBAnalyticPixel* result) {
	HSVTransformation * self;
	HSVAnalyticPixel _tmp0_ = {0};
	HSVAnalyticPixel _tmp1_ = {0};
	RGBAnalyticPixel _tmp2_ = {0};
#line 599 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_HSV_TRANSFORMATION, HSVTransformation);
#line 599 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (p != NULL);
#line 600 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	rgb_analytic_pixel_to_hsv (p, &_tmp0_);
#line 600 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	pixel_transformation_transform_pixel_hsv (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PIXEL_TRANSFORMATION, PixelTransformation), &_tmp0_, &_tmp1_);
#line 600 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	hsv_analytic_pixel_to_rgb (&_tmp1_, &_tmp2_);
#line 600 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	*result = _tmp2_;
#line 600 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return;
#line 5524 "ColorTransformation.c"
}


static void hsv_transformation_class_init (HSVTransformationClass * klass) {
#line 590 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	hsv_transformation_parent_class = g_type_class_peek_parent (klass);
#line 590 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	((PixelTransformationClass *) klass)->get_preferred_format = hsv_transformation_real_get_preferred_format;
#line 590 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	((PixelTransformationClass *) klass)->transform_pixel_rgb = hsv_transformation_real_transform_pixel_rgb;
#line 5535 "ColorTransformation.c"
}


static void hsv_transformation_instance_init (HSVTransformation * self) {
}


GType hsv_transformation_get_type (void) {
	static volatile gsize hsv_transformation_type_id__volatile = 0;
	if (g_once_init_enter (&hsv_transformation_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (HSVTransformationClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) hsv_transformation_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (HSVTransformation), 0, (GInstanceInitFunc) hsv_transformation_instance_init, NULL };
		GType hsv_transformation_type_id;
		hsv_transformation_type_id = g_type_register_static (TYPE_PIXEL_TRANSFORMATION, "HSVTransformation", &g_define_type_info, G_TYPE_FLAG_ABSTRACT);
		g_once_init_leave (&hsv_transformation_type_id__volatile, hsv_transformation_type_id);
	}
	return hsv_transformation_type_id__volatile;
}


TintTransformation* tint_transformation_construct (GType object_type, gfloat client_param) {
	TintTransformation* self = NULL;
	gfloat _tmp0_ = 0.0F;
	gfloat _tmp1_ = 0.0F;
	gfloat _tmp2_ = 0.0F;
#line 612 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = (TintTransformation*) rgb_transformation_construct (object_type, PIXEL_TRANSFORMATION_TYPE_TINT);
#line 614 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = client_param;
#line 614 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = CLAMP (_tmp0_, TINT_TRANSFORMATION_MIN_PARAMETER, TINT_TRANSFORMATION_MAX_PARAMETER);
#line 614 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->parameter = _tmp1_;
#line 616 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = self->priv->parameter;
#line 616 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (_tmp2_ != 0.0f) {
#line 5572 "ColorTransformation.c"
		gfloat adjusted_param = 0.0F;
		gfloat _tmp3_ = 0.0F;
		gfloat _tmp4_ = 0.0F;
		gfloat* _tmp5_ = NULL;
		gint _tmp5__length1 = 0;
		gfloat _tmp6_ = 0.0F;
		gfloat _tmp7_ = 0.0F;
		gfloat* _tmp8_ = NULL;
		gint _tmp8__length1 = 0;
		gfloat _tmp9_ = 0.0F;
		gfloat _tmp10_ = 0.0F;
		gfloat* _tmp11_ = NULL;
		gint _tmp11__length1 = 0;
		gfloat _tmp12_ = 0.0F;
		gfloat _tmp13_ = 0.0F;
#line 617 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp3_ = self->priv->parameter;
#line 617 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		adjusted_param = _tmp3_ / TINT_TRANSFORMATION_MAX_PARAMETER;
#line 618 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp4_ = adjusted_param;
#line 618 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		adjusted_param = _tmp4_ * TINT_TRANSFORMATION_INTENSITY_FACTOR;
#line 620 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp5_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries;
#line 620 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp5__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1;
#line 620 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp6_ = adjusted_param;
#line 620 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp5_[11] -= _tmp6_ / 2;
#line 620 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp7_ = _tmp5_[11];
#line 621 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp8_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries;
#line 621 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp8__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1;
#line 621 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp9_ = adjusted_param;
#line 621 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp8_[7] += _tmp9_;
#line 621 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp10_ = _tmp8_[7];
#line 622 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp11_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries;
#line 622 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp11__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1;
#line 622 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp12_ = adjusted_param;
#line 622 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp11_[3] -= _tmp12_ / 2;
#line 622 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp13_ = _tmp11_[3];
#line 624 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->identity = FALSE;
#line 5628 "ColorTransformation.c"
	}
#line 611 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return self;
#line 5632 "ColorTransformation.c"
}


TintTransformation* tint_transformation_new (gfloat client_param) {
#line 611 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return tint_transformation_construct (TYPE_TINT_TRANSFORMATION, client_param);
#line 5639 "ColorTransformation.c"
}


gfloat tint_transformation_get_parameter (TintTransformation* self) {
	gfloat result = 0.0F;
	gfloat _tmp0_ = 0.0F;
#line 628 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (IS_TINT_TRANSFORMATION (self), 0.0F);
#line 629 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = self->priv->parameter;
#line 629 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = _tmp0_;
#line 629 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 5654 "ColorTransformation.c"
}


static void tint_transformation_class_init (TintTransformationClass * klass) {
#line 604 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	tint_transformation_parent_class = g_type_class_peek_parent (klass);
#line 604 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	((PixelTransformationClass *) klass)->finalize = tint_transformation_finalize;
#line 604 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_type_class_add_private (klass, sizeof (TintTransformationPrivate));
#line 5665 "ColorTransformation.c"
}


static void tint_transformation_instance_init (TintTransformation * self) {
#line 604 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv = TINT_TRANSFORMATION_GET_PRIVATE (self);
#line 5672 "ColorTransformation.c"
}


static void tint_transformation_finalize (PixelTransformation* obj) {
	TintTransformation * self;
#line 604 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_TINT_TRANSFORMATION, TintTransformation);
#line 604 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	PIXEL_TRANSFORMATION_CLASS (tint_transformation_parent_class)->finalize (obj);
#line 5682 "ColorTransformation.c"
}


GType tint_transformation_get_type (void) {
	static volatile gsize tint_transformation_type_id__volatile = 0;
	if (g_once_init_enter (&tint_transformation_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (TintTransformationClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) tint_transformation_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TintTransformation), 0, (GInstanceInitFunc) tint_transformation_instance_init, NULL };
		GType tint_transformation_type_id;
		tint_transformation_type_id = g_type_register_static (TYPE_RGB_TRANSFORMATION, "TintTransformation", &g_define_type_info, 0);
		g_once_init_leave (&tint_transformation_type_id__volatile, tint_transformation_type_id);
	}
	return tint_transformation_type_id__volatile;
}


TemperatureTransformation* temperature_transformation_construct (GType object_type, gfloat client_parameter) {
	TemperatureTransformation* self = NULL;
	gfloat _tmp0_ = 0.0F;
	gfloat _tmp1_ = 0.0F;
	gfloat _tmp2_ = 0.0F;
#line 641 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = (TemperatureTransformation*) rgb_transformation_construct (object_type, PIXEL_TRANSFORMATION_TYPE_TEMPERATURE);
#line 643 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = client_parameter;
#line 643 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = CLAMP (_tmp0_, TEMPERATURE_TRANSFORMATION_MIN_PARAMETER, TEMPERATURE_TRANSFORMATION_MAX_PARAMETER);
#line 643 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->parameter = _tmp1_;
#line 645 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = self->priv->parameter;
#line 645 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (_tmp2_ != 0.0f) {
#line 5715 "ColorTransformation.c"
		gfloat adjusted_param = 0.0F;
		gfloat _tmp3_ = 0.0F;
		gfloat _tmp4_ = 0.0F;
		gfloat* _tmp5_ = NULL;
		gint _tmp5__length1 = 0;
		gfloat _tmp6_ = 0.0F;
		gfloat _tmp7_ = 0.0F;
		gfloat* _tmp8_ = NULL;
		gint _tmp8__length1 = 0;
		gfloat _tmp9_ = 0.0F;
		gfloat _tmp10_ = 0.0F;
		gfloat* _tmp11_ = NULL;
		gint _tmp11__length1 = 0;
		gfloat _tmp12_ = 0.0F;
		gfloat _tmp13_ = 0.0F;
#line 646 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp3_ = self->priv->parameter;
#line 646 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		adjusted_param = _tmp3_ / TEMPERATURE_TRANSFORMATION_MAX_PARAMETER;
#line 647 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp4_ = adjusted_param;
#line 647 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		adjusted_param = _tmp4_ * TEMPERATURE_TRANSFORMATION_INTENSITY_FACTOR;
#line 649 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp5_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries;
#line 649 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp5__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1;
#line 649 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp6_ = adjusted_param;
#line 649 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp5_[11] -= _tmp6_;
#line 649 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp7_ = _tmp5_[11];
#line 650 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp8_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries;
#line 650 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp8__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1;
#line 650 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp9_ = adjusted_param;
#line 650 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp8_[7] += _tmp9_ / 2;
#line 650 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp10_ = _tmp8_[7];
#line 651 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp11_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries;
#line 651 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp11__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1;
#line 651 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp12_ = adjusted_param;
#line 651 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp11_[3] += _tmp12_ / 2;
#line 651 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp13_ = _tmp11_[3];
#line 653 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->identity = FALSE;
#line 5771 "ColorTransformation.c"
	}
#line 640 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return self;
#line 5775 "ColorTransformation.c"
}


TemperatureTransformation* temperature_transformation_new (gfloat client_parameter) {
#line 640 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return temperature_transformation_construct (TYPE_TEMPERATURE_TRANSFORMATION, client_parameter);
#line 5782 "ColorTransformation.c"
}


gfloat temperature_transformation_get_parameter (TemperatureTransformation* self) {
	gfloat result = 0.0F;
	gfloat _tmp0_ = 0.0F;
#line 657 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (IS_TEMPERATURE_TRANSFORMATION (self), 0.0F);
#line 658 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = self->priv->parameter;
#line 658 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = _tmp0_;
#line 658 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 5797 "ColorTransformation.c"
}


static void temperature_transformation_class_init (TemperatureTransformationClass * klass) {
#line 633 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	temperature_transformation_parent_class = g_type_class_peek_parent (klass);
#line 633 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	((PixelTransformationClass *) klass)->finalize = temperature_transformation_finalize;
#line 633 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_type_class_add_private (klass, sizeof (TemperatureTransformationPrivate));
#line 5808 "ColorTransformation.c"
}


static void temperature_transformation_instance_init (TemperatureTransformation * self) {
#line 633 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv = TEMPERATURE_TRANSFORMATION_GET_PRIVATE (self);
#line 5815 "ColorTransformation.c"
}


static void temperature_transformation_finalize (PixelTransformation* obj) {
	TemperatureTransformation * self;
#line 633 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_TEMPERATURE_TRANSFORMATION, TemperatureTransformation);
#line 633 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	PIXEL_TRANSFORMATION_CLASS (temperature_transformation_parent_class)->finalize (obj);
#line 5825 "ColorTransformation.c"
}


GType temperature_transformation_get_type (void) {
	static volatile gsize temperature_transformation_type_id__volatile = 0;
	if (g_once_init_enter (&temperature_transformation_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (TemperatureTransformationClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) temperature_transformation_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TemperatureTransformation), 0, (GInstanceInitFunc) temperature_transformation_instance_init, NULL };
		GType temperature_transformation_type_id;
		temperature_transformation_type_id = g_type_register_static (TYPE_RGB_TRANSFORMATION, "TemperatureTransformation", &g_define_type_info, 0);
		g_once_init_leave (&temperature_transformation_type_id__volatile, temperature_transformation_type_id);
	}
	return temperature_transformation_type_id__volatile;
}


SaturationTransformation* saturation_transformation_construct (GType object_type, gfloat client_parameter) {
	SaturationTransformation* self = NULL;
	gfloat _tmp0_ = 0.0F;
	gfloat _tmp1_ = 0.0F;
	gfloat _tmp2_ = 0.0F;
#line 669 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = (SaturationTransformation*) rgb_transformation_construct (object_type, PIXEL_TRANSFORMATION_TYPE_SATURATION);
#line 671 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = client_parameter;
#line 671 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = CLAMP (_tmp0_, SATURATION_TRANSFORMATION_MIN_PARAMETER, SATURATION_TRANSFORMATION_MAX_PARAMETER);
#line 671 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->parameter = _tmp1_;
#line 673 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = self->priv->parameter;
#line 673 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (_tmp2_ != 0.0f) {
#line 5858 "ColorTransformation.c"
		gfloat adjusted_param = 0.0F;
		gfloat _tmp3_ = 0.0F;
		gfloat _tmp4_ = 0.0F;
		gfloat one_third = 0.0F;
		gfloat* _tmp5_ = NULL;
		gint _tmp5__length1 = 0;
		gfloat _tmp6_ = 0.0F;
		gfloat _tmp7_ = 0.0F;
		gfloat _tmp8_ = 0.0F;
		gfloat _tmp9_ = 0.0F;
		gfloat* _tmp10_ = NULL;
		gint _tmp10__length1 = 0;
		gfloat _tmp11_ = 0.0F;
		gfloat _tmp12_ = 0.0F;
		gfloat _tmp13_ = 0.0F;
		gfloat* _tmp14_ = NULL;
		gint _tmp14__length1 = 0;
		gfloat _tmp15_ = 0.0F;
		gfloat _tmp16_ = 0.0F;
		gfloat _tmp17_ = 0.0F;
		gfloat* _tmp18_ = NULL;
		gint _tmp18__length1 = 0;
		gfloat _tmp19_ = 0.0F;
		gfloat _tmp20_ = 0.0F;
		gfloat _tmp21_ = 0.0F;
		gfloat* _tmp22_ = NULL;
		gint _tmp22__length1 = 0;
		gfloat _tmp23_ = 0.0F;
		gfloat _tmp24_ = 0.0F;
		gfloat _tmp25_ = 0.0F;
		gfloat _tmp26_ = 0.0F;
		gfloat* _tmp27_ = NULL;
		gint _tmp27__length1 = 0;
		gfloat _tmp28_ = 0.0F;
		gfloat _tmp29_ = 0.0F;
		gfloat _tmp30_ = 0.0F;
		gfloat* _tmp31_ = NULL;
		gint _tmp31__length1 = 0;
		gfloat _tmp32_ = 0.0F;
		gfloat _tmp33_ = 0.0F;
		gfloat _tmp34_ = 0.0F;
		gfloat* _tmp35_ = NULL;
		gint _tmp35__length1 = 0;
		gfloat _tmp36_ = 0.0F;
		gfloat _tmp37_ = 0.0F;
		gfloat _tmp38_ = 0.0F;
		gfloat* _tmp39_ = NULL;
		gint _tmp39__length1 = 0;
		gfloat _tmp40_ = 0.0F;
		gfloat _tmp41_ = 0.0F;
		gfloat _tmp42_ = 0.0F;
		gfloat _tmp43_ = 0.0F;
#line 674 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp3_ = self->priv->parameter;
#line 674 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		adjusted_param = _tmp3_ / SATURATION_TRANSFORMATION_MAX_PARAMETER;
#line 675 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp4_ = adjusted_param;
#line 675 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		adjusted_param = _tmp4_ + 1.0f;
#line 677 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		one_third = 0.3333333f;
#line 679 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp5_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries;
#line 679 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp5__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1;
#line 679 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp6_ = adjusted_param;
#line 679 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp7_ = one_third;
#line 679 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp8_ = adjusted_param;
#line 679 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp5_[0] = ((1.0f - _tmp6_) * _tmp7_) + _tmp8_;
#line 679 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp9_ = _tmp5_[0];
#line 681 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp10_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries;
#line 681 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp10__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1;
#line 681 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp11_ = adjusted_param;
#line 681 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp12_ = one_third;
#line 681 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp10_[1] = (1.0f - _tmp11_) * _tmp12_;
#line 681 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp13_ = _tmp10_[1];
#line 682 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp14_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries;
#line 682 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp14__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1;
#line 682 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp15_ = adjusted_param;
#line 682 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp16_ = one_third;
#line 682 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp14_[2] = (1.0f - _tmp15_) * _tmp16_;
#line 682 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp17_ = _tmp14_[2];
#line 684 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp18_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries;
#line 684 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp18__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1;
#line 684 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp19_ = adjusted_param;
#line 684 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp20_ = one_third;
#line 684 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp18_[4] = (1.0f - _tmp19_) * _tmp20_;
#line 684 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp21_ = _tmp18_[4];
#line 685 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp22_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries;
#line 685 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp22__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1;
#line 685 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp23_ = adjusted_param;
#line 685 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp24_ = one_third;
#line 685 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp25_ = adjusted_param;
#line 685 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp22_[5] = ((1.0f - _tmp23_) * _tmp24_) + _tmp25_;
#line 685 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp26_ = _tmp22_[5];
#line 687 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp27_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries;
#line 687 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp27__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1;
#line 687 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp28_ = adjusted_param;
#line 687 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp29_ = one_third;
#line 687 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp27_[6] = (1.0f - _tmp28_) * _tmp29_;
#line 687 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp30_ = _tmp27_[6];
#line 689 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp31_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries;
#line 689 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp31__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1;
#line 689 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp32_ = adjusted_param;
#line 689 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp33_ = one_third;
#line 689 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp31_[8] = (1.0f - _tmp32_) * _tmp33_;
#line 689 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp34_ = _tmp31_[8];
#line 690 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp35_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries;
#line 690 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp35__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1;
#line 690 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp36_ = adjusted_param;
#line 690 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp37_ = one_third;
#line 690 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp35_[9] = (1.0f - _tmp36_) * _tmp37_;
#line 690 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp38_ = _tmp35_[9];
#line 691 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp39_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries;
#line 691 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp39__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1;
#line 691 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp40_ = adjusted_param;
#line 691 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp41_ = one_third;
#line 691 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp42_ = adjusted_param;
#line 691 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp39_[10] = ((1.0f - _tmp40_) * _tmp41_) + _tmp42_;
#line 691 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp43_ = _tmp39_[10];
#line 694 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->identity = FALSE;
#line 6037 "ColorTransformation.c"
	}
#line 668 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return self;
#line 6041 "ColorTransformation.c"
}


SaturationTransformation* saturation_transformation_new (gfloat client_parameter) {
#line 668 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return saturation_transformation_construct (TYPE_SATURATION_TRANSFORMATION, client_parameter);
#line 6048 "ColorTransformation.c"
}


gfloat saturation_transformation_get_parameter (SaturationTransformation* self) {
	gfloat result = 0.0F;
	gfloat _tmp0_ = 0.0F;
#line 698 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (IS_SATURATION_TRANSFORMATION (self), 0.0F);
#line 699 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = self->priv->parameter;
#line 699 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = _tmp0_;
#line 699 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 6063 "ColorTransformation.c"
}


static void saturation_transformation_class_init (SaturationTransformationClass * klass) {
#line 662 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	saturation_transformation_parent_class = g_type_class_peek_parent (klass);
#line 662 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	((PixelTransformationClass *) klass)->finalize = saturation_transformation_finalize;
#line 662 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_type_class_add_private (klass, sizeof (SaturationTransformationPrivate));
#line 6074 "ColorTransformation.c"
}


static void saturation_transformation_instance_init (SaturationTransformation * self) {
#line 662 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv = SATURATION_TRANSFORMATION_GET_PRIVATE (self);
#line 6081 "ColorTransformation.c"
}


static void saturation_transformation_finalize (PixelTransformation* obj) {
	SaturationTransformation * self;
#line 662 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SATURATION_TRANSFORMATION, SaturationTransformation);
#line 662 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	PIXEL_TRANSFORMATION_CLASS (saturation_transformation_parent_class)->finalize (obj);
#line 6091 "ColorTransformation.c"
}


GType saturation_transformation_get_type (void) {
	static volatile gsize saturation_transformation_type_id__volatile = 0;
	if (g_once_init_enter (&saturation_transformation_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (SaturationTransformationClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) saturation_transformation_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SaturationTransformation), 0, (GInstanceInitFunc) saturation_transformation_instance_init, NULL };
		GType saturation_transformation_type_id;
		saturation_transformation_type_id = g_type_register_static (TYPE_RGB_TRANSFORMATION, "SaturationTransformation", &g_define_type_info, 0);
		g_once_init_leave (&saturation_transformation_type_id__volatile, saturation_transformation_type_id);
	}
	return saturation_transformation_type_id__volatile;
}


ExposureTransformation* exposure_transformation_construct (GType object_type, gfloat client_parameter) {
	ExposureTransformation* self = NULL;
	gfloat _tmp0_ = 0.0F;
	gfloat _tmp1_ = 0.0F;
	gfloat _tmp2_ = 0.0F;
#line 710 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = (ExposureTransformation*) rgb_transformation_construct (object_type, PIXEL_TRANSFORMATION_TYPE_EXPOSURE);
#line 712 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = client_parameter;
#line 712 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = CLAMP (_tmp0_, EXPOSURE_TRANSFORMATION_MIN_PARAMETER, EXPOSURE_TRANSFORMATION_MAX_PARAMETER);
#line 712 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->parameter = _tmp1_;
#line 714 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = self->priv->parameter;
#line 714 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (_tmp2_ != 0.0f) {
#line 6124 "ColorTransformation.c"
		gfloat adjusted_param = 0.0F;
		gfloat _tmp3_ = 0.0F;
		gfloat* _tmp4_ = NULL;
		gint _tmp4__length1 = 0;
		gfloat _tmp5_ = 0.0F;
		gfloat _tmp6_ = 0.0F;
		gfloat* _tmp7_ = NULL;
		gint _tmp7__length1 = 0;
		gfloat _tmp8_ = 0.0F;
		gfloat _tmp9_ = 0.0F;
		gfloat* _tmp10_ = NULL;
		gint _tmp10__length1 = 0;
		gfloat _tmp11_ = 0.0F;
		gfloat _tmp12_ = 0.0F;
#line 716 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp3_ = self->priv->parameter;
#line 716 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		adjusted_param = ((_tmp3_ + 16.0f) / 32.0f) + 0.5f;
#line 718 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries;
#line 718 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp4__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1;
#line 718 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp5_ = adjusted_param;
#line 718 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp4_[0] = _tmp5_;
#line 718 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp6_ = _tmp4_[0];
#line 719 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp7_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries;
#line 719 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp7__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1;
#line 719 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp8_ = adjusted_param;
#line 719 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp7_[5] = _tmp8_;
#line 719 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp9_ = _tmp7_[5];
#line 720 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp10_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries;
#line 720 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp10__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1;
#line 720 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp11_ = adjusted_param;
#line 720 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp10_[10] = _tmp11_;
#line 720 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp12_ = _tmp10_[10];
#line 722 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->identity = FALSE;
#line 6175 "ColorTransformation.c"
	}
#line 709 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return self;
#line 6179 "ColorTransformation.c"
}


ExposureTransformation* exposure_transformation_new (gfloat client_parameter) {
#line 709 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return exposure_transformation_construct (TYPE_EXPOSURE_TRANSFORMATION, client_parameter);
#line 6186 "ColorTransformation.c"
}


gfloat exposure_transformation_get_parameter (ExposureTransformation* self) {
	gfloat result = 0.0F;
	gfloat _tmp0_ = 0.0F;
#line 726 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (IS_EXPOSURE_TRANSFORMATION (self), 0.0F);
#line 727 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = self->priv->parameter;
#line 727 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = _tmp0_;
#line 727 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 6201 "ColorTransformation.c"
}


static void exposure_transformation_class_init (ExposureTransformationClass * klass) {
#line 703 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	exposure_transformation_parent_class = g_type_class_peek_parent (klass);
#line 703 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	((PixelTransformationClass *) klass)->finalize = exposure_transformation_finalize;
#line 703 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_type_class_add_private (klass, sizeof (ExposureTransformationPrivate));
#line 6212 "ColorTransformation.c"
}


static void exposure_transformation_instance_init (ExposureTransformation * self) {
#line 703 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv = EXPOSURE_TRANSFORMATION_GET_PRIVATE (self);
#line 6219 "ColorTransformation.c"
}


static void exposure_transformation_finalize (PixelTransformation* obj) {
	ExposureTransformation * self;
#line 703 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_EXPOSURE_TRANSFORMATION, ExposureTransformation);
#line 703 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	PIXEL_TRANSFORMATION_CLASS (exposure_transformation_parent_class)->finalize (obj);
#line 6229 "ColorTransformation.c"
}


GType exposure_transformation_get_type (void) {
	static volatile gsize exposure_transformation_type_id__volatile = 0;
	if (g_once_init_enter (&exposure_transformation_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (ExposureTransformationClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) exposure_transformation_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ExposureTransformation), 0, (GInstanceInitFunc) exposure_transformation_instance_init, NULL };
		GType exposure_transformation_type_id;
		exposure_transformation_type_id = g_type_register_static (TYPE_RGB_TRANSFORMATION, "ExposureTransformation", &g_define_type_info, 0);
		g_once_init_leave (&exposure_transformation_type_id__volatile, exposure_transformation_type_id);
	}
	return exposure_transformation_type_id__volatile;
}


PixelTransformer* pixel_transformer_construct (GType object_type) {
	PixelTransformer* self = NULL;
#line 737 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = (PixelTransformer*) g_type_create_instance (object_type);
#line 737 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return self;
#line 6251 "ColorTransformation.c"
}


PixelTransformer* pixel_transformer_new (void) {
#line 737 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return pixel_transformer_construct (TYPE_PIXEL_TRANSFORMER);
#line 6258 "ColorTransformation.c"
}


static gpointer _g_object_ref0 (gpointer self) {
#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return self ? g_object_ref (self) : NULL;
#line 6265 "ColorTransformation.c"
}


PixelTransformer* pixel_transformer_copy (PixelTransformer* self) {
	PixelTransformer* result = NULL;
	PixelTransformer* clone = NULL;
	PixelTransformer* _tmp0_ = NULL;
#line 740 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (IS_PIXEL_TRANSFORMER (self), NULL);
#line 741 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = pixel_transformer_new ();
#line 741 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	clone = _tmp0_;
#line 6279 "ColorTransformation.c"
	{
		GeeArrayList* _transformation_list = NULL;
		GeeArrayList* _tmp1_ = NULL;
		GeeArrayList* _tmp2_ = NULL;
		gint _transformation_size = 0;
		GeeArrayList* _tmp3_ = NULL;
		gint _tmp4_ = 0;
		gint _tmp5_ = 0;
		gint _transformation_index = 0;
#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp1_ = self->priv->transformations;
#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp2_ = _g_object_ref0 (_tmp1_);
#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_transformation_list = _tmp2_;
#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp3_ = _transformation_list;
#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp4_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection));
#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp5_ = _tmp4_;
#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_transformation_size = _tmp5_;
#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_transformation_index = -1;
#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		while (TRUE) {
#line 6307 "ColorTransformation.c"
			gint _tmp6_ = 0;
			gint _tmp7_ = 0;
			gint _tmp8_ = 0;
			PixelTransformation* transformation = NULL;
			GeeArrayList* _tmp9_ = NULL;
			gint _tmp10_ = 0;
			gpointer _tmp11_ = NULL;
			PixelTransformer* _tmp12_ = NULL;
			GeeArrayList* _tmp13_ = NULL;
			PixelTransformation* _tmp14_ = NULL;
#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp6_ = _transformation_index;
#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_transformation_index = _tmp6_ + 1;
#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp7_ = _transformation_index;
#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp8_ = _transformation_size;
#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			if (!(_tmp7_ < _tmp8_)) {
#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				break;
#line 6330 "ColorTransformation.c"
			}
#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp9_ = _transformation_list;
#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp10_ = _transformation_index;
#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp11_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp10_);
#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			transformation = (PixelTransformation*) _tmp11_;
#line 744 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp12_ = clone;
#line 744 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp13_ = _tmp12_->priv->transformations;
#line 744 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp14_ = transformation;
#line 744 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp14_);
#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_pixel_transformation_unref0 (transformation);
#line 6350 "ColorTransformation.c"
		}
#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_g_object_unref0 (_transformation_list);
#line 6354 "ColorTransformation.c"
	}
#line 746 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = clone;
#line 746 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 6360 "ColorTransformation.c"
}


static void pixel_transformer_build_optimized_transformations (PixelTransformer* self) {
	GeeArrayList* _tmp0_ = NULL;
	gint _tmp1_ = 0;
	gint _tmp2_ = 0;
	PixelTransformation** _tmp3_ = NULL;
	PixelTransformation* pre_trans = NULL;
#line 749 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (IS_PIXEL_TRANSFORMER (self));
#line 750 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = self->priv->transformations;
#line 750 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection));
#line 750 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = _tmp1_;
#line 750 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp3_ = g_new0 (PixelTransformation*, _tmp2_ + 1);
#line 750 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->optimized_transformations = (_vala_array_free (self->priv->optimized_transformations, self->priv->optimized_transformations_length1, (GDestroyNotify) pixel_transformation_unref), NULL);
#line 750 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->optimized_transformations = _tmp3_;
#line 750 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->optimized_transformations_length1 = _tmp2_;
#line 750 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->_optimized_transformations_size_ = self->priv->optimized_transformations_length1;
#line 752 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	pre_trans = NULL;
#line 753 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->optimized_slots_used = 0;
#line 6392 "ColorTransformation.c"
	{
		gint i = 0;
#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		i = 0;
#line 6397 "ColorTransformation.c"
		{
			gboolean _tmp4_ = FALSE;
#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp4_ = TRUE;
#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			while (TRUE) {
#line 6404 "ColorTransformation.c"
				gint _tmp6_ = 0;
				GeeArrayList* _tmp7_ = NULL;
				gint _tmp8_ = 0;
				gint _tmp9_ = 0;
				PixelTransformation* trans = NULL;
				GeeArrayList* _tmp10_ = NULL;
				gint _tmp11_ = 0;
				gpointer _tmp12_ = NULL;
				PixelTransformation* _tmp13_ = NULL;
				gboolean _tmp14_ = FALSE;
				PixelTransformation* this_trans = NULL;
				PixelTransformation* _tmp15_ = NULL;
				CompositionMode _tmp16_ = 0;
				gboolean _tmp21_ = FALSE;
				gboolean _tmp22_ = FALSE;
				PixelTransformation* _tmp23_ = NULL;
#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (!_tmp4_) {
#line 6423 "ColorTransformation.c"
					gint _tmp5_ = 0;
#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp5_ = i;
#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					i = _tmp5_ + 1;
#line 6429 "ColorTransformation.c"
				}
#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp4_ = FALSE;
#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp6_ = i;
#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp7_ = self->priv->transformations;
#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp8_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_COLLECTION, GeeCollection));
#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp9_ = _tmp8_;
#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (!(_tmp6_ < _tmp9_)) {
#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					break;
#line 6445 "ColorTransformation.c"
				}
#line 755 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp10_ = self->priv->transformations;
#line 755 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp11_ = i;
#line 755 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp12_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp11_);
#line 755 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				trans = (PixelTransformation*) _tmp12_;
#line 757 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp13_ = trans;
#line 757 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp14_ = pixel_transformation_is_identity (_tmp13_);
#line 757 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (_tmp14_) {
#line 758 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_pixel_transformation_unref0 (trans);
#line 758 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					continue;
#line 6465 "ColorTransformation.c"
				}
#line 760 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				this_trans = NULL;
#line 761 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp15_ = trans;
#line 761 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp16_ = pixel_transformation_get_composition_mode (_tmp15_);
#line 761 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (_tmp16_ == COMPOSITION_MODE_NONE) {
#line 6475 "ColorTransformation.c"
					PixelTransformation* _tmp17_ = NULL;
					PixelTransformation* _tmp18_ = NULL;
#line 762 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp17_ = trans;
#line 762 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp18_ = _pixel_transformation_ref0 (_tmp17_);
#line 762 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_pixel_transformation_unref0 (this_trans);
#line 762 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					this_trans = _tmp18_;
#line 6486 "ColorTransformation.c"
				} else {
					PixelTransformation* _tmp19_ = NULL;
					PixelTransformation* _tmp20_ = NULL;
#line 764 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp19_ = trans;
#line 764 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp20_ = pixel_transformation_copy (_tmp19_);
#line 764 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_pixel_transformation_unref0 (this_trans);
#line 764 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					this_trans = _tmp20_;
#line 6498 "ColorTransformation.c"
				}
#line 766 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp23_ = pre_trans;
#line 766 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (_tmp23_ != NULL) {
#line 6504 "ColorTransformation.c"
					PixelTransformation* _tmp24_ = NULL;
					CompositionMode _tmp25_ = 0;
#line 766 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp24_ = this_trans;
#line 766 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp25_ = pixel_transformation_get_composition_mode (_tmp24_);
#line 766 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp22_ = _tmp25_ != COMPOSITION_MODE_NONE;
#line 6513 "ColorTransformation.c"
				} else {
#line 766 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp22_ = FALSE;
#line 6517 "ColorTransformation.c"
				}
#line 766 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (_tmp22_) {
#line 6521 "ColorTransformation.c"
					PixelTransformation* _tmp26_ = NULL;
					CompositionMode _tmp27_ = 0;
					PixelTransformation* _tmp28_ = NULL;
					CompositionMode _tmp29_ = 0;
#line 767 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp26_ = this_trans;
#line 767 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp27_ = pixel_transformation_get_composition_mode (_tmp26_);
#line 767 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp28_ = pre_trans;
#line 767 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp29_ = pixel_transformation_get_composition_mode (_tmp28_);
#line 767 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp21_ = _tmp27_ == _tmp29_;
#line 6536 "ColorTransformation.c"
				} else {
#line 766 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp21_ = FALSE;
#line 6540 "ColorTransformation.c"
				}
#line 766 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (_tmp21_) {
#line 6544 "ColorTransformation.c"
					PixelTransformation* _tmp30_ = NULL;
					PixelTransformation* _tmp31_ = NULL;
#line 768 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp30_ = pre_trans;
#line 768 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp31_ = this_trans;
#line 768 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					pixel_transformation_compose_with (_tmp30_, _tmp31_);
#line 6553 "ColorTransformation.c"
				} else {
					PixelTransformation** _tmp32_ = NULL;
					gint _tmp32__length1 = 0;
					gint _tmp33_ = 0;
					PixelTransformation* _tmp34_ = NULL;
					PixelTransformation* _tmp35_ = NULL;
					PixelTransformation* _tmp36_ = NULL;
					PixelTransformation* _tmp37_ = NULL;
					PixelTransformation* _tmp38_ = NULL;
#line 770 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp32_ = self->priv->optimized_transformations;
#line 770 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp32__length1 = self->priv->optimized_transformations_length1;
#line 770 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp33_ = self->priv->optimized_slots_used;
#line 770 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					self->priv->optimized_slots_used = _tmp33_ + 1;
#line 770 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp34_ = this_trans;
#line 770 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp35_ = _pixel_transformation_ref0 (_tmp34_);
#line 770 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_pixel_transformation_unref0 (_tmp32_[_tmp33_]);
#line 770 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp32_[_tmp33_] = _tmp35_;
#line 770 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp36_ = _tmp32_[_tmp33_];
#line 771 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp37_ = this_trans;
#line 771 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp38_ = _pixel_transformation_ref0 (_tmp37_);
#line 771 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_pixel_transformation_unref0 (pre_trans);
#line 771 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					pre_trans = _tmp38_;
#line 6589 "ColorTransformation.c"
				}
#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_pixel_transformation_unref0 (this_trans);
#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_pixel_transformation_unref0 (trans);
#line 6595 "ColorTransformation.c"
			}
		}
	}
#line 749 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_pixel_transformation_unref0 (pre_trans);
#line 6601 "ColorTransformation.c"
}


static void pixel_transformer_apply_transformations (PixelTransformer* self, RGBAnalyticPixel* p, RGBAnalyticPixel* result) {
	PixelFormat current_format = 0;
	RGBAnalyticPixel p_rgb = {0};
	RGBAnalyticPixel _tmp0_ = {0};
	HSVAnalyticPixel p_hsv = {0};
	PixelFormat _tmp21_ = 0;
#line 776 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (IS_PIXEL_TRANSFORMER (self));
#line 776 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (p != NULL);
#line 777 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	current_format = PIXEL_FORMAT_RGB;
#line 778 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = *p;
#line 778 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	p_rgb = _tmp0_;
#line 779 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	hsv_analytic_pixel_init (&p_hsv);
#line 6623 "ColorTransformation.c"
	{
		gint i = 0;
#line 781 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		i = 0;
#line 6628 "ColorTransformation.c"
		{
			gboolean _tmp1_ = FALSE;
#line 781 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp1_ = TRUE;
#line 781 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			while (TRUE) {
#line 6635 "ColorTransformation.c"
				gint _tmp3_ = 0;
				gint _tmp4_ = 0;
				PixelTransformation* trans = NULL;
				PixelTransformation** _tmp5_ = NULL;
				gint _tmp5__length1 = 0;
				gint _tmp6_ = 0;
				PixelTransformation* _tmp7_ = NULL;
				PixelTransformation* _tmp8_ = NULL;
				PixelTransformation* _tmp9_ = NULL;
				PixelFormat _tmp10_ = 0;
#line 781 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (!_tmp1_) {
#line 6648 "ColorTransformation.c"
					gint _tmp2_ = 0;
#line 781 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp2_ = i;
#line 781 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					i = _tmp2_ + 1;
#line 6654 "ColorTransformation.c"
				}
#line 781 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp1_ = FALSE;
#line 781 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp3_ = i;
#line 781 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp4_ = self->priv->optimized_slots_used;
#line 781 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (!(_tmp3_ < _tmp4_)) {
#line 781 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					break;
#line 6666 "ColorTransformation.c"
				}
#line 782 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp5_ = self->priv->optimized_transformations;
#line 782 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp5__length1 = self->priv->optimized_transformations_length1;
#line 782 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp6_ = i;
#line 782 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp7_ = _tmp5_[_tmp6_];
#line 782 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp8_ = _pixel_transformation_ref0 (_tmp7_);
#line 782 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				trans = _tmp8_;
#line 783 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp9_ = trans;
#line 783 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp10_ = pixel_transformation_get_preferred_format (_tmp9_);
#line 783 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (_tmp10_ == PIXEL_FORMAT_RGB) {
#line 6686 "ColorTransformation.c"
					PixelFormat _tmp11_ = 0;
					PixelTransformation* _tmp13_ = NULL;
					RGBAnalyticPixel _tmp14_ = {0};
					RGBAnalyticPixel _tmp15_ = {0};
#line 784 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp11_ = current_format;
#line 784 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					if (_tmp11_ == PIXEL_FORMAT_HSV) {
#line 6695 "ColorTransformation.c"
						RGBAnalyticPixel _tmp12_ = {0};
#line 785 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						hsv_analytic_pixel_to_rgb (&p_hsv, &_tmp12_);
#line 785 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						p_rgb = _tmp12_;
#line 786 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						current_format = PIXEL_FORMAT_RGB;
#line 6703 "ColorTransformation.c"
					}
#line 788 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp13_ = trans;
#line 788 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp14_ = p_rgb;
#line 788 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					pixel_transformation_transform_pixel_rgb (_tmp13_, &_tmp14_, &_tmp15_);
#line 788 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					p_rgb = _tmp15_;
#line 6713 "ColorTransformation.c"
				} else {
					PixelFormat _tmp16_ = 0;
					PixelTransformation* _tmp18_ = NULL;
					HSVAnalyticPixel _tmp19_ = {0};
					HSVAnalyticPixel _tmp20_ = {0};
#line 790 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp16_ = current_format;
#line 790 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					if (_tmp16_ == PIXEL_FORMAT_RGB) {
#line 6723 "ColorTransformation.c"
						HSVAnalyticPixel _tmp17_ = {0};
#line 791 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						rgb_analytic_pixel_to_hsv (&p_rgb, &_tmp17_);
#line 791 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						p_hsv = _tmp17_;
#line 792 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						current_format = PIXEL_FORMAT_HSV;
#line 6731 "ColorTransformation.c"
					}
#line 794 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp18_ = trans;
#line 794 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp19_ = p_hsv;
#line 794 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					pixel_transformation_transform_pixel_hsv (_tmp18_, &_tmp19_, &_tmp20_);
#line 794 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					p_hsv = _tmp20_;
#line 6741 "ColorTransformation.c"
				}
#line 781 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_pixel_transformation_unref0 (trans);
#line 6745 "ColorTransformation.c"
			}
		}
	}
#line 798 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp21_ = current_format;
#line 798 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (_tmp21_ == PIXEL_FORMAT_HSV) {
#line 6753 "ColorTransformation.c"
		RGBAnalyticPixel _tmp22_ = {0};
#line 799 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		hsv_analytic_pixel_to_rgb (&p_hsv, &_tmp22_);
#line 799 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		p_rgb = _tmp22_;
#line 6759 "ColorTransformation.c"
	}
#line 801 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	*result = p_rgb;
#line 801 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return;
#line 6765 "ColorTransformation.c"
}


void pixel_transformer_attach_transformation (PixelTransformer* self, PixelTransformation* trans) {
	GeeArrayList* _tmp0_ = NULL;
	PixelTransformation* _tmp1_ = NULL;
#line 807 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (IS_PIXEL_TRANSFORMER (self));
#line 807 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (IS_PIXEL_TRANSFORMATION (trans));
#line 808 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = self->priv->transformations;
#line 808 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = trans;
#line 808 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp1_);
#line 809 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->optimized_transformations = (_vala_array_free (self->priv->optimized_transformations, self->priv->optimized_transformations_length1, (GDestroyNotify) pixel_transformation_unref), NULL);
#line 809 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->optimized_transformations = NULL;
#line 809 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->optimized_transformations_length1 = 0;
#line 809 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->_optimized_transformations_size_ = self->priv->optimized_transformations_length1;
#line 6790 "ColorTransformation.c"
}


void pixel_transformer_detach_transformation (PixelTransformer* self, PixelTransformation* victim) {
	GeeArrayList* _tmp0_ = NULL;
	PixelTransformation* _tmp1_ = NULL;
#line 814 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (IS_PIXEL_TRANSFORMER (self));
#line 814 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (IS_PIXEL_TRANSFORMATION (victim));
#line 815 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = self->priv->transformations;
#line 815 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = victim;
#line 815 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp1_);
#line 816 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->optimized_transformations = (_vala_array_free (self->priv->optimized_transformations, self->priv->optimized_transformations_length1, (GDestroyNotify) pixel_transformation_unref), NULL);
#line 816 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->optimized_transformations = NULL;
#line 816 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->optimized_transformations_length1 = 0;
#line 816 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->_optimized_transformations_size_ = self->priv->optimized_transformations_length1;
#line 6815 "ColorTransformation.c"
}


void pixel_transformer_replace_transformation (PixelTransformer* self, PixelTransformation* old_trans, PixelTransformation* new_trans) {
#line 821 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (IS_PIXEL_TRANSFORMER (self));
#line 821 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (IS_PIXEL_TRANSFORMATION (old_trans));
#line 821 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (IS_PIXEL_TRANSFORMATION (new_trans));
#line 6826 "ColorTransformation.c"
	{
		gint i = 0;
#line 823 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		i = 0;
#line 6831 "ColorTransformation.c"
		{
			gboolean _tmp0_ = FALSE;
#line 823 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp0_ = TRUE;
#line 823 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			while (TRUE) {
#line 6838 "ColorTransformation.c"
				gint _tmp2_ = 0;
				GeeArrayList* _tmp3_ = NULL;
				gint _tmp4_ = 0;
				gint _tmp5_ = 0;
				GeeArrayList* _tmp6_ = NULL;
				gint _tmp7_ = 0;
				gpointer _tmp8_ = NULL;
				PixelTransformation* _tmp9_ = NULL;
				PixelTransformation* _tmp10_ = NULL;
				gboolean _tmp11_ = FALSE;
#line 823 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (!_tmp0_) {
#line 6851 "ColorTransformation.c"
					gint _tmp1_ = 0;
#line 823 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp1_ = i;
#line 823 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					i = _tmp1_ + 1;
#line 6857 "ColorTransformation.c"
				}
#line 823 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp0_ = FALSE;
#line 823 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp2_ = i;
#line 823 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp3_ = self->priv->transformations;
#line 823 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp4_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection));
#line 823 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp5_ = _tmp4_;
#line 823 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (!(_tmp2_ < _tmp5_)) {
#line 823 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					break;
#line 6873 "ColorTransformation.c"
				}
#line 824 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp6_ = self->priv->transformations;
#line 824 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp7_ = i;
#line 824 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp8_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp7_);
#line 824 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp9_ = (PixelTransformation*) _tmp8_;
#line 824 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp10_ = old_trans;
#line 824 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp11_ = _tmp9_ == _tmp10_;
#line 824 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_pixel_transformation_unref0 (_tmp9_);
#line 824 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (_tmp11_) {
#line 6891 "ColorTransformation.c"
					GeeArrayList* _tmp12_ = NULL;
					gint _tmp13_ = 0;
					PixelTransformation* _tmp14_ = NULL;
#line 825 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp12_ = self->priv->transformations;
#line 825 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp13_ = i;
#line 825 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp14_ = new_trans;
#line 825 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					gee_abstract_list_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp13_, _tmp14_);
#line 827 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					self->priv->optimized_transformations = (_vala_array_free (self->priv->optimized_transformations, self->priv->optimized_transformations_length1, (GDestroyNotify) pixel_transformation_unref), NULL);
#line 827 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					self->priv->optimized_transformations = NULL;
#line 827 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					self->priv->optimized_transformations_length1 = 0;
#line 827 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					self->priv->_optimized_transformations_size_ = self->priv->optimized_transformations_length1;
#line 828 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					return;
#line 6913 "ColorTransformation.c"
				}
			}
		}
	}
#line 831 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_error ("ColorTransformation.vala:831: %s", "PixelTransformer: replace_transformation( ): old_trans is not present " \
"in " "transformation collection");
#line 6920 "ColorTransformation.c"
}


void pixel_transformer_transform_pixbuf (PixelTransformer* self, GdkPixbuf* pixbuf, GCancellable* cancellable) {
	GdkPixbuf* _tmp0_ = NULL;
	GdkPixbuf* _tmp1_ = NULL;
	GCancellable* _tmp2_ = NULL;
#line 835 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (IS_PIXEL_TRANSFORMER (self));
#line 835 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (GDK_IS_PIXBUF (pixbuf));
#line 835 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail ((cancellable == NULL) || G_IS_CANCELLABLE (cancellable));
#line 836 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = pixbuf;
#line 836 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = pixbuf;
#line 836 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = cancellable;
#line 836 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	pixel_transformer_transform_to_other_pixbuf (self, _tmp0_, _tmp1_, _tmp2_);
#line 6942 "ColorTransformation.c"
}


void pixel_transformer_transform_from_fp (PixelTransformer* self, gfloat** fp_pixel_cache, int* fp_pixel_cache_length1, GdkPixbuf* dest) {
	PixelTransformation** _tmp0_ = NULL;
	gint _tmp0__length1 = 0;
	gint dest_width = 0;
	GdkPixbuf* _tmp1_ = NULL;
	gint _tmp2_ = 0;
	gint dest_height = 0;
	GdkPixbuf* _tmp3_ = NULL;
	gint _tmp4_ = 0;
	gint dest_num_channels = 0;
	GdkPixbuf* _tmp5_ = NULL;
	gint _tmp6_ = 0;
	gint dest_rowstride = 0;
	GdkPixbuf* _tmp7_ = NULL;
	gint _tmp8_ = 0;
	guchar* dest_pixels = NULL;
	GdkPixbuf* _tmp9_ = NULL;
	guint8* _tmp10_ = NULL;
	gint dest_pixels_length1 = 0;
	gint _dest_pixels_size_ = 0;
	gint cache_pixel_ticker = 0;
#line 839 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (IS_PIXEL_TRANSFORMER (self));
#line 839 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (GDK_IS_PIXBUF (dest));
#line 840 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = self->priv->optimized_transformations;
#line 840 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0__length1 = self->priv->optimized_transformations_length1;
#line 840 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (_tmp0_ == NULL) {
#line 841 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		pixel_transformer_build_optimized_transformations (self);
#line 6979 "ColorTransformation.c"
	}
#line 843 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = dest;
#line 843 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = gdk_pixbuf_get_width (_tmp1_);
#line 843 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	dest_width = _tmp2_;
#line 844 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp3_ = dest;
#line 844 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp4_ = gdk_pixbuf_get_height (_tmp3_);
#line 844 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	dest_height = _tmp4_;
#line 845 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp5_ = dest;
#line 845 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp6_ = gdk_pixbuf_get_n_channels (_tmp5_);
#line 845 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	dest_num_channels = _tmp6_;
#line 846 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp7_ = dest;
#line 846 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp8_ = gdk_pixbuf_get_rowstride (_tmp7_);
#line 846 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	dest_rowstride = _tmp8_;
#line 847 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp9_ = dest;
#line 847 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp10_ = gdk_pixbuf_get_pixels (_tmp9_);
#line 847 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	dest_pixels = _tmp10_;
#line 847 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	dest_pixels_length1 = -1;
#line 847 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_dest_pixels_size_ = dest_pixels_length1;
#line 849 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	cache_pixel_ticker = 0;
#line 7017 "ColorTransformation.c"
	{
		gint j = 0;
#line 851 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		j = 0;
#line 7022 "ColorTransformation.c"
		{
			gboolean _tmp11_ = FALSE;
#line 851 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp11_ = TRUE;
#line 851 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			while (TRUE) {
#line 7029 "ColorTransformation.c"
				gint _tmp13_ = 0;
				gint _tmp14_ = 0;
				gint row_start_index = 0;
				gint _tmp15_ = 0;
				gint _tmp16_ = 0;
				gint row_end_index = 0;
				gint _tmp17_ = 0;
				gint _tmp18_ = 0;
				gint _tmp19_ = 0;
#line 851 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (!_tmp11_) {
#line 7041 "ColorTransformation.c"
					gint _tmp12_ = 0;
#line 851 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp12_ = j;
#line 851 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					j = _tmp12_ + 1;
#line 7047 "ColorTransformation.c"
				}
#line 851 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp11_ = FALSE;
#line 851 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp13_ = j;
#line 851 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp14_ = dest_height;
#line 851 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (!(_tmp13_ < _tmp14_)) {
#line 851 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					break;
#line 7059 "ColorTransformation.c"
				}
#line 852 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp15_ = j;
#line 852 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp16_ = dest_rowstride;
#line 852 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				row_start_index = _tmp15_ * _tmp16_;
#line 853 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp17_ = row_start_index;
#line 853 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp18_ = dest_width;
#line 853 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp19_ = dest_num_channels;
#line 853 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				row_end_index = _tmp17_ + (_tmp18_ * _tmp19_);
#line 7075 "ColorTransformation.c"
				{
					gint i = 0;
					gint _tmp20_ = 0;
#line 854 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp20_ = row_start_index;
#line 854 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					i = _tmp20_;
#line 7083 "ColorTransformation.c"
					{
						gboolean _tmp21_ = FALSE;
#line 854 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp21_ = TRUE;
#line 854 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						while (TRUE) {
#line 7090 "ColorTransformation.c"
							gint _tmp24_ = 0;
							gint _tmp25_ = 0;
							RGBAnalyticPixel pixel = {0};
							gfloat* _tmp26_ = NULL;
							gint _tmp26__length1 = 0;
							gint _tmp27_ = 0;
							gfloat _tmp28_ = 0.0F;
							gfloat* _tmp29_ = NULL;
							gint _tmp29__length1 = 0;
							gint _tmp30_ = 0;
							gfloat _tmp31_ = 0.0F;
							gfloat* _tmp32_ = NULL;
							gint _tmp32__length1 = 0;
							gint _tmp33_ = 0;
							gfloat _tmp34_ = 0.0F;
							gint _tmp35_ = 0;
							RGBAnalyticPixel _tmp36_ = {0};
							RGBAnalyticPixel _tmp37_ = {0};
							guchar* _tmp38_ = NULL;
							gint _tmp38__length1 = 0;
							gint _tmp39_ = 0;
							RGBAnalyticPixel _tmp40_ = {0};
							gfloat _tmp41_ = 0.0F;
							guchar _tmp42_ = '\0';
							guchar* _tmp43_ = NULL;
							gint _tmp43__length1 = 0;
							gint _tmp44_ = 0;
							RGBAnalyticPixel _tmp45_ = {0};
							gfloat _tmp46_ = 0.0F;
							guchar _tmp47_ = '\0';
							guchar* _tmp48_ = NULL;
							gint _tmp48__length1 = 0;
							gint _tmp49_ = 0;
							RGBAnalyticPixel _tmp50_ = {0};
							gfloat _tmp51_ = 0.0F;
							guchar _tmp52_ = '\0';
#line 854 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							if (!_tmp21_) {
#line 7129 "ColorTransformation.c"
								gint _tmp22_ = 0;
								gint _tmp23_ = 0;
#line 854 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
								_tmp22_ = i;
#line 854 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
								_tmp23_ = dest_num_channels;
#line 854 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
								i = _tmp22_ + _tmp23_;
#line 7138 "ColorTransformation.c"
							}
#line 854 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp21_ = FALSE;
#line 854 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp24_ = i;
#line 854 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp25_ = row_end_index;
#line 854 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							if (!(_tmp24_ < _tmp25_)) {
#line 854 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
								break;
#line 7150 "ColorTransformation.c"
							}
#line 855 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp26_ = *fp_pixel_cache;
#line 855 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp26__length1 = *fp_pixel_cache_length1;
#line 855 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp27_ = cache_pixel_ticker;
#line 855 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp28_ = _tmp26_[_tmp27_];
#line 855 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp29_ = *fp_pixel_cache;
#line 855 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp29__length1 = *fp_pixel_cache_length1;
#line 855 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp30_ = cache_pixel_ticker;
#line 855 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp31_ = _tmp29_[_tmp30_ + 1];
#line 855 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp32_ = *fp_pixel_cache;
#line 855 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp32__length1 = *fp_pixel_cache_length1;
#line 855 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp33_ = cache_pixel_ticker;
#line 855 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp34_ = _tmp32_[_tmp33_ + 2];
#line 855 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							rgb_analytic_pixel_init_from_components (&pixel, _tmp28_, _tmp31_, _tmp34_);
#line 860 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp35_ = cache_pixel_ticker;
#line 860 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							cache_pixel_ticker = _tmp35_ + 3;
#line 862 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp36_ = pixel;
#line 862 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							pixel_transformer_apply_transformations (self, &_tmp36_, &_tmp37_);
#line 862 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							pixel = _tmp37_;
#line 864 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp38_ = dest_pixels;
#line 864 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp38__length1 = dest_pixels_length1;
#line 864 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp39_ = i;
#line 864 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp40_ = pixel;
#line 864 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp41_ = _tmp40_.red;
#line 864 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp38_[_tmp39_] = (guchar) (_tmp41_ * 255.0f);
#line 864 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp42_ = _tmp38_[_tmp39_];
#line 865 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp43_ = dest_pixels;
#line 865 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp43__length1 = dest_pixels_length1;
#line 865 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp44_ = i;
#line 865 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp45_ = pixel;
#line 865 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp46_ = _tmp45_.green;
#line 865 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp43_[_tmp44_ + 1] = (guchar) (_tmp46_ * 255.0f);
#line 865 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp47_ = _tmp43_[_tmp44_ + 1];
#line 866 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp48_ = dest_pixels;
#line 866 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp48__length1 = dest_pixels_length1;
#line 866 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp49_ = i;
#line 866 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp50_ = pixel;
#line 866 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp51_ = _tmp50_.blue;
#line 866 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp48_[_tmp49_ + 2] = (guchar) (_tmp51_ * 255.0f);
#line 866 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp52_ = _tmp48_[_tmp49_ + 2];
#line 7230 "ColorTransformation.c"
						}
					}
				}
			}
		}
	}
}


void pixel_transformer_transform_to_other_pixbuf (PixelTransformer* self, GdkPixbuf* source, GdkPixbuf* dest, GCancellable* cancellable) {
	GdkPixbuf* _tmp0_ = NULL;
	gint _tmp1_ = 0;
	gint _tmp2_ = 0;
	GdkPixbuf* _tmp3_ = NULL;
	gint _tmp4_ = 0;
	gint _tmp5_ = 0;
	GdkPixbuf* _tmp6_ = NULL;
	gint _tmp7_ = 0;
	gint _tmp8_ = 0;
	GdkPixbuf* _tmp9_ = NULL;
	gint _tmp10_ = 0;
	gint _tmp11_ = 0;
	GdkPixbuf* _tmp12_ = NULL;
	gint _tmp13_ = 0;
	gint _tmp14_ = 0;
	GdkPixbuf* _tmp15_ = NULL;
	gint _tmp16_ = 0;
	gint _tmp17_ = 0;
	PixelTransformation** _tmp18_ = NULL;
	gint _tmp18__length1 = 0;
	gint n_channels = 0;
	GdkPixbuf* _tmp19_ = NULL;
	gint _tmp20_ = 0;
	gint rowstride = 0;
	GdkPixbuf* _tmp21_ = NULL;
	gint _tmp22_ = 0;
	gint width = 0;
	GdkPixbuf* _tmp23_ = NULL;
	gint _tmp24_ = 0;
	gint height = 0;
	GdkPixbuf* _tmp25_ = NULL;
	gint _tmp26_ = 0;
	gint rowbytes = 0;
	gint _tmp27_ = 0;
	gint _tmp28_ = 0;
	guchar* source_pixels = NULL;
	GdkPixbuf* _tmp29_ = NULL;
	guint8* _tmp30_ = NULL;
	gint source_pixels_length1 = 0;
	gint _source_pixels_size_ = 0;
	guchar* dest_pixels = NULL;
	GdkPixbuf* _tmp31_ = NULL;
	guint8* _tmp32_ = NULL;
	gint dest_pixels_length1 = 0;
	gint _dest_pixels_size_ = 0;
#line 871 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (IS_PIXEL_TRANSFORMER (self));
#line 871 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (GDK_IS_PIXBUF (source));
#line 871 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (GDK_IS_PIXBUF (dest));
#line 871 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail ((cancellable == NULL) || G_IS_CANCELLABLE (cancellable));
#line 873 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = source;
#line 873 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = gdk_pixbuf_get_width (_tmp0_);
#line 873 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = _tmp1_;
#line 873 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp3_ = dest;
#line 873 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp4_ = gdk_pixbuf_get_width (_tmp3_);
#line 873 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp5_ = _tmp4_;
#line 873 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (_tmp2_ != _tmp5_) {
#line 874 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		g_error ("ColorTransformation.vala:874: PixelTransformer: source and destination" \
" pixbufs must have the same width");
#line 7310 "ColorTransformation.c"
	}
#line 876 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp6_ = source;
#line 876 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp7_ = gdk_pixbuf_get_height (_tmp6_);
#line 876 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp8_ = _tmp7_;
#line 876 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp9_ = dest;
#line 876 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp10_ = gdk_pixbuf_get_height (_tmp9_);
#line 876 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp11_ = _tmp10_;
#line 876 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (_tmp8_ != _tmp11_) {
#line 877 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		g_error ("ColorTransformation.vala:877: PixelTransformer: source and destination" \
" pixbufs must have the same height");
#line 7328 "ColorTransformation.c"
	}
#line 879 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp12_ = source;
#line 879 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp13_ = gdk_pixbuf_get_n_channels (_tmp12_);
#line 879 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp14_ = _tmp13_;
#line 879 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp15_ = dest;
#line 879 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp16_ = gdk_pixbuf_get_n_channels (_tmp15_);
#line 879 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp17_ = _tmp16_;
#line 879 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (_tmp14_ != _tmp17_) {
#line 880 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		g_error ("ColorTransformation.vala:880: %s", "PixelTransformer: source and destination pixbufs must have the same nu" \
"mber " "of channels");
#line 7346 "ColorTransformation.c"
	}
#line 883 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp18_ = self->priv->optimized_transformations;
#line 883 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp18__length1 = self->priv->optimized_transformations_length1;
#line 883 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (_tmp18_ == NULL) {
#line 884 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		pixel_transformer_build_optimized_transformations (self);
#line 7356 "ColorTransformation.c"
	}
#line 886 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp19_ = source;
#line 886 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp20_ = gdk_pixbuf_get_n_channels (_tmp19_);
#line 886 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	n_channels = _tmp20_;
#line 887 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp21_ = source;
#line 887 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp22_ = gdk_pixbuf_get_rowstride (_tmp21_);
#line 887 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	rowstride = _tmp22_;
#line 888 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp23_ = source;
#line 888 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp24_ = gdk_pixbuf_get_width (_tmp23_);
#line 888 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	width = _tmp24_;
#line 889 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp25_ = source;
#line 889 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp26_ = gdk_pixbuf_get_height (_tmp25_);
#line 889 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	height = _tmp26_;
#line 890 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp27_ = n_channels;
#line 890 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp28_ = width;
#line 890 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	rowbytes = _tmp27_ * _tmp28_;
#line 891 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp29_ = source;
#line 891 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp30_ = gdk_pixbuf_get_pixels (_tmp29_);
#line 891 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	source_pixels = _tmp30_;
#line 891 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	source_pixels_length1 = -1;
#line 891 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_source_pixels_size_ = source_pixels_length1;
#line 892 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp31_ = dest;
#line 892 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp32_ = gdk_pixbuf_get_pixels (_tmp31_);
#line 892 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	dest_pixels = _tmp32_;
#line 892 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	dest_pixels_length1 = -1;
#line 892 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_dest_pixels_size_ = dest_pixels_length1;
#line 7408 "ColorTransformation.c"
	{
		gint j = 0;
#line 893 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		j = 0;
#line 7413 "ColorTransformation.c"
		{
			gboolean _tmp33_ = FALSE;
#line 893 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp33_ = TRUE;
#line 893 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			while (TRUE) {
#line 7420 "ColorTransformation.c"
				gint _tmp35_ = 0;
				gint _tmp36_ = 0;
				gint row_start_index = 0;
				gint _tmp37_ = 0;
				gint _tmp38_ = 0;
				gint row_end_index = 0;
				gint _tmp39_ = 0;
				gint _tmp40_ = 0;
				gboolean _tmp70_ = FALSE;
				GCancellable* _tmp71_ = NULL;
#line 893 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (!_tmp33_) {
#line 7433 "ColorTransformation.c"
					gint _tmp34_ = 0;
#line 893 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp34_ = j;
#line 893 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					j = _tmp34_ + 1;
#line 7439 "ColorTransformation.c"
				}
#line 893 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp33_ = FALSE;
#line 893 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp35_ = j;
#line 893 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp36_ = height;
#line 893 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (!(_tmp35_ < _tmp36_)) {
#line 893 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					break;
#line 7451 "ColorTransformation.c"
				}
#line 894 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp37_ = j;
#line 894 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp38_ = rowstride;
#line 894 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				row_start_index = _tmp37_ * _tmp38_;
#line 895 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp39_ = row_start_index;
#line 895 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp40_ = rowbytes;
#line 895 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				row_end_index = _tmp39_ + _tmp40_;
#line 7465 "ColorTransformation.c"
				{
					gint i = 0;
					gint _tmp41_ = 0;
#line 896 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp41_ = row_start_index;
#line 896 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					i = _tmp41_;
#line 7473 "ColorTransformation.c"
					{
						gboolean _tmp42_ = FALSE;
#line 896 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp42_ = TRUE;
#line 896 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						while (TRUE) {
#line 7480 "ColorTransformation.c"
							gint _tmp45_ = 0;
							gint _tmp46_ = 0;
							RGBAnalyticPixel current_pixel = {0};
							guchar* _tmp47_ = NULL;
							gint _tmp47__length1 = 0;
							gint _tmp48_ = 0;
							guchar _tmp49_ = '\0';
							guchar* _tmp50_ = NULL;
							gint _tmp50__length1 = 0;
							gint _tmp51_ = 0;
							guchar _tmp52_ = '\0';
							guchar* _tmp53_ = NULL;
							gint _tmp53__length1 = 0;
							gint _tmp54_ = 0;
							guchar _tmp55_ = '\0';
							RGBAnalyticPixel _tmp56_ = {0};
							RGBAnalyticPixel _tmp57_ = {0};
							guchar* _tmp58_ = NULL;
							gint _tmp58__length1 = 0;
							gint _tmp59_ = 0;
							guchar _tmp60_ = '\0';
							guchar _tmp61_ = '\0';
							guchar* _tmp62_ = NULL;
							gint _tmp62__length1 = 0;
							gint _tmp63_ = 0;
							guchar _tmp64_ = '\0';
							guchar _tmp65_ = '\0';
							guchar* _tmp66_ = NULL;
							gint _tmp66__length1 = 0;
							gint _tmp67_ = 0;
							guchar _tmp68_ = '\0';
							guchar _tmp69_ = '\0';
#line 896 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							if (!_tmp42_) {
#line 7515 "ColorTransformation.c"
								gint _tmp43_ = 0;
								gint _tmp44_ = 0;
#line 896 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
								_tmp43_ = i;
#line 896 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
								_tmp44_ = n_channels;
#line 896 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
								i = _tmp43_ + _tmp44_;
#line 7524 "ColorTransformation.c"
							}
#line 896 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp42_ = FALSE;
#line 896 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp45_ = i;
#line 896 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp46_ = row_end_index;
#line 896 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							if (!(_tmp45_ < _tmp46_)) {
#line 896 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
								break;
#line 7536 "ColorTransformation.c"
							}
#line 897 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp47_ = source_pixels;
#line 897 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp47__length1 = source_pixels_length1;
#line 897 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp48_ = i;
#line 897 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp49_ = _tmp47_[_tmp48_];
#line 897 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp50_ = source_pixels;
#line 897 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp50__length1 = source_pixels_length1;
#line 897 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp51_ = i;
#line 897 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp52_ = _tmp50_[_tmp51_ + 1];
#line 897 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp53_ = source_pixels;
#line 897 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp53__length1 = source_pixels_length1;
#line 897 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp54_ = i;
#line 897 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp55_ = _tmp53_[_tmp54_ + 2];
#line 897 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							rgb_analytic_pixel_init_from_quantized_components (&current_pixel, _tmp49_, _tmp52_, _tmp55_);
#line 900 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp56_ = current_pixel;
#line 900 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							pixel_transformer_apply_transformations (self, &_tmp56_, &_tmp57_);
#line 900 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							current_pixel = _tmp57_;
#line 902 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp58_ = dest_pixels;
#line 902 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp58__length1 = dest_pixels_length1;
#line 902 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp59_ = i;
#line 902 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp60_ = rgb_analytic_pixel_quantized_red (&current_pixel);
#line 902 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp58_[_tmp59_] = _tmp60_;
#line 902 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp61_ = _tmp58_[_tmp59_];
#line 903 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp62_ = dest_pixels;
#line 903 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp62__length1 = dest_pixels_length1;
#line 903 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp63_ = i;
#line 903 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp64_ = rgb_analytic_pixel_quantized_green (&current_pixel);
#line 903 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp62_[_tmp63_ + 1] = _tmp64_;
#line 903 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp65_ = _tmp62_[_tmp63_ + 1];
#line 904 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp66_ = dest_pixels;
#line 904 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp66__length1 = dest_pixels_length1;
#line 904 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp67_ = i;
#line 904 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp68_ = rgb_analytic_pixel_quantized_blue (&current_pixel);
#line 904 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp66_[_tmp67_ + 2] = _tmp68_;
#line 904 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp69_ = _tmp66_[_tmp67_ + 2];
#line 7606 "ColorTransformation.c"
						}
					}
				}
#line 907 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp71_ = cancellable;
#line 907 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (_tmp71_ != NULL) {
#line 7614 "ColorTransformation.c"
					GCancellable* _tmp72_ = NULL;
					gboolean _tmp73_ = FALSE;
#line 907 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp72_ = cancellable;
#line 907 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp73_ = g_cancellable_is_cancelled (_tmp72_);
#line 907 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp70_ = _tmp73_;
#line 7623 "ColorTransformation.c"
				} else {
#line 907 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp70_ = FALSE;
#line 7627 "ColorTransformation.c"
				}
#line 907 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (_tmp70_) {
#line 908 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					return;
#line 7633 "ColorTransformation.c"
				}
			}
		}
	}
}


static void value_pixel_transformer_init (GValue* value) {
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	value->data[0].v_pointer = NULL;
#line 7644 "ColorTransformation.c"
}


static void value_pixel_transformer_free_value (GValue* value) {
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (value->data[0].v_pointer) {
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		pixel_transformer_unref (value->data[0].v_pointer);
#line 7653 "ColorTransformation.c"
	}
}


static void value_pixel_transformer_copy_value (const GValue* src_value, GValue* dest_value) {
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (src_value->data[0].v_pointer) {
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		dest_value->data[0].v_pointer = pixel_transformer_ref (src_value->data[0].v_pointer);
#line 7663 "ColorTransformation.c"
	} else {
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		dest_value->data[0].v_pointer = NULL;
#line 7667 "ColorTransformation.c"
	}
}


static gpointer value_pixel_transformer_peek_pointer (const GValue* value) {
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return value->data[0].v_pointer;
#line 7675 "ColorTransformation.c"
}


static gchar* value_pixel_transformer_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (collect_values[0].v_pointer) {
#line 7682 "ColorTransformation.c"
		PixelTransformer* object;
		object = collect_values[0].v_pointer;
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		if (object->parent_instance.g_class == NULL) {
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 7689 "ColorTransformation.c"
		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 7693 "ColorTransformation.c"
		}
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		value->data[0].v_pointer = pixel_transformer_ref (object);
#line 7697 "ColorTransformation.c"
	} else {
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		value->data[0].v_pointer = NULL;
#line 7701 "ColorTransformation.c"
	}
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return NULL;
#line 7705 "ColorTransformation.c"
}


static gchar* value_pixel_transformer_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
	PixelTransformer** object_p;
	object_p = collect_values[0].v_pointer;
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (!object_p) {
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
#line 7716 "ColorTransformation.c"
	}
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (!value->data[0].v_pointer) {
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		*object_p = NULL;
#line 7722 "ColorTransformation.c"
	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		*object_p = value->data[0].v_pointer;
#line 7726 "ColorTransformation.c"
	} else {
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		*object_p = pixel_transformer_ref (value->data[0].v_pointer);
#line 7730 "ColorTransformation.c"
	}
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return NULL;
#line 7734 "ColorTransformation.c"
}


GParamSpec* param_spec_pixel_transformer (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) {
	ParamSpecPixelTransformer* spec;
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (g_type_is_a (object_type, TYPE_PIXEL_TRANSFORMER), NULL);
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	G_PARAM_SPEC (spec)->value_type = object_type;
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return G_PARAM_SPEC (spec);
#line 7748 "ColorTransformation.c"
}


gpointer value_get_pixel_transformer (const GValue* value) {
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PIXEL_TRANSFORMER), NULL);
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return value->data[0].v_pointer;
#line 7757 "ColorTransformation.c"
}


void value_set_pixel_transformer (GValue* value, gpointer v_object) {
	PixelTransformer* old;
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PIXEL_TRANSFORMER));
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	old = value->data[0].v_pointer;
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (v_object) {
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PIXEL_TRANSFORMER));
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		value->data[0].v_pointer = v_object;
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		pixel_transformer_ref (value->data[0].v_pointer);
#line 7777 "ColorTransformation.c"
	} else {
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		value->data[0].v_pointer = NULL;
#line 7781 "ColorTransformation.c"
	}
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (old) {
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		pixel_transformer_unref (old);
#line 7787 "ColorTransformation.c"
	}
}


void value_take_pixel_transformer (GValue* value, gpointer v_object) {
	PixelTransformer* old;
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PIXEL_TRANSFORMER));
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	old = value->data[0].v_pointer;
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (v_object) {
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PIXEL_TRANSFORMER));
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		value->data[0].v_pointer = v_object;
#line 7806 "ColorTransformation.c"
	} else {
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		value->data[0].v_pointer = NULL;
#line 7810 "ColorTransformation.c"
	}
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (old) {
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		pixel_transformer_unref (old);
#line 7816 "ColorTransformation.c"
	}
}


static void pixel_transformer_class_init (PixelTransformerClass * klass) {
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	pixel_transformer_parent_class = g_type_class_peek_parent (klass);
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	((PixelTransformerClass *) klass)->finalize = pixel_transformer_finalize;
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_type_class_add_private (klass, sizeof (PixelTransformerPrivate));
#line 7828 "ColorTransformation.c"
}


static void pixel_transformer_instance_init (PixelTransformer * self) {
	GeeArrayList* _tmp0_ = NULL;
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv = PIXEL_TRANSFORMER_GET_PRIVATE (self);
#line 732 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = gee_array_list_new (TYPE_PIXEL_TRANSFORMATION, (GBoxedCopyFunc) pixel_transformation_ref, pixel_transformation_unref, NULL, NULL, NULL);
#line 732 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->transformations = _tmp0_;
#line 734 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->optimized_transformations = NULL;
#line 734 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->optimized_transformations_length1 = 0;
#line 734 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->_optimized_transformations_size_ = self->priv->optimized_transformations_length1;
#line 735 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->optimized_slots_used = 0;
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->ref_count = 1;
#line 7850 "ColorTransformation.c"
}


static void pixel_transformer_finalize (PixelTransformer* obj) {
	PixelTransformer * self;
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PIXEL_TRANSFORMER, PixelTransformer);
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_signal_handlers_destroy (self);
#line 732 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_g_object_unref0 (self->priv->transformations);
#line 734 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->optimized_transformations = (_vala_array_free (self->priv->optimized_transformations, self->priv->optimized_transformations_length1, (GDestroyNotify) pixel_transformation_unref), NULL);
#line 7864 "ColorTransformation.c"
}


GType pixel_transformer_get_type (void) {
	static volatile gsize pixel_transformer_type_id__volatile = 0;
	if (g_once_init_enter (&pixel_transformer_type_id__volatile)) {
		static const GTypeValueTable g_define_type_value_table = { value_pixel_transformer_init, value_pixel_transformer_free_value, value_pixel_transformer_copy_value, value_pixel_transformer_peek_pointer, "p", value_pixel_transformer_collect_value, "p", value_pixel_transformer_lcopy_value };
		static const GTypeInfo g_define_type_info = { sizeof (PixelTransformerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) pixel_transformer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PixelTransformer), 0, (GInstanceInitFunc) pixel_transformer_instance_init, &g_define_type_value_table };
		static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) };
		GType pixel_transformer_type_id;
		pixel_transformer_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PixelTransformer", &g_define_type_info, &g_define_type_fundamental_info, 0);
		g_once_init_leave (&pixel_transformer_type_id__volatile, pixel_transformer_type_id);
	}
	return pixel_transformer_type_id__volatile;
}


gpointer pixel_transformer_ref (gpointer instance) {
	PixelTransformer* self;
	self = instance;
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_atomic_int_inc (&self->ref_count);
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return instance;
#line 7889 "ColorTransformation.c"
}


void pixel_transformer_unref (gpointer instance) {
	PixelTransformer* self;
	self = instance;
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (g_atomic_int_dec_and_test (&self->ref_count)) {
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		PIXEL_TRANSFORMER_GET_CLASS (self)->finalize (self);
#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		g_type_free_instance ((GTypeInstance *) self);
#line 7902 "ColorTransformation.c"
	}
}


RGBHistogram* rgb_histogram_construct (GType object_type, GdkPixbuf* pixbuf) {
	RGBHistogram* self = NULL;
	gint sample_bytes = 0;
	GdkPixbuf* _tmp0_ = NULL;
	gint _tmp1_ = 0;
	gint pixel_bytes = 0;
	gint _tmp2_ = 0;
	GdkPixbuf* _tmp3_ = NULL;
	gint _tmp4_ = 0;
	gint row_length_bytes = 0;
	gint _tmp5_ = 0;
	GdkPixbuf* _tmp6_ = NULL;
	gint _tmp7_ = 0;
	gint _tmp8_ = 0;
	guchar* pixel_data = NULL;
	GdkPixbuf* _tmp9_ = NULL;
	guint8* _tmp10_ = NULL;
	gint pixel_data_length1 = 0;
	gint _pixel_data_size_ = 0;
#line 930 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (GDK_IS_PIXBUF (pixbuf), NULL);
#line 930 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = (RGBHistogram*) g_type_create_instance (object_type);
#line 931 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = pixbuf;
#line 931 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = gdk_pixbuf_get_bits_per_sample (_tmp0_);
#line 931 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	sample_bytes = _tmp1_ / 8;
#line 932 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = sample_bytes;
#line 932 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp3_ = pixbuf;
#line 932 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp4_ = gdk_pixbuf_get_n_channels (_tmp3_);
#line 932 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	pixel_bytes = _tmp2_ * _tmp4_;
#line 933 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp5_ = pixel_bytes;
#line 933 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp6_ = pixbuf;
#line 933 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp7_ = gdk_pixbuf_get_width (_tmp6_);
#line 933 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp8_ = _tmp7_;
#line 933 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	row_length_bytes = _tmp5_ * _tmp8_;
#line 935 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp9_ = pixbuf;
#line 935 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp10_ = gdk_pixbuf_get_pixels (_tmp9_);
#line 935 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	pixel_data = _tmp10_;
#line 935 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	pixel_data_length1 = -1;
#line 935 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_pixel_data_size_ = pixel_data_length1;
#line 7964 "ColorTransformation.c"
	{
		gint y = 0;
#line 937 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		y = 0;
#line 7969 "ColorTransformation.c"
		{
			gboolean _tmp11_ = FALSE;
#line 937 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp11_ = TRUE;
#line 937 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			while (TRUE) {
#line 7976 "ColorTransformation.c"
				gint _tmp13_ = 0;
				GdkPixbuf* _tmp14_ = NULL;
				gint _tmp15_ = 0;
				gint _tmp16_ = 0;
				gint row_start_offset = 0;
				gint _tmp17_ = 0;
				GdkPixbuf* _tmp18_ = NULL;
				gint _tmp19_ = 0;
				gint _tmp20_ = 0;
				gint r_offset = 0;
				gint _tmp21_ = 0;
				gint g_offset = 0;
				gint _tmp22_ = 0;
				gint _tmp23_ = 0;
				gint b_offset = 0;
				gint _tmp24_ = 0;
				gint _tmp25_ = 0;
				gint _tmp26_ = 0;
#line 937 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (!_tmp11_) {
#line 7997 "ColorTransformation.c"
					gint _tmp12_ = 0;
#line 937 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp12_ = y;
#line 937 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					y = _tmp12_ + 1;
#line 8003 "ColorTransformation.c"
				}
#line 937 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp11_ = FALSE;
#line 937 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp13_ = y;
#line 937 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp14_ = pixbuf;
#line 937 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp15_ = gdk_pixbuf_get_height (_tmp14_);
#line 937 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp16_ = _tmp15_;
#line 937 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (!(_tmp13_ < _tmp16_)) {
#line 937 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					break;
#line 8019 "ColorTransformation.c"
				}
#line 938 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp17_ = y;
#line 938 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp18_ = pixbuf;
#line 938 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp19_ = gdk_pixbuf_get_rowstride (_tmp18_);
#line 938 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp20_ = _tmp19_;
#line 938 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				row_start_offset = _tmp17_ * _tmp20_;
#line 940 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp21_ = row_start_offset;
#line 940 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				r_offset = _tmp21_;
#line 941 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp22_ = row_start_offset;
#line 941 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp23_ = sample_bytes;
#line 941 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				g_offset = _tmp22_ + _tmp23_;
#line 942 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp24_ = row_start_offset;
#line 942 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp25_ = sample_bytes;
#line 942 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp26_ = sample_bytes;
#line 942 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				b_offset = (_tmp24_ + _tmp25_) + _tmp26_;
#line 944 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				while (TRUE) {
#line 8051 "ColorTransformation.c"
					gint _tmp27_ = 0;
					gint _tmp28_ = 0;
					gint _tmp29_ = 0;
					gint* _tmp30_ = NULL;
					gint _tmp30__length1 = 0;
					guchar* _tmp31_ = NULL;
					gint _tmp31__length1 = 0;
					gint _tmp32_ = 0;
					guchar _tmp33_ = '\0';
					gint _tmp34_ = 0;
					gint* _tmp35_ = NULL;
					gint _tmp35__length1 = 0;
					guchar* _tmp36_ = NULL;
					gint _tmp36__length1 = 0;
					gint _tmp37_ = 0;
					guchar _tmp38_ = '\0';
					gint _tmp39_ = 0;
					gint* _tmp40_ = NULL;
					gint _tmp40__length1 = 0;
					guchar* _tmp41_ = NULL;
					gint _tmp41__length1 = 0;
					gint _tmp42_ = 0;
					guchar _tmp43_ = '\0';
					gint _tmp44_ = 0;
					gint _tmp45_ = 0;
					gint _tmp46_ = 0;
					gint _tmp47_ = 0;
					gint _tmp48_ = 0;
					gint _tmp49_ = 0;
					gint _tmp50_ = 0;
#line 944 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp27_ = b_offset;
#line 944 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp28_ = row_start_offset;
#line 944 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp29_ = row_length_bytes;
#line 944 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					if (!(_tmp27_ < (_tmp28_ + _tmp29_))) {
#line 944 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						break;
#line 8092 "ColorTransformation.c"
					}
#line 945 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp30_ = self->priv->red_counts;
#line 945 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp30__length1 = self->priv->red_counts_length1;
#line 945 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp31_ = pixel_data;
#line 945 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp31__length1 = pixel_data_length1;
#line 945 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp32_ = r_offset;
#line 945 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp33_ = _tmp31_[_tmp32_];
#line 945 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp30_[_tmp33_] += 1;
#line 945 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp34_ = _tmp30_[_tmp33_];
#line 946 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp35_ = self->priv->green_counts;
#line 946 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp35__length1 = self->priv->green_counts_length1;
#line 946 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp36_ = pixel_data;
#line 946 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp36__length1 = pixel_data_length1;
#line 946 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp37_ = g_offset;
#line 946 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp38_ = _tmp36_[_tmp37_];
#line 946 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp35_[_tmp38_] += 1;
#line 946 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp39_ = _tmp35_[_tmp38_];
#line 947 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp40_ = self->priv->blue_counts;
#line 947 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp40__length1 = self->priv->blue_counts_length1;
#line 947 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp41_ = pixel_data;
#line 947 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp41__length1 = pixel_data_length1;
#line 947 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp42_ = b_offset;
#line 947 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp43_ = _tmp41_[_tmp42_];
#line 947 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp40_[_tmp43_] += 1;
#line 947 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp44_ = _tmp40_[_tmp43_];
#line 949 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp45_ = r_offset;
#line 949 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp46_ = pixel_bytes;
#line 949 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					r_offset = _tmp45_ + _tmp46_;
#line 950 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp47_ = g_offset;
#line 950 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp48_ = pixel_bytes;
#line 950 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					g_offset = _tmp47_ + _tmp48_;
#line 951 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp49_ = b_offset;
#line 951 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp50_ = pixel_bytes;
#line 951 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					b_offset = _tmp49_ + _tmp50_;
#line 8160 "ColorTransformation.c"
				}
			}
		}
	}
#line 930 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return self;
#line 8167 "ColorTransformation.c"
}


RGBHistogram* rgb_histogram_new (GdkPixbuf* pixbuf) {
#line 930 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return rgb_histogram_construct (TYPE_RGB_HISTOGRAM, pixbuf);
#line 8174 "ColorTransformation.c"
}


static gint rgb_histogram_correct_snap_to_quantization (RGBHistogram* self, gint* buckets, int buckets_length1, gint i) {
	gint result = 0;
	gint* _tmp0_ = NULL;
	gint _tmp0__length1 = 0;
	gboolean _tmp1_ = FALSE;
	gint _tmp2_ = 0;
	gint _tmp4_ = 0;
	gint* _tmp54_ = NULL;
	gint _tmp54__length1 = 0;
	gint _tmp55_ = 0;
	gint _tmp56_ = 0;
#line 956 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (IS_RGB_HISTOGRAM (self), 0);
#line 957 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = buckets;
#line 957 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0__length1 = buckets_length1;
#line 957 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_vala_assert (_tmp0__length1 == 256, "buckets.length == 256");
#line 958 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = i;
#line 958 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (_tmp2_ >= 0) {
#line 8201 "ColorTransformation.c"
		gint _tmp3_ = 0;
#line 958 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp3_ = i;
#line 958 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp1_ = _tmp3_ <= 255;
#line 8207 "ColorTransformation.c"
	} else {
#line 958 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp1_ = FALSE;
#line 8211 "ColorTransformation.c"
	}
#line 958 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_vala_assert (_tmp1_, "(i >= 0) && (i <= 255)");
#line 960 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp4_ = i;
#line 960 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (_tmp4_ == 0) {
#line 8219 "ColorTransformation.c"
		gint* _tmp5_ = NULL;
		gint _tmp5__length1 = 0;
		gint _tmp6_ = 0;
		gint _tmp7_ = 0;
#line 961 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp5_ = buckets;
#line 961 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp5__length1 = buckets_length1;
#line 961 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp6_ = i;
#line 961 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp7_ = _tmp5_[_tmp6_];
#line 961 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		if (_tmp7_ > 0) {
#line 8234 "ColorTransformation.c"
			gint* _tmp8_ = NULL;
			gint _tmp8__length1 = 0;
			gint _tmp9_ = 0;
			gint _tmp10_ = 0;
#line 962 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp8_ = buckets;
#line 962 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp8__length1 = buckets_length1;
#line 962 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp9_ = i;
#line 962 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp10_ = _tmp8_[_tmp9_ + 1];
#line 962 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			if (_tmp10_ > 0) {
#line 8249 "ColorTransformation.c"
				gint* _tmp11_ = NULL;
				gint _tmp11__length1 = 0;
				gint _tmp12_ = 0;
				gint _tmp13_ = 0;
				gint* _tmp14_ = NULL;
				gint _tmp14__length1 = 0;
				gint _tmp15_ = 0;
				gint _tmp16_ = 0;
#line 963 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp11_ = buckets;
#line 963 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp11__length1 = buckets_length1;
#line 963 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp12_ = i;
#line 963 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp13_ = _tmp11_[_tmp12_];
#line 963 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp14_ = buckets;
#line 963 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp14__length1 = buckets_length1;
#line 963 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp15_ = i;
#line 963 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp16_ = _tmp14_[_tmp15_ + 1];
#line 963 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (_tmp13_ > (2 * _tmp16_)) {
#line 8276 "ColorTransformation.c"
					gint* _tmp17_ = NULL;
					gint _tmp17__length1 = 0;
					gint _tmp18_ = 0;
					gint _tmp19_ = 0;
#line 964 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp17_ = buckets;
#line 964 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp17__length1 = buckets_length1;
#line 964 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp18_ = i;
#line 964 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp19_ = _tmp17_[_tmp18_ + 1];
#line 964 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					result = _tmp19_;
#line 964 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					return result;
#line 8293 "ColorTransformation.c"
				}
			}
		}
	} else {
		gint _tmp20_ = 0;
#line 965 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp20_ = i;
#line 965 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		if (_tmp20_ == 255) {
#line 8303 "ColorTransformation.c"
			gint* _tmp21_ = NULL;
			gint _tmp21__length1 = 0;
			gint _tmp22_ = 0;
			gint _tmp23_ = 0;
#line 966 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp21_ = buckets;
#line 966 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp21__length1 = buckets_length1;
#line 966 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp22_ = i;
#line 966 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp23_ = _tmp21_[_tmp22_];
#line 966 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			if (_tmp23_ > 0) {
#line 8318 "ColorTransformation.c"
				gint* _tmp24_ = NULL;
				gint _tmp24__length1 = 0;
				gint _tmp25_ = 0;
				gint _tmp26_ = 0;
#line 967 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp24_ = buckets;
#line 967 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp24__length1 = buckets_length1;
#line 967 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp25_ = i;
#line 967 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp26_ = _tmp24_[_tmp25_ - 1];
#line 967 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (_tmp26_ > 0) {
#line 8333 "ColorTransformation.c"
					gint* _tmp27_ = NULL;
					gint _tmp27__length1 = 0;
					gint _tmp28_ = 0;
					gint _tmp29_ = 0;
					gint* _tmp30_ = NULL;
					gint _tmp30__length1 = 0;
					gint _tmp31_ = 0;
					gint _tmp32_ = 0;
#line 968 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp27_ = buckets;
#line 968 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp27__length1 = buckets_length1;
#line 968 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp28_ = i;
#line 968 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp29_ = _tmp27_[_tmp28_];
#line 968 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp30_ = buckets;
#line 968 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp30__length1 = buckets_length1;
#line 968 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp31_ = i;
#line 968 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp32_ = _tmp30_[_tmp31_ - 1];
#line 968 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					if (_tmp29_ > (2 * _tmp32_)) {
#line 8360 "ColorTransformation.c"
						gint* _tmp33_ = NULL;
						gint _tmp33__length1 = 0;
						gint _tmp34_ = 0;
						gint _tmp35_ = 0;
#line 969 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp33_ = buckets;
#line 969 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp33__length1 = buckets_length1;
#line 969 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp34_ = i;
#line 969 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp35_ = _tmp33_[_tmp34_ - 1];
#line 969 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						result = _tmp35_;
#line 969 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						return result;
#line 8377 "ColorTransformation.c"
					}
				}
			}
		} else {
			gint* _tmp36_ = NULL;
			gint _tmp36__length1 = 0;
			gint _tmp37_ = 0;
			gint _tmp38_ = 0;
#line 971 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp36_ = buckets;
#line 971 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp36__length1 = buckets_length1;
#line 971 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp37_ = i;
#line 971 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp38_ = _tmp36_[_tmp37_];
#line 971 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			if (_tmp38_ > 0) {
#line 8396 "ColorTransformation.c"
				gint* _tmp39_ = NULL;
				gint _tmp39__length1 = 0;
				gint _tmp40_ = 0;
				gint _tmp41_ = 0;
				gint* _tmp42_ = NULL;
				gint _tmp42__length1 = 0;
				gint _tmp43_ = 0;
				gint _tmp44_ = 0;
				gint* _tmp45_ = NULL;
				gint _tmp45__length1 = 0;
				gint _tmp46_ = 0;
				gint _tmp47_ = 0;
#line 972 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp39_ = buckets;
#line 972 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp39__length1 = buckets_length1;
#line 972 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp40_ = i;
#line 972 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp41_ = _tmp39_[_tmp40_];
#line 972 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp42_ = buckets;
#line 972 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp42__length1 = buckets_length1;
#line 972 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp43_ = i;
#line 972 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp44_ = _tmp42_[_tmp43_ - 1];
#line 972 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp45_ = buckets;
#line 972 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp45__length1 = buckets_length1;
#line 972 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp46_ = i;
#line 972 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp47_ = _tmp45_[_tmp46_ + 1];
#line 972 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (_tmp41_ > ((_tmp44_ + _tmp47_) / 2)) {
#line 8435 "ColorTransformation.c"
					gint* _tmp48_ = NULL;
					gint _tmp48__length1 = 0;
					gint _tmp49_ = 0;
					gint _tmp50_ = 0;
					gint* _tmp51_ = NULL;
					gint _tmp51__length1 = 0;
					gint _tmp52_ = 0;
					gint _tmp53_ = 0;
#line 973 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp48_ = buckets;
#line 973 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp48__length1 = buckets_length1;
#line 973 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp49_ = i;
#line 973 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp50_ = _tmp48_[_tmp49_ - 1];
#line 973 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp51_ = buckets;
#line 973 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp51__length1 = buckets_length1;
#line 973 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp52_ = i;
#line 973 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp53_ = _tmp51_[_tmp52_ + 1];
#line 973 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					result = (_tmp50_ + _tmp53_) / 2;
#line 973 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					return result;
#line 8464 "ColorTransformation.c"
				}
			}
		}
	}
#line 976 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp54_ = buckets;
#line 976 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp54__length1 = buckets_length1;
#line 976 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp55_ = i;
#line 976 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp56_ = _tmp54_[_tmp55_];
#line 976 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = _tmp56_;
#line 976 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 8481 "ColorTransformation.c"
}


static gint rgb_histogram_correct_snap_from_quantization (RGBHistogram* self, gint* buckets, int buckets_length1, gint i) {
	gint result = 0;
	gint* _tmp0_ = NULL;
	gint _tmp0__length1 = 0;
	gboolean _tmp1_ = FALSE;
	gint _tmp2_ = 0;
	gint _tmp4_ = 0;
	gint* _tmp27_ = NULL;
	gint _tmp27__length1 = 0;
	gint _tmp28_ = 0;
	gint _tmp29_ = 0;
#line 979 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (IS_RGB_HISTOGRAM (self), 0);
#line 980 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = buckets;
#line 980 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0__length1 = buckets_length1;
#line 980 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_vala_assert (_tmp0__length1 == 256, "buckets.length == 256");
#line 981 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = i;
#line 981 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (_tmp2_ >= 0) {
#line 8508 "ColorTransformation.c"
		gint _tmp3_ = 0;
#line 981 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp3_ = i;
#line 981 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp1_ = _tmp3_ <= 255;
#line 8514 "ColorTransformation.c"
	} else {
#line 981 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp1_ = FALSE;
#line 8518 "ColorTransformation.c"
	}
#line 981 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_vala_assert (_tmp1_, "(i >= 0) && (i <= 255)");
#line 983 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp4_ = i;
#line 983 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (_tmp4_ == 0) {
#line 8526 "ColorTransformation.c"
		gint* _tmp5_ = NULL;
		gint _tmp5__length1 = 0;
		gint _tmp6_ = 0;
		gint _tmp7_ = 0;
#line 984 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp5_ = buckets;
#line 984 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp5__length1 = buckets_length1;
#line 984 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp6_ = i;
#line 984 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp7_ = _tmp5_[_tmp6_];
#line 984 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		result = _tmp7_;
#line 984 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		return result;
#line 8543 "ColorTransformation.c"
	} else {
		gint _tmp8_ = 0;
#line 985 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp8_ = i;
#line 985 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		if (_tmp8_ == 255) {
#line 8550 "ColorTransformation.c"
			gint* _tmp9_ = NULL;
			gint _tmp9__length1 = 0;
			gint _tmp10_ = 0;
			gint _tmp11_ = 0;
#line 986 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp9_ = buckets;
#line 986 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp9__length1 = buckets_length1;
#line 986 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp10_ = i;
#line 986 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp11_ = _tmp9_[_tmp10_];
#line 986 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			result = _tmp11_;
#line 986 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			return result;
#line 8567 "ColorTransformation.c"
		} else {
			gint* _tmp12_ = NULL;
			gint _tmp12__length1 = 0;
			gint _tmp13_ = 0;
			gint _tmp14_ = 0;
#line 988 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp12_ = buckets;
#line 988 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp12__length1 = buckets_length1;
#line 988 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp13_ = i;
#line 988 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp14_ = _tmp12_[_tmp13_];
#line 988 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			if (_tmp14_ == 0) {
#line 8583 "ColorTransformation.c"
				gint* _tmp15_ = NULL;
				gint _tmp15__length1 = 0;
				gint _tmp16_ = 0;
				gint _tmp17_ = 0;
#line 989 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp15_ = buckets;
#line 989 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp15__length1 = buckets_length1;
#line 989 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp16_ = i;
#line 989 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp17_ = _tmp15_[_tmp16_ - 1];
#line 989 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (_tmp17_ > 0) {
#line 8598 "ColorTransformation.c"
					gint* _tmp18_ = NULL;
					gint _tmp18__length1 = 0;
					gint _tmp19_ = 0;
					gint _tmp20_ = 0;
#line 990 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp18_ = buckets;
#line 990 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp18__length1 = buckets_length1;
#line 990 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp19_ = i;
#line 990 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp20_ = _tmp18_[_tmp19_ + 1];
#line 990 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					if (_tmp20_ > 0) {
#line 8613 "ColorTransformation.c"
						gint* _tmp21_ = NULL;
						gint _tmp21__length1 = 0;
						gint _tmp22_ = 0;
						gint _tmp23_ = 0;
						gint* _tmp24_ = NULL;
						gint _tmp24__length1 = 0;
						gint _tmp25_ = 0;
						gint _tmp26_ = 0;
#line 991 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp21_ = buckets;
#line 991 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp21__length1 = buckets_length1;
#line 991 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp22_ = i;
#line 991 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp23_ = _tmp21_[_tmp22_ - 1];
#line 991 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp24_ = buckets;
#line 991 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp24__length1 = buckets_length1;
#line 991 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp25_ = i;
#line 991 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp26_ = _tmp24_[_tmp25_ + 1];
#line 991 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						result = (_tmp23_ + _tmp26_) / 2;
#line 991 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						return result;
#line 8642 "ColorTransformation.c"
					}
				}
			}
		}
	}
#line 994 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp27_ = buckets;
#line 994 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp27__length1 = buckets_length1;
#line 994 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp28_ = i;
#line 994 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp29_ = _tmp27_[_tmp28_];
#line 994 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = _tmp29_;
#line 994 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 8660 "ColorTransformation.c"
}


static void rgb_histogram_smooth_extrema (RGBHistogram* self, gint** count_data, int* count_data_length1) {
	gint* _tmp0_ = NULL;
	gint _tmp0__length1 = 0;
	gint* _tmp1_ = NULL;
	gint _tmp1__length1 = 0;
	gint* _tmp2_ = NULL;
	gint _tmp2__length1 = 0;
	gint _tmp3_ = 0;
	gint* _tmp4_ = NULL;
	gint _tmp4__length1 = 0;
	gint _tmp5_ = 0;
	gint* _tmp6_ = NULL;
	gint _tmp6__length1 = 0;
	gint _tmp7_ = 0;
	gint _tmp8_ = 0;
	gint* _tmp9_ = NULL;
	gint _tmp9__length1 = 0;
	gint* _tmp10_ = NULL;
	gint _tmp10__length1 = 0;
	gint _tmp11_ = 0;
	gint* _tmp12_ = NULL;
	gint _tmp12__length1 = 0;
	gint _tmp13_ = 0;
	gint* _tmp14_ = NULL;
	gint _tmp14__length1 = 0;
	gint _tmp15_ = 0;
	gint* _tmp16_ = NULL;
	gint _tmp16__length1 = 0;
	gint _tmp17_ = 0;
	gint _tmp18_ = 0;
	gint* _tmp19_ = NULL;
	gint _tmp19__length1 = 0;
	gint* _tmp20_ = NULL;
	gint _tmp20__length1 = 0;
	gint _tmp21_ = 0;
	gint* _tmp22_ = NULL;
	gint _tmp22__length1 = 0;
	gint _tmp23_ = 0;
	gint* _tmp24_ = NULL;
	gint _tmp24__length1 = 0;
	gint _tmp25_ = 0;
	gint* _tmp26_ = NULL;
	gint _tmp26__length1 = 0;
	gint _tmp27_ = 0;
	gint* _tmp28_ = NULL;
	gint _tmp28__length1 = 0;
	gint _tmp29_ = 0;
	gint _tmp30_ = 0;
	gint* _tmp31_ = NULL;
	gint _tmp31__length1 = 0;
	gint* _tmp32_ = NULL;
	gint _tmp32__length1 = 0;
	gint _tmp33_ = 0;
	gint* _tmp34_ = NULL;
	gint _tmp34__length1 = 0;
	gint _tmp35_ = 0;
	gint* _tmp36_ = NULL;
	gint _tmp36__length1 = 0;
	gint _tmp37_ = 0;
	gint* _tmp38_ = NULL;
	gint _tmp38__length1 = 0;
	gint _tmp39_ = 0;
	gint* _tmp40_ = NULL;
	gint _tmp40__length1 = 0;
	gint _tmp41_ = 0;
	gint _tmp42_ = 0;
	gint* _tmp43_ = NULL;
	gint _tmp43__length1 = 0;
	gint* _tmp44_ = NULL;
	gint _tmp44__length1 = 0;
	gint _tmp45_ = 0;
	gint* _tmp46_ = NULL;
	gint _tmp46__length1 = 0;
	gint _tmp47_ = 0;
	gint* _tmp48_ = NULL;
	gint _tmp48__length1 = 0;
	gint _tmp49_ = 0;
	gint* _tmp50_ = NULL;
	gint _tmp50__length1 = 0;
	gint _tmp51_ = 0;
	gint* _tmp52_ = NULL;
	gint _tmp52__length1 = 0;
	gint _tmp53_ = 0;
	gint _tmp54_ = 0;
	gint* _tmp55_ = NULL;
	gint _tmp55__length1 = 0;
	gint* _tmp56_ = NULL;
	gint _tmp56__length1 = 0;
	gint _tmp57_ = 0;
	gint* _tmp58_ = NULL;
	gint _tmp58__length1 = 0;
	gint _tmp59_ = 0;
	gint* _tmp60_ = NULL;
	gint _tmp60__length1 = 0;
	gint _tmp61_ = 0;
	gint _tmp62_ = 0;
	gint* _tmp63_ = NULL;
	gint _tmp63__length1 = 0;
	gint* _tmp64_ = NULL;
	gint _tmp64__length1 = 0;
	gint _tmp65_ = 0;
	gint* _tmp66_ = NULL;
	gint _tmp66__length1 = 0;
	gint _tmp67_ = 0;
	gint* _tmp68_ = NULL;
	gint _tmp68__length1 = 0;
	gint _tmp69_ = 0;
	gint* _tmp70_ = NULL;
	gint _tmp70__length1 = 0;
	gint _tmp71_ = 0;
	gint _tmp72_ = 0;
	gint* _tmp73_ = NULL;
	gint _tmp73__length1 = 0;
	gint* _tmp74_ = NULL;
	gint _tmp74__length1 = 0;
	gint _tmp75_ = 0;
	gint* _tmp76_ = NULL;
	gint _tmp76__length1 = 0;
	gint _tmp77_ = 0;
	gint* _tmp78_ = NULL;
	gint _tmp78__length1 = 0;
	gint _tmp79_ = 0;
	gint* _tmp80_ = NULL;
	gint _tmp80__length1 = 0;
	gint _tmp81_ = 0;
	gint* _tmp82_ = NULL;
	gint _tmp82__length1 = 0;
	gint _tmp83_ = 0;
	gint _tmp84_ = 0;
	gint* _tmp85_ = NULL;
	gint _tmp85__length1 = 0;
	gint* _tmp86_ = NULL;
	gint _tmp86__length1 = 0;
	gint _tmp87_ = 0;
	gint* _tmp88_ = NULL;
	gint _tmp88__length1 = 0;
	gint _tmp89_ = 0;
	gint* _tmp90_ = NULL;
	gint _tmp90__length1 = 0;
	gint _tmp91_ = 0;
	gint* _tmp92_ = NULL;
	gint _tmp92__length1 = 0;
	gint _tmp93_ = 0;
	gint* _tmp94_ = NULL;
	gint _tmp94__length1 = 0;
	gint _tmp95_ = 0;
	gint _tmp96_ = 0;
	gint* _tmp97_ = NULL;
	gint _tmp97__length1 = 0;
	gint* _tmp98_ = NULL;
	gint _tmp98__length1 = 0;
	gint _tmp99_ = 0;
	gint* _tmp100_ = NULL;
	gint _tmp100__length1 = 0;
	gint _tmp101_ = 0;
	gint* _tmp102_ = NULL;
	gint _tmp102__length1 = 0;
	gint _tmp103_ = 0;
	gint* _tmp104_ = NULL;
	gint _tmp104__length1 = 0;
	gint _tmp105_ = 0;
	gint* _tmp106_ = NULL;
	gint _tmp106__length1 = 0;
	gint _tmp107_ = 0;
	gint _tmp108_ = 0;
#line 997 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (IS_RGB_HISTOGRAM (self));
#line 998 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = *count_data;
#line 998 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0__length1 = *count_data_length1;
#line 998 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_vala_assert (_tmp0__length1 == 256, "count_data.length == 256");
#line 1004 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = *count_data;
#line 1004 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1__length1 = *count_data_length1;
#line 1004 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = *count_data;
#line 1004 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2__length1 = *count_data_length1;
#line 1004 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp3_ = _tmp2_[0];
#line 1004 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp4_ = *count_data;
#line 1004 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp4__length1 = *count_data_length1;
#line 1004 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp5_ = _tmp4_[1];
#line 1004 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp6_ = *count_data;
#line 1004 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp6__length1 = *count_data_length1;
#line 1004 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp7_ = _tmp6_[2];
#line 1004 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_[0] = (((5 * _tmp3_) + (3 * _tmp5_)) + (2 * _tmp7_)) / 10;
#line 1004 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp8_ = _tmp1_[0];
#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp9_ = *count_data;
#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp9__length1 = *count_data_length1;
#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp10_ = *count_data;
#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp10__length1 = *count_data_length1;
#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp11_ = _tmp10_[0];
#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp12_ = *count_data;
#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp12__length1 = *count_data_length1;
#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp13_ = _tmp12_[1];
#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp14_ = *count_data;
#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp14__length1 = *count_data_length1;
#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp15_ = _tmp14_[2];
#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp16_ = *count_data;
#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp16__length1 = *count_data_length1;
#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp17_ = _tmp16_[3];
#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp9_[1] = ((((3 * _tmp11_) + (5 * _tmp13_)) + (3 * _tmp15_)) + (2 * _tmp17_)) / 13;
#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp18_ = _tmp9_[1];
#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp19_ = *count_data;
#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp19__length1 = *count_data_length1;
#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp20_ = *count_data;
#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp20__length1 = *count_data_length1;
#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp21_ = _tmp20_[0];
#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp22_ = *count_data;
#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp22__length1 = *count_data_length1;
#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp23_ = _tmp22_[1];
#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp24_ = *count_data;
#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp24__length1 = *count_data_length1;
#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp25_ = _tmp24_[2];
#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp26_ = *count_data;
#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp26__length1 = *count_data_length1;
#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp27_ = _tmp26_[3];
#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp28_ = *count_data;
#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp28__length1 = *count_data_length1;
#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp29_ = _tmp28_[4];
#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp19_[2] = (((((2 * _tmp21_) + (3 * _tmp23_)) + (5 * _tmp25_)) + (3 * _tmp27_)) + (2 * _tmp29_)) / 15;
#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp30_ = _tmp19_[2];
#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp31_ = *count_data;
#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp31__length1 = *count_data_length1;
#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp32_ = *count_data;
#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp32__length1 = *count_data_length1;
#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp33_ = _tmp32_[1];
#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp34_ = *count_data;
#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp34__length1 = *count_data_length1;
#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp35_ = _tmp34_[2];
#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp36_ = *count_data;
#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp36__length1 = *count_data_length1;
#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp37_ = _tmp36_[3];
#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp38_ = *count_data;
#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp38__length1 = *count_data_length1;
#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp39_ = _tmp38_[4];
#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp40_ = *count_data;
#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp40__length1 = *count_data_length1;
#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp41_ = _tmp40_[5];
#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp31_[3] = (((((2 * _tmp33_) + (3 * _tmp35_)) + (5 * _tmp37_)) + (3 * _tmp39_)) + (2 * _tmp41_)) / 15;
#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp42_ = _tmp31_[3];
#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp43_ = *count_data;
#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp43__length1 = *count_data_length1;
#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp44_ = *count_data;
#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp44__length1 = *count_data_length1;
#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp45_ = _tmp44_[2];
#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp46_ = *count_data;
#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp46__length1 = *count_data_length1;
#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp47_ = _tmp46_[3];
#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp48_ = *count_data;
#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp48__length1 = *count_data_length1;
#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp49_ = _tmp48_[4];
#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp50_ = *count_data;
#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp50__length1 = *count_data_length1;
#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp51_ = _tmp50_[5];
#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp52_ = *count_data;
#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp52__length1 = *count_data_length1;
#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp53_ = _tmp52_[6];
#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp43_[4] = (((((2 * _tmp45_) + (3 * _tmp47_)) + (5 * _tmp49_)) + (3 * _tmp51_)) + (2 * _tmp53_)) / 15;
#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp54_ = _tmp43_[4];
#line 1015 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp55_ = *count_data;
#line 1015 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp55__length1 = *count_data_length1;
#line 1015 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp56_ = *count_data;
#line 1015 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp56__length1 = *count_data_length1;
#line 1015 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp57_ = _tmp56_[255];
#line 1015 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp58_ = *count_data;
#line 1015 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp58__length1 = *count_data_length1;
#line 1015 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp59_ = _tmp58_[254];
#line 1015 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp60_ = *count_data;
#line 1015 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp60__length1 = *count_data_length1;
#line 1015 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp61_ = _tmp60_[253];
#line 1015 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp55_[255] = (((5 * _tmp57_) + (3 * _tmp59_)) + (2 * _tmp61_)) / 10;
#line 1015 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp62_ = _tmp55_[255];
#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp63_ = *count_data;
#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp63__length1 = *count_data_length1;
#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp64_ = *count_data;
#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp64__length1 = *count_data_length1;
#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp65_ = _tmp64_[255];
#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp66_ = *count_data;
#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp66__length1 = *count_data_length1;
#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp67_ = _tmp66_[254];
#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp68_ = *count_data;
#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp68__length1 = *count_data_length1;
#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp69_ = _tmp68_[253];
#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp70_ = *count_data;
#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp70__length1 = *count_data_length1;
#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp71_ = _tmp70_[252];
#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp63_[254] = ((((3 * _tmp65_) + (5 * _tmp67_)) + (3 * _tmp69_)) + (2 * _tmp71_)) / 13;
#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp72_ = _tmp63_[254];
#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp73_ = *count_data;
#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp73__length1 = *count_data_length1;
#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp74_ = *count_data;
#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp74__length1 = *count_data_length1;
#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp75_ = _tmp74_[255];
#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp76_ = *count_data;
#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp76__length1 = *count_data_length1;
#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp77_ = _tmp76_[254];
#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp78_ = *count_data;
#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp78__length1 = *count_data_length1;
#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp79_ = _tmp78_[253];
#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp80_ = *count_data;
#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp80__length1 = *count_data_length1;
#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp81_ = _tmp80_[252];
#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp82_ = *count_data;
#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp82__length1 = *count_data_length1;
#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp83_ = _tmp82_[251];
#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp73_[253] = (((((2 * _tmp75_) + (3 * _tmp77_)) + (5 * _tmp79_)) + (3 * _tmp81_)) + (2 * _tmp83_)) / 15;
#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp84_ = _tmp73_[253];
#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp85_ = *count_data;
#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp85__length1 = *count_data_length1;
#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp86_ = *count_data;
#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp86__length1 = *count_data_length1;
#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp87_ = _tmp86_[254];
#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp88_ = *count_data;
#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp88__length1 = *count_data_length1;
#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp89_ = _tmp88_[253];
#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp90_ = *count_data;
#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp90__length1 = *count_data_length1;
#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp91_ = _tmp90_[252];
#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp92_ = *count_data;
#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp92__length1 = *count_data_length1;
#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp93_ = _tmp92_[251];
#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp94_ = *count_data;
#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp94__length1 = *count_data_length1;
#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp95_ = _tmp94_[250];
#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp85_[252] = (((((2 * _tmp87_) + (3 * _tmp89_)) + (5 * _tmp91_)) + (3 * _tmp93_)) + (2 * _tmp95_)) / 15;
#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp96_ = _tmp85_[252];
#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp97_ = *count_data;
#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp97__length1 = *count_data_length1;
#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp98_ = *count_data;
#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp98__length1 = *count_data_length1;
#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp99_ = _tmp98_[253];
#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp100_ = *count_data;
#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp100__length1 = *count_data_length1;
#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp101_ = _tmp100_[252];
#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp102_ = *count_data;
#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp102__length1 = *count_data_length1;
#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp103_ = _tmp102_[251];
#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp104_ = *count_data;
#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp104__length1 = *count_data_length1;
#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp105_ = _tmp104_[250];
#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp106_ = *count_data;
#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp106__length1 = *count_data_length1;
#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp107_ = _tmp106_[249];
#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp97_[251] = (((((2 * _tmp99_) + (3 * _tmp101_)) + (5 * _tmp103_)) + (3 * _tmp105_)) + (2 * _tmp107_)) / 15;
#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp108_ = _tmp97_[251];
#line 9181 "ColorTransformation.c"
}


static void rgb_histogram_prepare_qualitative_counts (RGBHistogram* self) {
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	gint* _tmp2_ = NULL;
	gint _tmp2__length1 = 0;
	gint* _tmp5_ = NULL;
	gint* _tmp6_ = NULL;
	gint* _tmp7_ = NULL;
	gint* temp_red_counts = NULL;
	gint* _tmp8_ = NULL;
	gint temp_red_counts_length1 = 0;
	gint _temp_red_counts_size_ = 0;
	gint* temp_green_counts = NULL;
	gint* _tmp9_ = NULL;
	gint temp_green_counts_length1 = 0;
	gint _temp_green_counts_size_ = 0;
	gint* temp_blue_counts = NULL;
	gint* _tmp10_ = NULL;
	gint temp_blue_counts_length1 = 0;
	gint _temp_blue_counts_size_ = 0;
	gint mean_qual_count = 0;
	gint _tmp87_ = 0;
	gint constrained_max_qual_count = 0;
	gint _tmp88_ = 0;
#line 1027 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (IS_RGB_HISTOGRAM (self));
#line 1028 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = self->priv->qualitative_red_counts;
#line 1028 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2__length1 = self->priv->qualitative_red_counts_length1;
#line 1028 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (_tmp2_ != NULL) {
#line 9217 "ColorTransformation.c"
		gint* _tmp3_ = NULL;
		gint _tmp3__length1 = 0;
#line 1028 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp3_ = self->priv->qualitative_green_counts;
#line 1028 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp3__length1 = self->priv->qualitative_green_counts_length1;
#line 1028 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp1_ = _tmp3_ != NULL;
#line 9226 "ColorTransformation.c"
	} else {
#line 1028 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp1_ = FALSE;
#line 9230 "ColorTransformation.c"
	}
#line 1028 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (_tmp1_) {
#line 9234 "ColorTransformation.c"
		gint* _tmp4_ = NULL;
		gint _tmp4__length1 = 0;
#line 1029 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp4_ = self->priv->qualitative_blue_counts;
#line 1029 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp4__length1 = self->priv->qualitative_blue_counts_length1;
#line 1029 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp0_ = _tmp4_ != NULL;
#line 9243 "ColorTransformation.c"
	} else {
#line 1028 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp0_ = FALSE;
#line 9247 "ColorTransformation.c"
	}
#line 1028 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (_tmp0_) {
#line 1030 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		return;
#line 9253 "ColorTransformation.c"
	}
#line 1032 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp5_ = g_new0 (gint, 256);
#line 1032 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->qualitative_red_counts = (g_free (self->priv->qualitative_red_counts), NULL);
#line 1032 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->qualitative_red_counts = _tmp5_;
#line 1032 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->qualitative_red_counts_length1 = 256;
#line 1032 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->_qualitative_red_counts_size_ = self->priv->qualitative_red_counts_length1;
#line 1033 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp6_ = g_new0 (gint, 256);
#line 1033 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->qualitative_green_counts = (g_free (self->priv->qualitative_green_counts), NULL);
#line 1033 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->qualitative_green_counts = _tmp6_;
#line 1033 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->qualitative_green_counts_length1 = 256;
#line 1033 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->_qualitative_green_counts_size_ = self->priv->qualitative_green_counts_length1;
#line 1034 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp7_ = g_new0 (gint, 256);
#line 1034 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->qualitative_blue_counts = (g_free (self->priv->qualitative_blue_counts), NULL);
#line 1034 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->qualitative_blue_counts = _tmp7_;
#line 1034 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->qualitative_blue_counts_length1 = 256;
#line 1034 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->_qualitative_blue_counts_size_ = self->priv->qualitative_blue_counts_length1;
#line 1036 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp8_ = g_new0 (gint, 256);
#line 1036 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	temp_red_counts = _tmp8_;
#line 1036 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	temp_red_counts_length1 = 256;
#line 1036 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_temp_red_counts_size_ = temp_red_counts_length1;
#line 1037 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp9_ = g_new0 (gint, 256);
#line 1037 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	temp_green_counts = _tmp9_;
#line 1037 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	temp_green_counts_length1 = 256;
#line 1037 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_temp_green_counts_size_ = temp_green_counts_length1;
#line 1038 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp10_ = g_new0 (gint, 256);
#line 1038 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	temp_blue_counts = _tmp10_;
#line 1038 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	temp_blue_counts_length1 = 256;
#line 1038 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_temp_blue_counts_size_ = temp_blue_counts_length1;
#line 9309 "ColorTransformation.c"
	{
		gint i = 0;
#line 1044 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		i = 0;
#line 9314 "ColorTransformation.c"
		{
			gboolean _tmp11_ = FALSE;
#line 1044 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp11_ = TRUE;
#line 1044 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			while (TRUE) {
#line 9321 "ColorTransformation.c"
				gint _tmp13_ = 0;
				gint* _tmp14_ = NULL;
				gint _tmp14__length1 = 0;
				gint _tmp15_ = 0;
				gint* _tmp16_ = NULL;
				gint _tmp16__length1 = 0;
				gint _tmp17_ = 0;
				gint _tmp18_ = 0;
				gint _tmp19_ = 0;
				gint* _tmp20_ = NULL;
				gint _tmp20__length1 = 0;
				gint _tmp21_ = 0;
				gint* _tmp22_ = NULL;
				gint _tmp22__length1 = 0;
				gint _tmp23_ = 0;
				gint _tmp24_ = 0;
				gint _tmp25_ = 0;
				gint* _tmp26_ = NULL;
				gint _tmp26__length1 = 0;
				gint _tmp27_ = 0;
				gint* _tmp28_ = NULL;
				gint _tmp28__length1 = 0;
				gint _tmp29_ = 0;
				gint _tmp30_ = 0;
				gint _tmp31_ = 0;
#line 1044 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (!_tmp11_) {
#line 9349 "ColorTransformation.c"
					gint _tmp12_ = 0;
#line 1044 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp12_ = i;
#line 1044 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					i = _tmp12_ + 1;
#line 9355 "ColorTransformation.c"
				}
#line 1044 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp11_ = FALSE;
#line 1044 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp13_ = i;
#line 1044 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (!(_tmp13_ < 256)) {
#line 1044 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					break;
#line 9365 "ColorTransformation.c"
				}
#line 1045 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp14_ = self->priv->qualitative_red_counts;
#line 1045 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp14__length1 = self->priv->qualitative_red_counts_length1;
#line 1045 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp15_ = i;
#line 1045 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp16_ = self->priv->red_counts;
#line 1045 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp16__length1 = self->priv->red_counts_length1;
#line 1045 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp17_ = i;
#line 1045 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp18_ = rgb_histogram_correct_snap_from_quantization (self, _tmp16_, _tmp16__length1, _tmp17_);
#line 1045 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp14_[_tmp15_] = _tmp18_;
#line 1045 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp19_ = _tmp14_[_tmp15_];
#line 1047 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp20_ = self->priv->qualitative_green_counts;
#line 1047 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp20__length1 = self->priv->qualitative_green_counts_length1;
#line 1047 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp21_ = i;
#line 1047 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp22_ = self->priv->green_counts;
#line 1047 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp22__length1 = self->priv->green_counts_length1;
#line 1047 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp23_ = i;
#line 1047 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp24_ = rgb_histogram_correct_snap_from_quantization (self, _tmp22_, _tmp22__length1, _tmp23_);
#line 1047 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp20_[_tmp21_] = _tmp24_;
#line 1047 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp25_ = _tmp20_[_tmp21_];
#line 1049 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp26_ = self->priv->qualitative_blue_counts;
#line 1049 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp26__length1 = self->priv->qualitative_blue_counts_length1;
#line 1049 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp27_ = i;
#line 1049 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp28_ = self->priv->blue_counts;
#line 1049 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp28__length1 = self->priv->blue_counts_length1;
#line 1049 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp29_ = i;
#line 1049 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp30_ = rgb_histogram_correct_snap_from_quantization (self, _tmp28_, _tmp28__length1, _tmp29_);
#line 1049 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp26_[_tmp27_] = _tmp30_;
#line 1049 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp31_ = _tmp26_[_tmp27_];
#line 9421 "ColorTransformation.c"
			}
		}
	}
	{
		gint i = 0;
#line 1053 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		i = 0;
#line 9429 "ColorTransformation.c"
		{
			gboolean _tmp32_ = FALSE;
#line 1053 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp32_ = TRUE;
#line 1053 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			while (TRUE) {
#line 9436 "ColorTransformation.c"
				gint _tmp34_ = 0;
				gint* _tmp35_ = NULL;
				gint _tmp35__length1 = 0;
				gint _tmp36_ = 0;
				gint* _tmp37_ = NULL;
				gint _tmp37__length1 = 0;
				gint _tmp38_ = 0;
				gint _tmp39_ = 0;
				gint _tmp40_ = 0;
				gint* _tmp41_ = NULL;
				gint _tmp41__length1 = 0;
				gint _tmp42_ = 0;
				gint* _tmp43_ = NULL;
				gint _tmp43__length1 = 0;
				gint _tmp44_ = 0;
				gint _tmp45_ = 0;
				gint _tmp46_ = 0;
				gint* _tmp47_ = NULL;
				gint _tmp47__length1 = 0;
				gint _tmp48_ = 0;
				gint* _tmp49_ = NULL;
				gint _tmp49__length1 = 0;
				gint _tmp50_ = 0;
				gint _tmp51_ = 0;
				gint _tmp52_ = 0;
#line 1053 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (!_tmp32_) {
#line 9464 "ColorTransformation.c"
					gint _tmp33_ = 0;
#line 1053 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp33_ = i;
#line 1053 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					i = _tmp33_ + 1;
#line 9470 "ColorTransformation.c"
				}
#line 1053 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp32_ = FALSE;
#line 1053 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp34_ = i;
#line 1053 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (!(_tmp34_ < 256)) {
#line 1053 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					break;
#line 9480 "ColorTransformation.c"
				}
#line 1054 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp35_ = temp_red_counts;
#line 1054 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp35__length1 = temp_red_counts_length1;
#line 1054 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp36_ = i;
#line 1054 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp37_ = self->priv->qualitative_red_counts;
#line 1054 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp37__length1 = self->priv->qualitative_red_counts_length1;
#line 1054 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp38_ = i;
#line 1054 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp39_ = _tmp37_[_tmp38_];
#line 1054 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp35_[_tmp36_] = _tmp39_;
#line 1054 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp40_ = _tmp35_[_tmp36_];
#line 1055 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp41_ = temp_green_counts;
#line 1055 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp41__length1 = temp_green_counts_length1;
#line 1055 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp42_ = i;
#line 1055 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp43_ = self->priv->qualitative_green_counts;
#line 1055 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp43__length1 = self->priv->qualitative_green_counts_length1;
#line 1055 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp44_ = i;
#line 1055 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp45_ = _tmp43_[_tmp44_];
#line 1055 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp41_[_tmp42_] = _tmp45_;
#line 1055 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp46_ = _tmp41_[_tmp42_];
#line 1056 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp47_ = temp_blue_counts;
#line 1056 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp47__length1 = temp_blue_counts_length1;
#line 1056 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp48_ = i;
#line 1056 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp49_ = self->priv->qualitative_blue_counts;
#line 1056 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp49__length1 = self->priv->qualitative_blue_counts_length1;
#line 1056 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp50_ = i;
#line 1056 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp51_ = _tmp49_[_tmp50_];
#line 1056 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp47_[_tmp48_] = _tmp51_;
#line 1056 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp52_ = _tmp47_[_tmp48_];
#line 9536 "ColorTransformation.c"
			}
		}
	}
	{
		gint i = 0;
#line 1061 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		i = 0;
#line 9544 "ColorTransformation.c"
		{
			gboolean _tmp53_ = FALSE;
#line 1061 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp53_ = TRUE;
#line 1061 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			while (TRUE) {
#line 9551 "ColorTransformation.c"
				gint _tmp55_ = 0;
				gint* _tmp56_ = NULL;
				gint _tmp56__length1 = 0;
				gint _tmp57_ = 0;
				gint* _tmp58_ = NULL;
				gint _tmp58__length1 = 0;
				gint _tmp59_ = 0;
				gint _tmp60_ = 0;
				gint _tmp61_ = 0;
				gint* _tmp62_ = NULL;
				gint _tmp62__length1 = 0;
				gint _tmp63_ = 0;
				gint* _tmp64_ = NULL;
				gint _tmp64__length1 = 0;
				gint _tmp65_ = 0;
				gint _tmp66_ = 0;
				gint _tmp67_ = 0;
				gint* _tmp68_ = NULL;
				gint _tmp68__length1 = 0;
				gint _tmp69_ = 0;
				gint* _tmp70_ = NULL;
				gint _tmp70__length1 = 0;
				gint _tmp71_ = 0;
				gint _tmp72_ = 0;
				gint _tmp73_ = 0;
#line 1061 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (!_tmp53_) {
#line 9579 "ColorTransformation.c"
					gint _tmp54_ = 0;
#line 1061 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp54_ = i;
#line 1061 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					i = _tmp54_ + 1;
#line 9585 "ColorTransformation.c"
				}
#line 1061 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp53_ = FALSE;
#line 1061 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp55_ = i;
#line 1061 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (!(_tmp55_ < 256)) {
#line 1061 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					break;
#line 9595 "ColorTransformation.c"
				}
#line 1062 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp56_ = self->priv->qualitative_red_counts;
#line 1062 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp56__length1 = self->priv->qualitative_red_counts_length1;
#line 1062 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp57_ = i;
#line 1062 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp58_ = temp_red_counts;
#line 1062 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp58__length1 = temp_red_counts_length1;
#line 1062 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp59_ = i;
#line 1062 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp60_ = rgb_histogram_correct_snap_to_quantization (self, _tmp58_, _tmp58__length1, _tmp59_);
#line 1062 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp56_[_tmp57_] = _tmp60_;
#line 1062 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp61_ = _tmp56_[_tmp57_];
#line 1064 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp62_ = self->priv->qualitative_green_counts;
#line 1064 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp62__length1 = self->priv->qualitative_green_counts_length1;
#line 1064 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp63_ = i;
#line 1064 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp64_ = temp_green_counts;
#line 1064 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp64__length1 = temp_green_counts_length1;
#line 1064 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp65_ = i;
#line 1064 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp66_ = rgb_histogram_correct_snap_to_quantization (self, _tmp64_, _tmp64__length1, _tmp65_);
#line 1064 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp62_[_tmp63_] = _tmp66_;
#line 1064 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp67_ = _tmp62_[_tmp63_];
#line 1066 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp68_ = self->priv->qualitative_blue_counts;
#line 1066 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp68__length1 = self->priv->qualitative_blue_counts_length1;
#line 1066 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp69_ = i;
#line 1066 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp70_ = temp_blue_counts;
#line 1066 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp70__length1 = temp_blue_counts_length1;
#line 1066 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp71_ = i;
#line 1066 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp72_ = rgb_histogram_correct_snap_to_quantization (self, _tmp70_, _tmp70__length1, _tmp71_);
#line 1066 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp68_[_tmp69_] = _tmp72_;
#line 1066 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp73_ = _tmp68_[_tmp69_];
#line 9651 "ColorTransformation.c"
			}
		}
	}
#line 1072 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	mean_qual_count = 0;
#line 9657 "ColorTransformation.c"
	{
		gint i = 0;
#line 1073 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		i = 0;
#line 9662 "ColorTransformation.c"
		{
			gboolean _tmp74_ = FALSE;
#line 1073 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp74_ = TRUE;
#line 1073 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			while (TRUE) {
#line 9669 "ColorTransformation.c"
				gint _tmp76_ = 0;
				gint _tmp77_ = 0;
				gint* _tmp78_ = NULL;
				gint _tmp78__length1 = 0;
				gint _tmp79_ = 0;
				gint _tmp80_ = 0;
				gint* _tmp81_ = NULL;
				gint _tmp81__length1 = 0;
				gint _tmp82_ = 0;
				gint _tmp83_ = 0;
				gint* _tmp84_ = NULL;
				gint _tmp84__length1 = 0;
				gint _tmp85_ = 0;
				gint _tmp86_ = 0;
#line 1073 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (!_tmp74_) {
#line 9686 "ColorTransformation.c"
					gint _tmp75_ = 0;
#line 1073 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp75_ = i;
#line 1073 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					i = _tmp75_ + 1;
#line 9692 "ColorTransformation.c"
				}
#line 1073 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp74_ = FALSE;
#line 1073 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp76_ = i;
#line 1073 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (!(_tmp76_ < 256)) {
#line 1073 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					break;
#line 9702 "ColorTransformation.c"
				}
#line 1074 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp77_ = mean_qual_count;
#line 1074 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp78_ = self->priv->qualitative_red_counts;
#line 1074 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp78__length1 = self->priv->qualitative_red_counts_length1;
#line 1074 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp79_ = i;
#line 1074 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp80_ = _tmp78_[_tmp79_];
#line 1074 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp81_ = self->priv->qualitative_green_counts;
#line 1074 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp81__length1 = self->priv->qualitative_green_counts_length1;
#line 1074 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp82_ = i;
#line 1074 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp83_ = _tmp81_[_tmp82_];
#line 1074 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp84_ = self->priv->qualitative_blue_counts;
#line 1074 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp84__length1 = self->priv->qualitative_blue_counts_length1;
#line 1074 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp85_ = i;
#line 1074 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp86_ = _tmp84_[_tmp85_];
#line 1074 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				mean_qual_count = _tmp77_ + ((_tmp80_ + _tmp83_) + _tmp86_);
#line 9732 "ColorTransformation.c"
			}
		}
	}
#line 1077 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp87_ = mean_qual_count;
#line 1077 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	mean_qual_count = _tmp87_ / (256 * 3);
#line 1078 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp88_ = mean_qual_count;
#line 1078 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	constrained_max_qual_count = 8 * _tmp88_;
#line 9744 "ColorTransformation.c"
	{
		gint i = 0;
#line 1079 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		i = 0;
#line 9749 "ColorTransformation.c"
		{
			gboolean _tmp89_ = FALSE;
#line 1079 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp89_ = TRUE;
#line 1079 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			while (TRUE) {
#line 9756 "ColorTransformation.c"
				gint _tmp91_ = 0;
				gint* _tmp92_ = NULL;
				gint _tmp92__length1 = 0;
				gint _tmp93_ = 0;
				gint _tmp94_ = 0;
				gint _tmp95_ = 0;
				gint* _tmp100_ = NULL;
				gint _tmp100__length1 = 0;
				gint _tmp101_ = 0;
				gint _tmp102_ = 0;
				gint _tmp103_ = 0;
				gint* _tmp108_ = NULL;
				gint _tmp108__length1 = 0;
				gint _tmp109_ = 0;
				gint _tmp110_ = 0;
				gint _tmp111_ = 0;
#line 1079 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (!_tmp89_) {
#line 9775 "ColorTransformation.c"
					gint _tmp90_ = 0;
#line 1079 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp90_ = i;
#line 1079 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					i = _tmp90_ + 1;
#line 9781 "ColorTransformation.c"
				}
#line 1079 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp89_ = FALSE;
#line 1079 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp91_ = i;
#line 1079 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (!(_tmp91_ < 256)) {
#line 1079 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					break;
#line 9791 "ColorTransformation.c"
				}
#line 1080 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp92_ = self->priv->qualitative_red_counts;
#line 1080 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp92__length1 = self->priv->qualitative_red_counts_length1;
#line 1080 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp93_ = i;
#line 1080 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp94_ = _tmp92_[_tmp93_];
#line 1080 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp95_ = constrained_max_qual_count;
#line 1080 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (_tmp94_ > _tmp95_) {
#line 9805 "ColorTransformation.c"
					gint* _tmp96_ = NULL;
					gint _tmp96__length1 = 0;
					gint _tmp97_ = 0;
					gint _tmp98_ = 0;
					gint _tmp99_ = 0;
#line 1081 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp96_ = self->priv->qualitative_red_counts;
#line 1081 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp96__length1 = self->priv->qualitative_red_counts_length1;
#line 1081 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp97_ = i;
#line 1081 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp98_ = constrained_max_qual_count;
#line 1081 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp96_[_tmp97_] = _tmp98_;
#line 1081 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp99_ = _tmp96_[_tmp97_];
#line 9823 "ColorTransformation.c"
				}
#line 1083 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp100_ = self->priv->qualitative_green_counts;
#line 1083 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp100__length1 = self->priv->qualitative_green_counts_length1;
#line 1083 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp101_ = i;
#line 1083 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp102_ = _tmp100_[_tmp101_];
#line 1083 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp103_ = constrained_max_qual_count;
#line 1083 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (_tmp102_ > _tmp103_) {
#line 9837 "ColorTransformation.c"
					gint* _tmp104_ = NULL;
					gint _tmp104__length1 = 0;
					gint _tmp105_ = 0;
					gint _tmp106_ = 0;
					gint _tmp107_ = 0;
#line 1084 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp104_ = self->priv->qualitative_green_counts;
#line 1084 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp104__length1 = self->priv->qualitative_green_counts_length1;
#line 1084 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp105_ = i;
#line 1084 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp106_ = constrained_max_qual_count;
#line 1084 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp104_[_tmp105_] = _tmp106_;
#line 1084 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp107_ = _tmp104_[_tmp105_];
#line 9855 "ColorTransformation.c"
				}
#line 1086 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp108_ = self->priv->qualitative_blue_counts;
#line 1086 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp108__length1 = self->priv->qualitative_blue_counts_length1;
#line 1086 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp109_ = i;
#line 1086 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp110_ = _tmp108_[_tmp109_];
#line 1086 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp111_ = constrained_max_qual_count;
#line 1086 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (_tmp110_ > _tmp111_) {
#line 9869 "ColorTransformation.c"
					gint* _tmp112_ = NULL;
					gint _tmp112__length1 = 0;
					gint _tmp113_ = 0;
					gint _tmp114_ = 0;
					gint _tmp115_ = 0;
#line 1087 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp112_ = self->priv->qualitative_blue_counts;
#line 1087 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp112__length1 = self->priv->qualitative_blue_counts_length1;
#line 1087 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp113_ = i;
#line 1087 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp114_ = constrained_max_qual_count;
#line 1087 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp112_[_tmp113_] = _tmp114_;
#line 1087 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp115_ = _tmp112_[_tmp113_];
#line 9887 "ColorTransformation.c"
				}
			}
		}
	}
#line 1090 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	rgb_histogram_smooth_extrema (self, &self->priv->qualitative_red_counts, &self->priv->qualitative_red_counts_length1);
#line 1091 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	rgb_histogram_smooth_extrema (self, &self->priv->qualitative_green_counts, &self->priv->qualitative_green_counts_length1);
#line 1092 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	rgb_histogram_smooth_extrema (self, &self->priv->qualitative_blue_counts, &self->priv->qualitative_blue_counts_length1);
#line 1027 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	temp_blue_counts = (g_free (temp_blue_counts), NULL);
#line 1027 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	temp_green_counts = (g_free (temp_green_counts), NULL);
#line 1027 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	temp_red_counts = (g_free (temp_red_counts), NULL);
#line 9904 "ColorTransformation.c"
}


GdkPixbuf* rgb_histogram_get_graphic (RGBHistogram* self) {
	GdkPixbuf* result = NULL;
	GdkPixbuf* _tmp0_ = NULL;
	GdkPixbuf* _tmp121_ = NULL;
	GdkPixbuf* _tmp122_ = NULL;
#line 1095 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (IS_RGB_HISTOGRAM (self), NULL);
#line 1096 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = self->priv->graphic;
#line 1096 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (_tmp0_ == NULL) {
#line 9919 "ColorTransformation.c"
		gint max_count = 0;
		GdkPixbuf* _tmp25_ = NULL;
		gint rowstride = 0;
		GdkPixbuf* _tmp26_ = NULL;
		gint _tmp27_ = 0;
		gint _tmp28_ = 0;
		gint sample_bytes = 0;
		GdkPixbuf* _tmp29_ = NULL;
		gint _tmp30_ = 0;
		gint pixel_bytes = 0;
		gint _tmp31_ = 0;
		GdkPixbuf* _tmp32_ = NULL;
		gint _tmp33_ = 0;
		gdouble scale_bar = 0.0;
		gint _tmp34_ = 0;
		guchar* pixel_data = NULL;
		GdkPixbuf* _tmp35_ = NULL;
		guint8* _tmp36_ = NULL;
		gint pixel_data_length1 = 0;
		gint _pixel_data_size_ = 0;
		gint _tmp37_ = 0;
#line 1097 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		rgb_histogram_prepare_qualitative_counts (self);
#line 1098 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		max_count = 0;
#line 9945 "ColorTransformation.c"
		{
			gint i = 0;
#line 1099 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			i = 0;
#line 9950 "ColorTransformation.c"
			{
				gboolean _tmp1_ = FALSE;
#line 1099 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp1_ = TRUE;
#line 1099 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				while (TRUE) {
#line 9957 "ColorTransformation.c"
					gint _tmp3_ = 0;
					gint* _tmp4_ = NULL;
					gint _tmp4__length1 = 0;
					gint _tmp5_ = 0;
					gint _tmp6_ = 0;
					gint _tmp7_ = 0;
					gint* _tmp11_ = NULL;
					gint _tmp11__length1 = 0;
					gint _tmp12_ = 0;
					gint _tmp13_ = 0;
					gint _tmp14_ = 0;
					gint* _tmp18_ = NULL;
					gint _tmp18__length1 = 0;
					gint _tmp19_ = 0;
					gint _tmp20_ = 0;
					gint _tmp21_ = 0;
#line 1099 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					if (!_tmp1_) {
#line 9976 "ColorTransformation.c"
						gint _tmp2_ = 0;
#line 1099 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp2_ = i;
#line 1099 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						i = _tmp2_ + 1;
#line 9982 "ColorTransformation.c"
					}
#line 1099 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp1_ = FALSE;
#line 1099 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp3_ = i;
#line 1099 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					if (!(_tmp3_ < 256)) {
#line 1099 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						break;
#line 9992 "ColorTransformation.c"
					}
#line 1100 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp4_ = self->priv->qualitative_red_counts;
#line 1100 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp4__length1 = self->priv->qualitative_red_counts_length1;
#line 1100 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp5_ = i;
#line 1100 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp6_ = _tmp4_[_tmp5_];
#line 1100 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp7_ = max_count;
#line 1100 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					if (_tmp6_ > _tmp7_) {
#line 10006 "ColorTransformation.c"
						gint* _tmp8_ = NULL;
						gint _tmp8__length1 = 0;
						gint _tmp9_ = 0;
						gint _tmp10_ = 0;
#line 1101 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp8_ = self->priv->qualitative_red_counts;
#line 1101 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp8__length1 = self->priv->qualitative_red_counts_length1;
#line 1101 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp9_ = i;
#line 1101 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp10_ = _tmp8_[_tmp9_];
#line 1101 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						max_count = _tmp10_;
#line 10021 "ColorTransformation.c"
					}
#line 1102 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp11_ = self->priv->qualitative_green_counts;
#line 1102 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp11__length1 = self->priv->qualitative_green_counts_length1;
#line 1102 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp12_ = i;
#line 1102 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp13_ = _tmp11_[_tmp12_];
#line 1102 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp14_ = max_count;
#line 1102 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					if (_tmp13_ > _tmp14_) {
#line 10035 "ColorTransformation.c"
						gint* _tmp15_ = NULL;
						gint _tmp15__length1 = 0;
						gint _tmp16_ = 0;
						gint _tmp17_ = 0;
#line 1103 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp15_ = self->priv->qualitative_green_counts;
#line 1103 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp15__length1 = self->priv->qualitative_green_counts_length1;
#line 1103 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp16_ = i;
#line 1103 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp17_ = _tmp15_[_tmp16_];
#line 1103 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						max_count = _tmp17_;
#line 10050 "ColorTransformation.c"
					}
#line 1104 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp18_ = self->priv->qualitative_blue_counts;
#line 1104 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp18__length1 = self->priv->qualitative_blue_counts_length1;
#line 1104 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp19_ = i;
#line 1104 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp20_ = _tmp18_[_tmp19_];
#line 1104 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp21_ = max_count;
#line 1104 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					if (_tmp20_ > _tmp21_) {
#line 10064 "ColorTransformation.c"
						gint* _tmp22_ = NULL;
						gint _tmp22__length1 = 0;
						gint _tmp23_ = 0;
						gint _tmp24_ = 0;
#line 1105 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp22_ = self->priv->qualitative_blue_counts;
#line 1105 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp22__length1 = self->priv->qualitative_blue_counts_length1;
#line 1105 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp23_ = i;
#line 1105 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp24_ = _tmp22_[_tmp23_];
#line 1105 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						max_count = _tmp24_;
#line 10079 "ColorTransformation.c"
					}
				}
			}
		}
#line 1108 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp25_ = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, RGB_HISTOGRAM_GRAPHIC_WIDTH, RGB_HISTOGRAM_GRAPHIC_HEIGHT);
#line 1108 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_g_object_unref0 (self->priv->graphic);
#line 1108 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		self->priv->graphic = _tmp25_;
#line 1111 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp26_ = self->priv->graphic;
#line 1111 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp27_ = gdk_pixbuf_get_rowstride (_tmp26_);
#line 1111 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp28_ = _tmp27_;
#line 1111 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		rowstride = _tmp28_;
#line 1112 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp29_ = self->priv->graphic;
#line 1112 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp30_ = gdk_pixbuf_get_bits_per_sample (_tmp29_);
#line 1112 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		sample_bytes = _tmp30_ / 8;
#line 1113 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp31_ = sample_bytes;
#line 1113 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp32_ = self->priv->graphic;
#line 1113 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp33_ = gdk_pixbuf_get_n_channels (_tmp32_);
#line 1113 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		pixel_bytes = _tmp31_ * _tmp33_;
#line 1115 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp34_ = max_count;
#line 1115 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		scale_bar = (0.98 * ((gdouble) RGB_HISTOGRAM_GRAPHIC_HEIGHT)) / ((gdouble) _tmp34_);
#line 1118 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp35_ = self->priv->graphic;
#line 1118 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp36_ = gdk_pixbuf_get_pixels (_tmp35_);
#line 1118 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		pixel_data = _tmp36_;
#line 1118 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		pixel_data_length1 = -1;
#line 1118 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_pixel_data_size_ = pixel_data_length1;
#line 1122 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp37_ = max_count;
#line 1122 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		if (_tmp37_ == 0) {
#line 10130 "ColorTransformation.c"
			GdkPixbuf* _tmp51_ = NULL;
			GdkPixbuf* _tmp52_ = NULL;
			{
				gint i = 0;
#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				i = 0;
#line 10137 "ColorTransformation.c"
				{
					gboolean _tmp38_ = FALSE;
#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp38_ = TRUE;
#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					while (TRUE) {
#line 10144 "ColorTransformation.c"
						gint _tmp40_ = 0;
						gint _tmp41_ = 0;
						GdkPixbuf* _tmp42_ = NULL;
						gint _tmp43_ = 0;
						gint _tmp44_ = 0;
						GdkPixbuf* _tmp45_ = NULL;
						gint _tmp46_ = 0;
						gint _tmp47_ = 0;
						guchar* _tmp48_ = NULL;
						gint _tmp48__length1 = 0;
						gint _tmp49_ = 0;
						guchar _tmp50_ = '\0';
#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						if (!_tmp38_) {
#line 10159 "ColorTransformation.c"
							gint _tmp39_ = 0;
#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp39_ = i;
#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							i = _tmp39_ + 1;
#line 10165 "ColorTransformation.c"
						}
#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp38_ = FALSE;
#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp40_ = i;
#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp41_ = pixel_bytes;
#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp42_ = self->priv->graphic;
#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp43_ = gdk_pixbuf_get_width (_tmp42_);
#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp44_ = _tmp43_;
#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp45_ = self->priv->graphic;
#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp46_ = gdk_pixbuf_get_height (_tmp45_);
#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp47_ = _tmp46_;
#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						if (!(_tmp40_ < ((_tmp41_ * _tmp44_) * _tmp47_))) {
#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							break;
#line 10189 "ColorTransformation.c"
						}
#line 1124 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp48_ = pixel_data;
#line 1124 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp48__length1 = pixel_data_length1;
#line 1124 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp49_ = i;
#line 1124 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp48_[_tmp49_] = RGB_HISTOGRAM_UNMARKED_BACKGROUND;
#line 1124 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp50_ = _tmp48_[_tmp49_];
#line 10201 "ColorTransformation.c"
					}
				}
			}
#line 1126 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp51_ = self->priv->graphic;
#line 1126 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp52_ = _g_object_ref0 (_tmp51_);
#line 1126 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			result = _tmp52_;
#line 1126 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			return result;
#line 10213 "ColorTransformation.c"
		}
		{
			gint x = 0;
#line 1129 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			x = 0;
#line 10219 "ColorTransformation.c"
			{
				gboolean _tmp53_ = FALSE;
#line 1129 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp53_ = TRUE;
#line 1129 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				while (TRUE) {
#line 10226 "ColorTransformation.c"
					gint _tmp55_ = 0;
					gint red_bar_height = 0;
					gint* _tmp56_ = NULL;
					gint _tmp56__length1 = 0;
					gint _tmp57_ = 0;
					gint _tmp58_ = 0;
					gdouble _tmp59_ = 0.0;
					gint green_bar_height = 0;
					gint* _tmp60_ = NULL;
					gint _tmp60__length1 = 0;
					gint _tmp61_ = 0;
					gint _tmp62_ = 0;
					gdouble _tmp63_ = 0.0;
					gint blue_bar_height = 0;
					gint* _tmp64_ = NULL;
					gint _tmp64__length1 = 0;
					gint _tmp65_ = 0;
					gint _tmp66_ = 0;
					gdouble _tmp67_ = 0.0;
					gint max_bar_height = 0;
					gint _tmp68_ = 0;
					gint _tmp69_ = 0;
					gint _tmp70_ = 0;
					gint _tmp71_ = 0;
					gint _tmp72_ = 0;
					gint y = 0;
					gint pixel_index = 0;
					gint _tmp73_ = 0;
					gint _tmp74_ = 0;
					gint _tmp75_ = 0;
					gint _tmp76_ = 0;
#line 1129 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					if (!_tmp53_) {
#line 10260 "ColorTransformation.c"
						gint _tmp54_ = 0;
#line 1129 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp54_ = x;
#line 1129 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						x = _tmp54_ + 1;
#line 10266 "ColorTransformation.c"
					}
#line 1129 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp53_ = FALSE;
#line 1129 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp55_ = x;
#line 1129 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					if (!(_tmp55_ < 256)) {
#line 1129 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						break;
#line 10276 "ColorTransformation.c"
					}
#line 1130 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp56_ = self->priv->qualitative_red_counts;
#line 1130 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp56__length1 = self->priv->qualitative_red_counts_length1;
#line 1130 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp57_ = x;
#line 1130 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp58_ = _tmp56_[_tmp57_];
#line 1130 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp59_ = scale_bar;
#line 1130 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					red_bar_height = (gint) (((gdouble) _tmp58_) * _tmp59_);
#line 1132 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp60_ = self->priv->qualitative_green_counts;
#line 1132 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp60__length1 = self->priv->qualitative_green_counts_length1;
#line 1132 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp61_ = x;
#line 1132 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp62_ = _tmp60_[_tmp61_];
#line 1132 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp63_ = scale_bar;
#line 1132 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					green_bar_height = (gint) (((gdouble) _tmp62_) * _tmp63_);
#line 1134 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp64_ = self->priv->qualitative_blue_counts;
#line 1134 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp64__length1 = self->priv->qualitative_blue_counts_length1;
#line 1134 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp65_ = x;
#line 1134 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp66_ = _tmp64_[_tmp65_];
#line 1134 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp67_ = scale_bar;
#line 1134 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					blue_bar_height = (gint) (((gdouble) _tmp66_) * _tmp67_);
#line 1137 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp68_ = red_bar_height;
#line 1137 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp69_ = green_bar_height;
#line 1137 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp70_ = MAX (_tmp68_, _tmp69_);
#line 1137 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp71_ = blue_bar_height;
#line 1137 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp72_ = MAX (_tmp70_, _tmp71_);
#line 1137 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					max_bar_height = _tmp72_;
#line 1140 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					y = RGB_HISTOGRAM_GRAPHIC_HEIGHT - 1;
#line 1141 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp73_ = x;
#line 1141 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp74_ = pixel_bytes;
#line 1141 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp75_ = y;
#line 1141 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp76_ = rowstride;
#line 1141 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					pixel_index = (_tmp73_ * _tmp74_) + (_tmp75_ * _tmp76_);
#line 10338 "ColorTransformation.c"
					{
						gboolean _tmp77_ = FALSE;
#line 1142 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp77_ = TRUE;
#line 1142 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						while (TRUE) {
#line 10345 "ColorTransformation.c"
							gint _tmp79_ = 0;
							gint _tmp80_ = 0;
							guchar* _tmp81_ = NULL;
							gint _tmp81__length1 = 0;
							gint _tmp82_ = 0;
							guchar _tmp83_ = '\0';
							guchar* _tmp84_ = NULL;
							gint _tmp84__length1 = 0;
							gint _tmp85_ = 0;
							guchar _tmp86_ = '\0';
							guchar* _tmp87_ = NULL;
							gint _tmp87__length1 = 0;
							gint _tmp88_ = 0;
							guchar _tmp89_ = '\0';
							gint _tmp90_ = 0;
							gint _tmp91_ = 0;
							gint _tmp95_ = 0;
							gint _tmp96_ = 0;
							gint _tmp100_ = 0;
							gint _tmp101_ = 0;
							gint _tmp105_ = 0;
							gint _tmp106_ = 0;
#line 1142 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							if (!_tmp77_) {
#line 10370 "ColorTransformation.c"
								gint _tmp78_ = 0;
#line 1142 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
								_tmp78_ = y;
#line 1142 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
								y = _tmp78_ - 1;
#line 10376 "ColorTransformation.c"
							}
#line 1142 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp77_ = FALSE;
#line 1142 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp79_ = y;
#line 1142 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp80_ = max_bar_height;
#line 1142 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							if (!(_tmp79_ >= (RGB_HISTOGRAM_GRAPHIC_HEIGHT - _tmp80_))) {
#line 1142 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
								break;
#line 10388 "ColorTransformation.c"
							}
#line 1143 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp81_ = pixel_data;
#line 1143 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp81__length1 = pixel_data_length1;
#line 1143 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp82_ = pixel_index;
#line 1143 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp81_[_tmp82_] = RGB_HISTOGRAM_MARKED_BACKGROUND;
#line 1143 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp83_ = _tmp81_[_tmp82_];
#line 1144 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp84_ = pixel_data;
#line 1144 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp84__length1 = pixel_data_length1;
#line 1144 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp85_ = pixel_index;
#line 1144 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp84_[_tmp85_ + 1] = RGB_HISTOGRAM_MARKED_BACKGROUND;
#line 1144 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp86_ = _tmp84_[_tmp85_ + 1];
#line 1145 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp87_ = pixel_data;
#line 1145 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp87__length1 = pixel_data_length1;
#line 1145 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp88_ = pixel_index;
#line 1145 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp87_[_tmp88_ + 2] = RGB_HISTOGRAM_MARKED_BACKGROUND;
#line 1145 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp89_ = _tmp87_[_tmp88_ + 2];
#line 1147 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp90_ = y;
#line 1147 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp91_ = red_bar_height;
#line 1147 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							if (_tmp90_ >= ((RGB_HISTOGRAM_GRAPHIC_HEIGHT - _tmp91_) - 1)) {
#line 10426 "ColorTransformation.c"
								guchar* _tmp92_ = NULL;
								gint _tmp92__length1 = 0;
								gint _tmp93_ = 0;
								guchar _tmp94_ = '\0';
#line 1148 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
								_tmp92_ = pixel_data;
#line 1148 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
								_tmp92__length1 = pixel_data_length1;
#line 1148 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
								_tmp93_ = pixel_index;
#line 1148 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
								_tmp92_[_tmp93_] = RGB_HISTOGRAM_MARKED_FOREGROUND;
#line 1148 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
								_tmp94_ = _tmp92_[_tmp93_];
#line 10441 "ColorTransformation.c"
							}
#line 1149 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp95_ = y;
#line 1149 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp96_ = green_bar_height;
#line 1149 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							if (_tmp95_ >= ((RGB_HISTOGRAM_GRAPHIC_HEIGHT - _tmp96_) - 1)) {
#line 10449 "ColorTransformation.c"
								guchar* _tmp97_ = NULL;
								gint _tmp97__length1 = 0;
								gint _tmp98_ = 0;
								guchar _tmp99_ = '\0';
#line 1150 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
								_tmp97_ = pixel_data;
#line 1150 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
								_tmp97__length1 = pixel_data_length1;
#line 1150 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
								_tmp98_ = pixel_index;
#line 1150 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
								_tmp97_[_tmp98_ + 1] = RGB_HISTOGRAM_MARKED_FOREGROUND;
#line 1150 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
								_tmp99_ = _tmp97_[_tmp98_ + 1];
#line 10464 "ColorTransformation.c"
							}
#line 1151 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp100_ = y;
#line 1151 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp101_ = blue_bar_height;
#line 1151 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							if (_tmp100_ >= ((RGB_HISTOGRAM_GRAPHIC_HEIGHT - _tmp101_) - 1)) {
#line 10472 "ColorTransformation.c"
								guchar* _tmp102_ = NULL;
								gint _tmp102__length1 = 0;
								gint _tmp103_ = 0;
								guchar _tmp104_ = '\0';
#line 1152 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
								_tmp102_ = pixel_data;
#line 1152 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
								_tmp102__length1 = pixel_data_length1;
#line 1152 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
								_tmp103_ = pixel_index;
#line 1152 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
								_tmp102_[_tmp103_ + 2] = RGB_HISTOGRAM_MARKED_FOREGROUND;
#line 1152 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
								_tmp104_ = _tmp102_[_tmp103_ + 2];
#line 10487 "ColorTransformation.c"
							}
#line 1154 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp105_ = pixel_index;
#line 1154 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp106_ = rowstride;
#line 1154 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							pixel_index = _tmp105_ - _tmp106_;
#line 10495 "ColorTransformation.c"
						}
					}
					{
						gboolean _tmp107_ = FALSE;
#line 1157 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp107_ = TRUE;
#line 1157 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						while (TRUE) {
#line 10504 "ColorTransformation.c"
							gint _tmp109_ = 0;
							guchar* _tmp110_ = NULL;
							gint _tmp110__length1 = 0;
							gint _tmp111_ = 0;
							guchar _tmp112_ = '\0';
							guchar* _tmp113_ = NULL;
							gint _tmp113__length1 = 0;
							gint _tmp114_ = 0;
							guchar _tmp115_ = '\0';
							guchar* _tmp116_ = NULL;
							gint _tmp116__length1 = 0;
							gint _tmp117_ = 0;
							guchar _tmp118_ = '\0';
							gint _tmp119_ = 0;
							gint _tmp120_ = 0;
#line 1157 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							if (!_tmp107_) {
#line 10522 "ColorTransformation.c"
								gint _tmp108_ = 0;
#line 1157 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
								_tmp108_ = y;
#line 1157 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
								y = _tmp108_ - 1;
#line 10528 "ColorTransformation.c"
							}
#line 1157 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp107_ = FALSE;
#line 1157 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp109_ = y;
#line 1157 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							if (!(_tmp109_ >= 0)) {
#line 1157 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
								break;
#line 10538 "ColorTransformation.c"
							}
#line 1158 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp110_ = pixel_data;
#line 1158 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp110__length1 = pixel_data_length1;
#line 1158 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp111_ = pixel_index;
#line 1158 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp110_[_tmp111_] = RGB_HISTOGRAM_UNMARKED_BACKGROUND;
#line 1158 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp112_ = _tmp110_[_tmp111_];
#line 1159 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp113_ = pixel_data;
#line 1159 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp113__length1 = pixel_data_length1;
#line 1159 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp114_ = pixel_index;
#line 1159 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp113_[_tmp114_ + 1] = RGB_HISTOGRAM_UNMARKED_BACKGROUND;
#line 1159 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp115_ = _tmp113_[_tmp114_ + 1];
#line 1160 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp116_ = pixel_data;
#line 1160 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp116__length1 = pixel_data_length1;
#line 1160 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp117_ = pixel_index;
#line 1160 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp116_[_tmp117_ + 2] = RGB_HISTOGRAM_UNMARKED_BACKGROUND;
#line 1160 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp118_ = _tmp116_[_tmp117_ + 2];
#line 1162 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp119_ = pixel_index;
#line 1162 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp120_ = rowstride;
#line 1162 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							pixel_index = _tmp119_ - _tmp120_;
#line 10576 "ColorTransformation.c"
						}
					}
				}
			}
		}
	}
#line 1167 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp121_ = self->priv->graphic;
#line 1167 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp122_ = _g_object_ref0 (_tmp121_);
#line 1167 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = _tmp122_;
#line 1167 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 10591 "ColorTransformation.c"
}


static void value_rgb_histogram_init (GValue* value) {
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	value->data[0].v_pointer = NULL;
#line 10598 "ColorTransformation.c"
}


static void value_rgb_histogram_free_value (GValue* value) {
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (value->data[0].v_pointer) {
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		rgb_histogram_unref (value->data[0].v_pointer);
#line 10607 "ColorTransformation.c"
	}
}


static void value_rgb_histogram_copy_value (const GValue* src_value, GValue* dest_value) {
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (src_value->data[0].v_pointer) {
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		dest_value->data[0].v_pointer = rgb_histogram_ref (src_value->data[0].v_pointer);
#line 10617 "ColorTransformation.c"
	} else {
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		dest_value->data[0].v_pointer = NULL;
#line 10621 "ColorTransformation.c"
	}
}


static gpointer value_rgb_histogram_peek_pointer (const GValue* value) {
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return value->data[0].v_pointer;
#line 10629 "ColorTransformation.c"
}


static gchar* value_rgb_histogram_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (collect_values[0].v_pointer) {
#line 10636 "ColorTransformation.c"
		RGBHistogram* object;
		object = collect_values[0].v_pointer;
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		if (object->parent_instance.g_class == NULL) {
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 10643 "ColorTransformation.c"
		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 10647 "ColorTransformation.c"
		}
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		value->data[0].v_pointer = rgb_histogram_ref (object);
#line 10651 "ColorTransformation.c"
	} else {
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		value->data[0].v_pointer = NULL;
#line 10655 "ColorTransformation.c"
	}
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return NULL;
#line 10659 "ColorTransformation.c"
}


static gchar* value_rgb_histogram_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
	RGBHistogram** object_p;
	object_p = collect_values[0].v_pointer;
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (!object_p) {
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
#line 10670 "ColorTransformation.c"
	}
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (!value->data[0].v_pointer) {
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		*object_p = NULL;
#line 10676 "ColorTransformation.c"
	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		*object_p = value->data[0].v_pointer;
#line 10680 "ColorTransformation.c"
	} else {
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		*object_p = rgb_histogram_ref (value->data[0].v_pointer);
#line 10684 "ColorTransformation.c"
	}
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return NULL;
#line 10688 "ColorTransformation.c"
}


GParamSpec* param_spec_rgb_histogram (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) {
	ParamSpecRGBHistogram* spec;
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (g_type_is_a (object_type, TYPE_RGB_HISTOGRAM), NULL);
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	G_PARAM_SPEC (spec)->value_type = object_type;
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return G_PARAM_SPEC (spec);
#line 10702 "ColorTransformation.c"
}


gpointer value_get_rgb_histogram (const GValue* value) {
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_RGB_HISTOGRAM), NULL);
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return value->data[0].v_pointer;
#line 10711 "ColorTransformation.c"
}


void value_set_rgb_histogram (GValue* value, gpointer v_object) {
	RGBHistogram* old;
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_RGB_HISTOGRAM));
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	old = value->data[0].v_pointer;
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (v_object) {
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_RGB_HISTOGRAM));
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		value->data[0].v_pointer = v_object;
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		rgb_histogram_ref (value->data[0].v_pointer);
#line 10731 "ColorTransformation.c"
	} else {
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		value->data[0].v_pointer = NULL;
#line 10735 "ColorTransformation.c"
	}
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (old) {
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		rgb_histogram_unref (old);
#line 10741 "ColorTransformation.c"
	}
}


void value_take_rgb_histogram (GValue* value, gpointer v_object) {
	RGBHistogram* old;
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_RGB_HISTOGRAM));
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	old = value->data[0].v_pointer;
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (v_object) {
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_RGB_HISTOGRAM));
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		value->data[0].v_pointer = v_object;
#line 10760 "ColorTransformation.c"
	} else {
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		value->data[0].v_pointer = NULL;
#line 10764 "ColorTransformation.c"
	}
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (old) {
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		rgb_histogram_unref (old);
#line 10770 "ColorTransformation.c"
	}
}


static void rgb_histogram_class_init (RGBHistogramClass * klass) {
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	rgb_histogram_parent_class = g_type_class_peek_parent (klass);
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	((RGBHistogramClass *) klass)->finalize = rgb_histogram_finalize;
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_type_class_add_private (klass, sizeof (RGBHistogramPrivate));
#line 10782 "ColorTransformation.c"
}


static void rgb_histogram_instance_init (RGBHistogram * self) {
	gint* _tmp0_ = NULL;
	gint* _tmp1_ = NULL;
	gint* _tmp2_ = NULL;
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv = RGB_HISTOGRAM_GET_PRIVATE (self);
#line 922 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = g_new0 (gint, 256);
#line 922 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->red_counts = _tmp0_;
#line 922 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->red_counts_length1 = 256;
#line 922 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->_red_counts_size_ = self->priv->red_counts_length1;
#line 923 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = g_new0 (gint, 256);
#line 923 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->green_counts = _tmp1_;
#line 923 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->green_counts_length1 = 256;
#line 923 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->_green_counts_size_ = self->priv->green_counts_length1;
#line 924 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = g_new0 (gint, 256);
#line 924 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->blue_counts = _tmp2_;
#line 924 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->blue_counts_length1 = 256;
#line 924 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->_blue_counts_size_ = self->priv->blue_counts_length1;
#line 925 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->qualitative_red_counts = NULL;
#line 925 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->qualitative_red_counts_length1 = 0;
#line 925 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->_qualitative_red_counts_size_ = self->priv->qualitative_red_counts_length1;
#line 926 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->qualitative_green_counts = NULL;
#line 926 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->qualitative_green_counts_length1 = 0;
#line 926 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->_qualitative_green_counts_size_ = self->priv->qualitative_green_counts_length1;
#line 927 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->qualitative_blue_counts = NULL;
#line 927 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->qualitative_blue_counts_length1 = 0;
#line 927 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->_qualitative_blue_counts_size_ = self->priv->qualitative_blue_counts_length1;
#line 928 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->graphic = NULL;
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->ref_count = 1;
#line 10838 "ColorTransformation.c"
}


static void rgb_histogram_finalize (RGBHistogram* obj) {
	RGBHistogram * self;
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_RGB_HISTOGRAM, RGBHistogram);
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_signal_handlers_destroy (self);
#line 922 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->red_counts = (g_free (self->priv->red_counts), NULL);
#line 923 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->green_counts = (g_free (self->priv->green_counts), NULL);
#line 924 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->blue_counts = (g_free (self->priv->blue_counts), NULL);
#line 925 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->qualitative_red_counts = (g_free (self->priv->qualitative_red_counts), NULL);
#line 926 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->qualitative_green_counts = (g_free (self->priv->qualitative_green_counts), NULL);
#line 927 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->qualitative_blue_counts = (g_free (self->priv->qualitative_blue_counts), NULL);
#line 928 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_g_object_unref0 (self->priv->graphic);
#line 10862 "ColorTransformation.c"
}


GType rgb_histogram_get_type (void) {
	static volatile gsize rgb_histogram_type_id__volatile = 0;
	if (g_once_init_enter (&rgb_histogram_type_id__volatile)) {
		static const GTypeValueTable g_define_type_value_table = { value_rgb_histogram_init, value_rgb_histogram_free_value, value_rgb_histogram_copy_value, value_rgb_histogram_peek_pointer, "p", value_rgb_histogram_collect_value, "p", value_rgb_histogram_lcopy_value };
		static const GTypeInfo g_define_type_info = { sizeof (RGBHistogramClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) rgb_histogram_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (RGBHistogram), 0, (GInstanceInitFunc) rgb_histogram_instance_init, &g_define_type_value_table };
		static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) };
		GType rgb_histogram_type_id;
		rgb_histogram_type_id = g_type_register_fundamental (g_type_fundamental_next (), "RGBHistogram", &g_define_type_info, &g_define_type_fundamental_info, 0);
		g_once_init_leave (&rgb_histogram_type_id__volatile, rgb_histogram_type_id);
	}
	return rgb_histogram_type_id__volatile;
}


gpointer rgb_histogram_ref (gpointer instance) {
	RGBHistogram* self;
	self = instance;
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_atomic_int_inc (&self->ref_count);
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return instance;
#line 10887 "ColorTransformation.c"
}


void rgb_histogram_unref (gpointer instance) {
	RGBHistogram* self;
	self = instance;
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (g_atomic_int_dec_and_test (&self->ref_count)) {
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		RGB_HISTOGRAM_GET_CLASS (self)->finalize (self);
#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		g_type_free_instance ((GTypeInstance *) self);
#line 10900 "ColorTransformation.c"
	}
}


IntensityHistogram* intensity_histogram_construct (GType object_type, GdkPixbuf* pixbuf) {
	IntensityHistogram* self = NULL;
	gint n_channels = 0;
	GdkPixbuf* _tmp0_ = NULL;
	gint _tmp1_ = 0;
	gint rowstride = 0;
	GdkPixbuf* _tmp2_ = NULL;
	gint _tmp3_ = 0;
	gint width = 0;
	GdkPixbuf* _tmp4_ = NULL;
	gint _tmp5_ = 0;
	gint height = 0;
	GdkPixbuf* _tmp6_ = NULL;
	gint _tmp7_ = 0;
	gint rowbytes = 0;
	gint _tmp8_ = 0;
	gint _tmp9_ = 0;
	guchar* pixels = NULL;
	GdkPixbuf* _tmp10_ = NULL;
	guint8* _tmp11_ = NULL;
	gint pixels_length1 = 0;
	gint _pixels_size_ = 0;
	gfloat pixel_count = 0.0F;
	GdkPixbuf* _tmp41_ = NULL;
	gint _tmp42_ = 0;
	gint _tmp43_ = 0;
	GdkPixbuf* _tmp44_ = NULL;
	gint _tmp45_ = 0;
	gint _tmp46_ = 0;
	gfloat accumulator = 0.0F;
#line 1176 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (GDK_IS_PIXBUF (pixbuf), NULL);
#line 1176 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = (IntensityHistogram*) g_type_create_instance (object_type);
#line 1177 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = pixbuf;
#line 1177 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = gdk_pixbuf_get_n_channels (_tmp0_);
#line 1177 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	n_channels = _tmp1_;
#line 1178 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = pixbuf;
#line 1178 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp3_ = gdk_pixbuf_get_rowstride (_tmp2_);
#line 1178 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	rowstride = _tmp3_;
#line 1179 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp4_ = pixbuf;
#line 1179 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp5_ = gdk_pixbuf_get_width (_tmp4_);
#line 1179 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	width = _tmp5_;
#line 1180 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp6_ = pixbuf;
#line 1180 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp7_ = gdk_pixbuf_get_height (_tmp6_);
#line 1180 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	height = _tmp7_;
#line 1181 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp8_ = n_channels;
#line 1181 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp9_ = width;
#line 1181 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	rowbytes = _tmp8_ * _tmp9_;
#line 1182 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp10_ = pixbuf;
#line 1182 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp11_ = gdk_pixbuf_get_pixels (_tmp10_);
#line 1182 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	pixels = _tmp11_;
#line 1182 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	pixels_length1 = -1;
#line 1182 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_pixels_size_ = pixels_length1;
#line 10979 "ColorTransformation.c"
	{
		gint j = 0;
#line 1183 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		j = 0;
#line 10984 "ColorTransformation.c"
		{
			gboolean _tmp12_ = FALSE;
#line 1183 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp12_ = TRUE;
#line 1183 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			while (TRUE) {
#line 10991 "ColorTransformation.c"
				gint _tmp14_ = 0;
				gint _tmp15_ = 0;
				gint row_start_index = 0;
				gint _tmp16_ = 0;
				gint _tmp17_ = 0;
				gint row_end_index = 0;
				gint _tmp18_ = 0;
				gint _tmp19_ = 0;
#line 1183 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (!_tmp12_) {
#line 11002 "ColorTransformation.c"
					gint _tmp13_ = 0;
#line 1183 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp13_ = j;
#line 1183 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					j = _tmp13_ + 1;
#line 11008 "ColorTransformation.c"
				}
#line 1183 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp12_ = FALSE;
#line 1183 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp14_ = j;
#line 1183 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp15_ = height;
#line 1183 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (!(_tmp14_ < _tmp15_)) {
#line 1183 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					break;
#line 11020 "ColorTransformation.c"
				}
#line 1184 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp16_ = j;
#line 1184 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp17_ = rowstride;
#line 1184 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				row_start_index = _tmp16_ * _tmp17_;
#line 1185 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp18_ = row_start_index;
#line 1185 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp19_ = rowbytes;
#line 1185 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				row_end_index = _tmp18_ + _tmp19_;
#line 11034 "ColorTransformation.c"
				{
					gint i = 0;
					gint _tmp20_ = 0;
#line 1186 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp20_ = row_start_index;
#line 1186 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					i = _tmp20_;
#line 11042 "ColorTransformation.c"
					{
						gboolean _tmp21_ = FALSE;
#line 1186 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						_tmp21_ = TRUE;
#line 1186 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
						while (TRUE) {
#line 11049 "ColorTransformation.c"
							gint _tmp24_ = 0;
							gint _tmp25_ = 0;
							RGBAnalyticPixel pix_rgb = {0};
							guchar* _tmp26_ = NULL;
							gint _tmp26__length1 = 0;
							gint _tmp27_ = 0;
							guchar _tmp28_ = '\0';
							guchar* _tmp29_ = NULL;
							gint _tmp29__length1 = 0;
							gint _tmp30_ = 0;
							guchar _tmp31_ = '\0';
							guchar* _tmp32_ = NULL;
							gint _tmp32__length1 = 0;
							gint _tmp33_ = 0;
							guchar _tmp34_ = '\0';
							HSVAnalyticPixel pix_hsi = {0};
							RGBAnalyticPixel _tmp35_ = {0};
							gint quantized_light_value = 0;
							HSVAnalyticPixel _tmp36_ = {0};
							gfloat _tmp37_ = 0.0F;
							gint* _tmp38_ = NULL;
							gint _tmp38__length1 = 0;
							gint _tmp39_ = 0;
							gint _tmp40_ = 0;
#line 1186 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							if (!_tmp21_) {
#line 11076 "ColorTransformation.c"
								gint _tmp22_ = 0;
								gint _tmp23_ = 0;
#line 1186 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
								_tmp22_ = i;
#line 1186 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
								_tmp23_ = n_channels;
#line 1186 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
								i = _tmp22_ + _tmp23_;
#line 11085 "ColorTransformation.c"
							}
#line 1186 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp21_ = FALSE;
#line 1186 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp24_ = i;
#line 1186 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp25_ = row_end_index;
#line 1186 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							if (!(_tmp24_ < _tmp25_)) {
#line 1186 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
								break;
#line 11097 "ColorTransformation.c"
							}
#line 1187 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp26_ = pixels;
#line 1187 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp26__length1 = pixels_length1;
#line 1187 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp27_ = i;
#line 1187 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp28_ = _tmp26_[_tmp27_];
#line 1187 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp29_ = pixels;
#line 1187 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp29__length1 = pixels_length1;
#line 1187 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp30_ = i;
#line 1187 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp31_ = _tmp29_[_tmp30_ + 1];
#line 1187 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp32_ = pixels;
#line 1187 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp32__length1 = pixels_length1;
#line 1187 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp33_ = i;
#line 1187 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp34_ = _tmp32_[_tmp33_ + 2];
#line 1187 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							rgb_analytic_pixel_init_from_quantized_components (&pix_rgb, _tmp28_, _tmp31_, _tmp34_);
#line 1189 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp35_ = pix_rgb;
#line 1189 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							hsv_analytic_pixel_init_from_rgb (&pix_hsi, &_tmp35_);
#line 1190 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp36_ = pix_hsi;
#line 1190 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp37_ = _tmp36_.light_value;
#line 1190 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							quantized_light_value = (gint) (_tmp37_ * 255.0f);
#line 1191 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp38_ = self->priv->counts;
#line 1191 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp38__length1 = self->priv->counts_length1;
#line 1191 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp39_ = quantized_light_value;
#line 1191 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp38_[_tmp39_] += 1;
#line 1191 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
							_tmp40_ = _tmp38_[_tmp39_];
#line 11145 "ColorTransformation.c"
						}
					}
				}
			}
		}
	}
#line 1195 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp41_ = pixbuf;
#line 1195 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp42_ = gdk_pixbuf_get_width (_tmp41_);
#line 1195 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp43_ = _tmp42_;
#line 1195 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp44_ = pixbuf;
#line 1195 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp45_ = gdk_pixbuf_get_height (_tmp44_);
#line 1195 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp46_ = _tmp45_;
#line 1195 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	pixel_count = (gfloat) (_tmp43_ * _tmp46_);
#line 1196 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	accumulator = 0.0f;
#line 11168 "ColorTransformation.c"
	{
		gint i = 0;
#line 1197 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		i = 0;
#line 11173 "ColorTransformation.c"
		{
			gboolean _tmp47_ = FALSE;
#line 1197 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp47_ = TRUE;
#line 1197 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			while (TRUE) {
#line 11180 "ColorTransformation.c"
				gint _tmp49_ = 0;
				gfloat* _tmp50_ = NULL;
				gint _tmp50__length1 = 0;
				gint _tmp51_ = 0;
				gint* _tmp52_ = NULL;
				gint _tmp52__length1 = 0;
				gint _tmp53_ = 0;
				gint _tmp54_ = 0;
				gfloat _tmp55_ = 0.0F;
				gfloat _tmp56_ = 0.0F;
				gfloat _tmp57_ = 0.0F;
				gfloat* _tmp58_ = NULL;
				gint _tmp58__length1 = 0;
				gint _tmp59_ = 0;
				gfloat _tmp60_ = 0.0F;
				gfloat* _tmp61_ = NULL;
				gint _tmp61__length1 = 0;
				gint _tmp62_ = 0;
				gfloat _tmp63_ = 0.0F;
				gfloat _tmp64_ = 0.0F;
#line 1197 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (!_tmp47_) {
#line 11203 "ColorTransformation.c"
					gint _tmp48_ = 0;
#line 1197 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp48_ = i;
#line 1197 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					i = _tmp48_ + 1;
#line 11209 "ColorTransformation.c"
				}
#line 1197 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp47_ = FALSE;
#line 1197 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp49_ = i;
#line 1197 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (!(_tmp49_ < 256)) {
#line 1197 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					break;
#line 11219 "ColorTransformation.c"
				}
#line 1198 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp50_ = self->priv->probabilities;
#line 1198 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp50__length1 = self->priv->probabilities_length1;
#line 1198 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp51_ = i;
#line 1198 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp52_ = self->priv->counts;
#line 1198 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp52__length1 = self->priv->counts_length1;
#line 1198 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp53_ = i;
#line 1198 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp54_ = _tmp52_[_tmp53_];
#line 1198 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp55_ = pixel_count;
#line 1198 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp50_[_tmp51_] = ((gfloat) _tmp54_) / _tmp55_;
#line 1198 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp56_ = _tmp50_[_tmp51_];
#line 1199 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp57_ = accumulator;
#line 1199 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp58_ = self->priv->probabilities;
#line 1199 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp58__length1 = self->priv->probabilities_length1;
#line 1199 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp59_ = i;
#line 1199 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp60_ = _tmp58_[_tmp59_];
#line 1199 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				accumulator = _tmp57_ + _tmp60_;
#line 1200 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp61_ = self->priv->cumulative_probabilities;
#line 1200 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp61__length1 = self->priv->cumulative_probabilities_length1;
#line 1200 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp62_ = i;
#line 1200 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp63_ = accumulator;
#line 1200 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp61_[_tmp62_] = _tmp63_;
#line 1200 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp64_ = _tmp61_[_tmp62_];
#line 11265 "ColorTransformation.c"
			}
		}
	}
#line 1176 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return self;
#line 11271 "ColorTransformation.c"
}


IntensityHistogram* intensity_histogram_new (GdkPixbuf* pixbuf) {
#line 1176 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return intensity_histogram_construct (TYPE_INTENSITY_HISTOGRAM, pixbuf);
#line 11278 "ColorTransformation.c"
}


gfloat intensity_histogram_get_cumulative_probability (IntensityHistogram* self, gint level) {
	gfloat result = 0.0F;
	gint _tmp0_ = 0;
	gint _tmp1_ = 0;
	gfloat* _tmp2_ = NULL;
	gint _tmp2__length1 = 0;
	gint _tmp3_ = 0;
	gfloat _tmp4_ = 0.0F;
#line 1204 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (IS_INTENSITY_HISTOGRAM (self), 0.0F);
#line 1206 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = level;
#line 1206 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = CLAMP (_tmp0_, 0, 255);
#line 1206 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	level = _tmp1_;
#line 1207 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = self->priv->cumulative_probabilities;
#line 1207 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2__length1 = self->priv->cumulative_probabilities_length1;
#line 1207 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp3_ = level;
#line 1207 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp4_ = _tmp2_[_tmp3_];
#line 1207 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = _tmp4_;
#line 1207 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 11310 "ColorTransformation.c"
}


static void value_intensity_histogram_init (GValue* value) {
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	value->data[0].v_pointer = NULL;
#line 11317 "ColorTransformation.c"
}


static void value_intensity_histogram_free_value (GValue* value) {
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (value->data[0].v_pointer) {
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		intensity_histogram_unref (value->data[0].v_pointer);
#line 11326 "ColorTransformation.c"
	}
}


static void value_intensity_histogram_copy_value (const GValue* src_value, GValue* dest_value) {
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (src_value->data[0].v_pointer) {
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		dest_value->data[0].v_pointer = intensity_histogram_ref (src_value->data[0].v_pointer);
#line 11336 "ColorTransformation.c"
	} else {
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		dest_value->data[0].v_pointer = NULL;
#line 11340 "ColorTransformation.c"
	}
}


static gpointer value_intensity_histogram_peek_pointer (const GValue* value) {
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return value->data[0].v_pointer;
#line 11348 "ColorTransformation.c"
}


static gchar* value_intensity_histogram_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (collect_values[0].v_pointer) {
#line 11355 "ColorTransformation.c"
		IntensityHistogram* object;
		object = collect_values[0].v_pointer;
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		if (object->parent_instance.g_class == NULL) {
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 11362 "ColorTransformation.c"
		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 11366 "ColorTransformation.c"
		}
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		value->data[0].v_pointer = intensity_histogram_ref (object);
#line 11370 "ColorTransformation.c"
	} else {
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		value->data[0].v_pointer = NULL;
#line 11374 "ColorTransformation.c"
	}
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return NULL;
#line 11378 "ColorTransformation.c"
}


static gchar* value_intensity_histogram_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
	IntensityHistogram** object_p;
	object_p = collect_values[0].v_pointer;
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (!object_p) {
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
#line 11389 "ColorTransformation.c"
	}
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (!value->data[0].v_pointer) {
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		*object_p = NULL;
#line 11395 "ColorTransformation.c"
	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		*object_p = value->data[0].v_pointer;
#line 11399 "ColorTransformation.c"
	} else {
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		*object_p = intensity_histogram_ref (value->data[0].v_pointer);
#line 11403 "ColorTransformation.c"
	}
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return NULL;
#line 11407 "ColorTransformation.c"
}


GParamSpec* param_spec_intensity_histogram (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) {
	ParamSpecIntensityHistogram* spec;
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (g_type_is_a (object_type, TYPE_INTENSITY_HISTOGRAM), NULL);
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	G_PARAM_SPEC (spec)->value_type = object_type;
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return G_PARAM_SPEC (spec);
#line 11421 "ColorTransformation.c"
}


gpointer value_get_intensity_histogram (const GValue* value) {
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_INTENSITY_HISTOGRAM), NULL);
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return value->data[0].v_pointer;
#line 11430 "ColorTransformation.c"
}


void value_set_intensity_histogram (GValue* value, gpointer v_object) {
	IntensityHistogram* old;
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_INTENSITY_HISTOGRAM));
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	old = value->data[0].v_pointer;
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (v_object) {
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_INTENSITY_HISTOGRAM));
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		value->data[0].v_pointer = v_object;
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		intensity_histogram_ref (value->data[0].v_pointer);
#line 11450 "ColorTransformation.c"
	} else {
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		value->data[0].v_pointer = NULL;
#line 11454 "ColorTransformation.c"
	}
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (old) {
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		intensity_histogram_unref (old);
#line 11460 "ColorTransformation.c"
	}
}


void value_take_intensity_histogram (GValue* value, gpointer v_object) {
	IntensityHistogram* old;
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_INTENSITY_HISTOGRAM));
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	old = value->data[0].v_pointer;
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (v_object) {
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_INTENSITY_HISTOGRAM));
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		value->data[0].v_pointer = v_object;
#line 11479 "ColorTransformation.c"
	} else {
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		value->data[0].v_pointer = NULL;
#line 11483 "ColorTransformation.c"
	}
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (old) {
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		intensity_histogram_unref (old);
#line 11489 "ColorTransformation.c"
	}
}


static void intensity_histogram_class_init (IntensityHistogramClass * klass) {
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	intensity_histogram_parent_class = g_type_class_peek_parent (klass);
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	((IntensityHistogramClass *) klass)->finalize = intensity_histogram_finalize;
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_type_class_add_private (klass, sizeof (IntensityHistogramPrivate));
#line 11501 "ColorTransformation.c"
}


static void intensity_histogram_instance_init (IntensityHistogram * self) {
	gint* _tmp0_ = NULL;
	gfloat* _tmp1_ = NULL;
	gfloat* _tmp2_ = NULL;
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv = INTENSITY_HISTOGRAM_GET_PRIVATE (self);
#line 1172 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = g_new0 (gint, 256);
#line 1172 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->counts = _tmp0_;
#line 1172 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->counts_length1 = 256;
#line 1172 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->_counts_size_ = self->priv->counts_length1;
#line 1173 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = g_new0 (gfloat, 256);
#line 1173 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->probabilities = _tmp1_;
#line 1173 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->probabilities_length1 = 256;
#line 1173 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->_probabilities_size_ = self->priv->probabilities_length1;
#line 1174 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = g_new0 (gfloat, 256);
#line 1174 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->cumulative_probabilities = _tmp2_;
#line 1174 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->cumulative_probabilities_length1 = 256;
#line 1174 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->_cumulative_probabilities_size_ = self->priv->cumulative_probabilities_length1;
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->ref_count = 1;
#line 11537 "ColorTransformation.c"
}


static void intensity_histogram_finalize (IntensityHistogram* obj) {
	IntensityHistogram * self;
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_INTENSITY_HISTOGRAM, IntensityHistogram);
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_signal_handlers_destroy (self);
#line 1172 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->counts = (g_free (self->priv->counts), NULL);
#line 1173 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->probabilities = (g_free (self->priv->probabilities), NULL);
#line 1174 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->cumulative_probabilities = (g_free (self->priv->cumulative_probabilities), NULL);
#line 11553 "ColorTransformation.c"
}


GType intensity_histogram_get_type (void) {
	static volatile gsize intensity_histogram_type_id__volatile = 0;
	if (g_once_init_enter (&intensity_histogram_type_id__volatile)) {
		static const GTypeValueTable g_define_type_value_table = { value_intensity_histogram_init, value_intensity_histogram_free_value, value_intensity_histogram_copy_value, value_intensity_histogram_peek_pointer, "p", value_intensity_histogram_collect_value, "p", value_intensity_histogram_lcopy_value };
		static const GTypeInfo g_define_type_info = { sizeof (IntensityHistogramClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) intensity_histogram_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (IntensityHistogram), 0, (GInstanceInitFunc) intensity_histogram_instance_init, &g_define_type_value_table };
		static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) };
		GType intensity_histogram_type_id;
		intensity_histogram_type_id = g_type_register_fundamental (g_type_fundamental_next (), "IntensityHistogram", &g_define_type_info, &g_define_type_fundamental_info, 0);
		g_once_init_leave (&intensity_histogram_type_id__volatile, intensity_histogram_type_id);
	}
	return intensity_histogram_type_id__volatile;
}


gpointer intensity_histogram_ref (gpointer instance) {
	IntensityHistogram* self;
	self = instance;
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_atomic_int_inc (&self->ref_count);
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return instance;
#line 11578 "ColorTransformation.c"
}


void intensity_histogram_unref (gpointer instance) {
	IntensityHistogram* self;
	self = instance;
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (g_atomic_int_dec_and_test (&self->ref_count)) {
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		INTENSITY_HISTOGRAM_GET_CLASS (self)->finalize (self);
#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		g_type_free_instance ((GTypeInstance *) self);
#line 11591 "ColorTransformation.c"
	}
}


ExpansionTransformation* expansion_transformation_construct (GType object_type, IntensityHistogram* histogram) {
	ExpansionTransformation* self = NULL;
	gfloat* _tmp0_ = NULL;
	gfloat LOW_KINK_MASS = 0.0F;
	gfloat HIGH_KINK_MASS = 0.0F;
#line 1219 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (IS_INTENSITY_HISTOGRAM (histogram), NULL);
#line 1220 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = (ExpansionTransformation*) hsv_transformation_construct (object_type, PIXEL_TRANSFORMATION_TYPE_TONE_EXPANSION);
#line 1222 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = g_new0 (gfloat, 256);
#line 1222 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->remap_table = (g_free (self->priv->remap_table), NULL);
#line 1222 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->remap_table = _tmp0_;
#line 1222 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->remap_table_length1 = 256;
#line 1222 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->_remap_table_size_ = self->priv->remap_table_length1;
#line 1224 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	LOW_KINK_MASS = EXPANSION_TRANSFORMATION_LOW_DISCARD_MASS;
#line 1225 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->low_kink = 0;
#line 1226 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	while (TRUE) {
#line 11621 "ColorTransformation.c"
		IntensityHistogram* _tmp1_ = NULL;
		gint _tmp2_ = 0;
		gfloat _tmp3_ = 0.0F;
		gfloat _tmp4_ = 0.0F;
		gint _tmp5_ = 0;
#line 1226 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp1_ = histogram;
#line 1226 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp2_ = self->priv->low_kink;
#line 1226 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp3_ = intensity_histogram_get_cumulative_probability (_tmp1_, _tmp2_);
#line 1226 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp4_ = LOW_KINK_MASS;
#line 1226 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		if (!(_tmp3_ < _tmp4_)) {
#line 1226 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			break;
#line 11639 "ColorTransformation.c"
		}
#line 1227 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp5_ = self->priv->low_kink;
#line 1227 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		self->priv->low_kink = _tmp5_ + 1;
#line 11645 "ColorTransformation.c"
	}
#line 1229 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	HIGH_KINK_MASS = 1.0f - EXPANSION_TRANSFORMATION_HIGH_DISCARD_MASS;
#line 1230 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->high_kink = 255;
#line 1231 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	while (TRUE) {
#line 11653 "ColorTransformation.c"
		gboolean _tmp6_ = FALSE;
		IntensityHistogram* _tmp7_ = NULL;
		gint _tmp8_ = 0;
		gfloat _tmp9_ = 0.0F;
		gfloat _tmp10_ = 0.0F;
		gint _tmp12_ = 0;
#line 1231 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp7_ = histogram;
#line 1231 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp8_ = self->priv->high_kink;
#line 1231 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp9_ = intensity_histogram_get_cumulative_probability (_tmp7_, _tmp8_);
#line 1231 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp10_ = HIGH_KINK_MASS;
#line 1231 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		if (_tmp9_ > _tmp10_) {
#line 11670 "ColorTransformation.c"
			gint _tmp11_ = 0;
#line 1231 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp11_ = self->priv->high_kink;
#line 1231 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp6_ = _tmp11_ > 0;
#line 11676 "ColorTransformation.c"
		} else {
#line 1231 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp6_ = FALSE;
#line 11680 "ColorTransformation.c"
		}
#line 1231 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		if (!_tmp6_) {
#line 1231 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			break;
#line 11686 "ColorTransformation.c"
		}
#line 1232 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp12_ = self->priv->high_kink;
#line 1232 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		self->priv->high_kink = _tmp12_ - 1;
#line 11692 "ColorTransformation.c"
	}
#line 1234 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	expansion_transformation_build_remap_table (self);
#line 1219 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return self;
#line 11698 "ColorTransformation.c"
}


ExpansionTransformation* expansion_transformation_new (IntensityHistogram* histogram) {
#line 1219 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return expansion_transformation_construct (TYPE_EXPANSION_TRANSFORMATION, histogram);
#line 11705 "ColorTransformation.c"
}


ExpansionTransformation* expansion_transformation_construct_from_extrema (GType object_type, gint black_point, gint white_point) {
	ExpansionTransformation* self = NULL;
	gint _tmp0_ = 0;
	gint _tmp1_ = 0;
	gint _tmp2_ = 0;
	gint _tmp3_ = 0;
	gint _tmp4_ = 0;
	gint _tmp5_ = 0;
	gint _tmp9_ = 0;
	gint _tmp10_ = 0;
#line 1238 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = (ExpansionTransformation*) hsv_transformation_construct (object_type, PIXEL_TRANSFORMATION_TYPE_TONE_EXPANSION);
#line 1240 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = white_point;
#line 1240 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = CLAMP (_tmp0_, 0, 255);
#line 1240 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	white_point = _tmp1_;
#line 1241 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = black_point;
#line 1241 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp3_ = CLAMP (_tmp2_, 0, 255);
#line 1241 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	black_point = _tmp3_;
#line 1243 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp4_ = black_point;
#line 1243 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp5_ = white_point;
#line 1243 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (_tmp4_ == _tmp5_) {
#line 11739 "ColorTransformation.c"
		gint _tmp6_ = 0;
#line 1244 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp6_ = black_point;
#line 1244 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		if (_tmp6_ == 0) {
#line 1245 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			white_point = 1;
#line 11747 "ColorTransformation.c"
		} else {
			gint _tmp7_ = 0;
#line 1246 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp7_ = white_point;
#line 1246 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			if (_tmp7_ == 255) {
#line 1247 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				black_point = 254;
#line 11756 "ColorTransformation.c"
			} else {
				gint _tmp8_ = 0;
#line 1249 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp8_ = white_point;
#line 1249 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				black_point = _tmp8_ - 1;
#line 11763 "ColorTransformation.c"
			}
		}
	}
#line 1252 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp9_ = black_point;
#line 1252 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->low_kink = _tmp9_;
#line 1253 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp10_ = white_point;
#line 1253 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->high_kink = _tmp10_;
#line 1255 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	expansion_transformation_build_remap_table (self);
#line 1237 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return self;
#line 11779 "ColorTransformation.c"
}


ExpansionTransformation* expansion_transformation_new_from_extrema (gint black_point, gint white_point) {
#line 1237 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return expansion_transformation_construct_from_extrema (TYPE_EXPANSION_TRANSFORMATION, black_point, white_point);
#line 11786 "ColorTransformation.c"
}


static gchar* string_chug (const gchar* self) {
	gchar* result = NULL;
	gchar* _result_ = NULL;
	gchar* _tmp0_ = NULL;
	const gchar* _tmp1_ = NULL;
#line 1199 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	g_return_val_if_fail (self != NULL, NULL);
#line 1200 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	_tmp0_ = g_strdup (self);
#line 1200 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	_result_ = _tmp0_;
#line 1201 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	_tmp1_ = _result_;
#line 1201 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	g_strchug (_tmp1_);
#line 1202 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	result = _result_;
#line 1202 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	return result;
#line 11809 "ColorTransformation.c"
}


static gchar* string_chomp (const gchar* self) {
	gchar* result = NULL;
	gchar* _result_ = NULL;
	gchar* _tmp0_ = NULL;
	const gchar* _tmp1_ = NULL;
#line 1191 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	g_return_val_if_fail (self != NULL, NULL);
#line 1192 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	_tmp0_ = g_strdup (self);
#line 1192 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	_result_ = _tmp0_;
#line 1193 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	_tmp1_ = _result_;
#line 1193 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	g_strchomp (_tmp1_);
#line 1194 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	result = _result_;
#line 1194 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	return result;
#line 11832 "ColorTransformation.c"
}


ExpansionTransformation* expansion_transformation_construct_from_string (GType object_type, const gchar* encoded_transformation) {
	ExpansionTransformation* self = NULL;
	const gchar* _tmp0_ = NULL;
	const gchar* _tmp1_ = NULL;
	gchar* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	const gchar* _tmp4_ = NULL;
	gchar* _tmp5_ = NULL;
	gchar* _tmp6_ = NULL;
	gint num_captured = 0;
	const gchar* _tmp7_ = NULL;
	gint _tmp8_ = 0;
#line 1258 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (encoded_transformation != NULL, NULL);
#line 1259 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = (ExpansionTransformation*) hsv_transformation_construct (object_type, PIXEL_TRANSFORMATION_TYPE_TONE_EXPANSION);
#line 1261 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = encoded_transformation;
#line 1261 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_strcanon (_tmp0_, "0123456789. ", ' ');
#line 1262 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = encoded_transformation;
#line 1262 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = string_chug (_tmp1_);
#line 1262 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp3_ = _tmp2_;
#line 1262 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_g_free0 (_tmp3_);
#line 1263 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp4_ = encoded_transformation;
#line 1263 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp5_ = string_chomp (_tmp4_);
#line 1263 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp6_ = _tmp5_;
#line 1263 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_g_free0 (_tmp6_);
#line 1265 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp7_ = encoded_transformation;
#line 1265 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp8_ = sscanf (_tmp7_, "%d %d", &self->priv->low_kink, &self->priv->high_kink);
#line 1265 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	num_captured = _tmp8_;
#line 1268 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_vala_assert (num_captured == 2, "num_captured == 2");
#line 1270 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	expansion_transformation_build_remap_table (self);
#line 1258 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return self;
#line 11884 "ColorTransformation.c"
}


ExpansionTransformation* expansion_transformation_new_from_string (const gchar* encoded_transformation) {
#line 1258 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return expansion_transformation_construct_from_string (TYPE_EXPANSION_TRANSFORMATION, encoded_transformation);
#line 11891 "ColorTransformation.c"
}


static void expansion_transformation_build_remap_table (ExpansionTransformation* self) {
	gfloat* _tmp0_ = NULL;
	gint _tmp0__length1 = 0;
	gfloat low_kink_f = 0.0F;
	gint _tmp2_ = 0;
	gfloat high_kink_f = 0.0F;
	gint _tmp3_ = 0;
	gfloat slope = 0.0F;
	gfloat _tmp4_ = 0.0F;
	gfloat _tmp5_ = 0.0F;
	gfloat intercept = 0.0F;
	gfloat _tmp6_ = 0.0F;
	gfloat _tmp7_ = 0.0F;
	gfloat _tmp8_ = 0.0F;
	gint i = 0;
#line 1273 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (IS_EXPANSION_TRANSFORMATION (self));
#line 1274 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = self->priv->remap_table;
#line 1274 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0__length1 = self->priv->remap_table_length1;
#line 1274 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (_tmp0_ == NULL) {
#line 11918 "ColorTransformation.c"
		gfloat* _tmp1_ = NULL;
#line 1275 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp1_ = g_new0 (gfloat, 256);
#line 1275 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		self->priv->remap_table = (g_free (self->priv->remap_table), NULL);
#line 1275 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		self->priv->remap_table = _tmp1_;
#line 1275 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		self->priv->remap_table_length1 = 256;
#line 1275 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		self->priv->_remap_table_size_ = self->priv->remap_table_length1;
#line 11930 "ColorTransformation.c"
	}
#line 1277 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = self->priv->low_kink;
#line 1277 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	low_kink_f = ((gfloat) _tmp2_) / 255.0f;
#line 1278 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp3_ = self->priv->high_kink;
#line 1278 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	high_kink_f = ((gfloat) _tmp3_) / 255.0f;
#line 1280 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp4_ = high_kink_f;
#line 1280 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp5_ = low_kink_f;
#line 1280 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	slope = 1.0f / (_tmp4_ - _tmp5_);
#line 1281 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp6_ = low_kink_f;
#line 1281 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp7_ = high_kink_f;
#line 1281 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp8_ = low_kink_f;
#line 1281 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	intercept = -(_tmp6_ / (_tmp7_ - _tmp8_));
#line 1283 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	i = 0;
#line 11956 "ColorTransformation.c"
	{
		gboolean _tmp9_ = FALSE;
#line 1284 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp9_ = TRUE;
#line 1284 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		while (TRUE) {
#line 11963 "ColorTransformation.c"
			gint _tmp11_ = 0;
			gint _tmp12_ = 0;
			gfloat* _tmp13_ = NULL;
			gint _tmp13__length1 = 0;
			gint _tmp14_ = 0;
			gfloat _tmp15_ = 0.0F;
#line 1284 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			if (!_tmp9_) {
#line 11972 "ColorTransformation.c"
				gint _tmp10_ = 0;
#line 1284 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp10_ = i;
#line 1284 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				i = _tmp10_ + 1;
#line 11978 "ColorTransformation.c"
			}
#line 1284 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp9_ = FALSE;
#line 1284 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp11_ = i;
#line 1284 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp12_ = self->priv->low_kink;
#line 1284 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			if (!(_tmp11_ <= _tmp12_)) {
#line 1284 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				break;
#line 11990 "ColorTransformation.c"
			}
#line 1285 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp13_ = self->priv->remap_table;
#line 1285 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp13__length1 = self->priv->remap_table_length1;
#line 1285 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp14_ = i;
#line 1285 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp13_[_tmp14_] = 0.0f;
#line 1285 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp15_ = _tmp13_[_tmp14_];
#line 12002 "ColorTransformation.c"
		}
	}
	{
		gboolean _tmp16_ = FALSE;
#line 1287 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp16_ = TRUE;
#line 1287 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		while (TRUE) {
#line 12011 "ColorTransformation.c"
			gint _tmp18_ = 0;
			gint _tmp19_ = 0;
			gfloat* _tmp20_ = NULL;
			gint _tmp20__length1 = 0;
			gint _tmp21_ = 0;
			gfloat _tmp22_ = 0.0F;
			gint _tmp23_ = 0;
			gfloat _tmp24_ = 0.0F;
			gfloat _tmp25_ = 0.0F;
#line 1287 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			if (!_tmp16_) {
#line 12023 "ColorTransformation.c"
				gint _tmp17_ = 0;
#line 1287 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp17_ = i;
#line 1287 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				i = _tmp17_ + 1;
#line 12029 "ColorTransformation.c"
			}
#line 1287 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp16_ = FALSE;
#line 1287 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp18_ = i;
#line 1287 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp19_ = self->priv->high_kink;
#line 1287 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			if (!(_tmp18_ < _tmp19_)) {
#line 1287 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				break;
#line 12041 "ColorTransformation.c"
			}
#line 1288 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp20_ = self->priv->remap_table;
#line 1288 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp20__length1 = self->priv->remap_table_length1;
#line 1288 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp21_ = i;
#line 1288 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp22_ = slope;
#line 1288 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp23_ = i;
#line 1288 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp24_ = intercept;
#line 1288 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp20_[_tmp21_] = (_tmp22_ * (((gfloat) _tmp23_) / 255.0f)) + _tmp24_;
#line 1288 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp25_ = _tmp20_[_tmp21_];
#line 12059 "ColorTransformation.c"
		}
	}
	{
		gboolean _tmp26_ = FALSE;
#line 1290 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp26_ = TRUE;
#line 1290 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		while (TRUE) {
#line 12068 "ColorTransformation.c"
			gint _tmp28_ = 0;
			gfloat* _tmp29_ = NULL;
			gint _tmp29__length1 = 0;
			gint _tmp30_ = 0;
			gfloat _tmp31_ = 0.0F;
#line 1290 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			if (!_tmp26_) {
#line 12076 "ColorTransformation.c"
				gint _tmp27_ = 0;
#line 1290 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp27_ = i;
#line 1290 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				i = _tmp27_ + 1;
#line 12082 "ColorTransformation.c"
			}
#line 1290 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp26_ = FALSE;
#line 1290 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp28_ = i;
#line 1290 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			if (!(_tmp28_ < 256)) {
#line 1290 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				break;
#line 12092 "ColorTransformation.c"
			}
#line 1291 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp29_ = self->priv->remap_table;
#line 1291 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp29__length1 = self->priv->remap_table_length1;
#line 1291 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp30_ = i;
#line 1291 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp29_[_tmp30_] = 1.0f;
#line 1291 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp31_ = _tmp29_[_tmp30_];
#line 12104 "ColorTransformation.c"
		}
	}
}


static void expansion_transformation_real_transform_pixel_hsv (PixelTransformation* base, HSVAnalyticPixel* pixel, HSVAnalyticPixel* result) {
	ExpansionTransformation * self;
	gint remap_index = 0;
	HSVAnalyticPixel _tmp0_ = {0};
	gfloat _tmp1_ = 0.0F;
	HSVAnalyticPixel _result_ = {0};
	HSVAnalyticPixel _tmp2_ = {0};
	gfloat* _tmp3_ = NULL;
	gint _tmp3__length1 = 0;
	gfloat _tmp4_ = 0.0F;
	HSVAnalyticPixel _tmp5_ = {0};
	gfloat _tmp6_ = 0.0F;
	gfloat _tmp7_ = 0.0F;
#line 1294 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EXPANSION_TRANSFORMATION, ExpansionTransformation);
#line 1294 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (pixel != NULL);
#line 1295 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = *pixel;
#line 1295 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = _tmp0_.light_value;
#line 1295 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	remap_index = (gint) (_tmp1_ * 255.0f);
#line 1297 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = *pixel;
#line 1297 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_result_ = _tmp2_;
#line 1298 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp3_ = self->priv->remap_table;
#line 1298 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp3__length1 = self->priv->remap_table_length1;
#line 1298 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp4_ = _tmp3_[remap_index];
#line 1298 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_result_.light_value = _tmp4_;
#line 1300 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp5_ = _result_;
#line 1300 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp6_ = _tmp5_.light_value;
#line 1300 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp7_ = CLAMP (_tmp6_, 0.0f, 1.0f);
#line 1300 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_result_.light_value = _tmp7_;
#line 1302 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	*result = _result_;
#line 1302 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return;
#line 12157 "ColorTransformation.c"
}


static gchar* expansion_transformation_real_to_string (PixelTransformation* base) {
	ExpansionTransformation * self;
	gchar* result = NULL;
	gint _tmp0_ = 0;
	gint _tmp1_ = 0;
	gchar* _tmp2_ = NULL;
#line 1305 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EXPANSION_TRANSFORMATION, ExpansionTransformation);
#line 1306 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = self->priv->low_kink;
#line 1306 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = self->priv->high_kink;
#line 1306 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = g_strdup_printf ("{ %d, %d }", _tmp0_, _tmp1_);
#line 1306 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = _tmp2_;
#line 1306 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 12179 "ColorTransformation.c"
}


gint expansion_transformation_get_white_point (ExpansionTransformation* self) {
	gint result = 0;
	gint _tmp0_ = 0;
#line 1309 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (IS_EXPANSION_TRANSFORMATION (self), 0);
#line 1310 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = self->priv->high_kink;
#line 1310 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = _tmp0_;
#line 1310 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 12194 "ColorTransformation.c"
}


gint expansion_transformation_get_black_point (ExpansionTransformation* self) {
	gint result = 0;
	gint _tmp0_ = 0;
#line 1313 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (IS_EXPANSION_TRANSFORMATION (self), 0);
#line 1314 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = self->priv->low_kink;
#line 1314 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = _tmp0_;
#line 1314 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 12209 "ColorTransformation.c"
}


static gboolean expansion_transformation_real_is_identity (PixelTransformation* base) {
	ExpansionTransformation * self;
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
	gint _tmp1_ = 0;
#line 1317 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EXPANSION_TRANSFORMATION, ExpansionTransformation);
#line 1318 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = self->priv->low_kink;
#line 1318 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (_tmp1_ == 0) {
#line 12224 "ColorTransformation.c"
		gint _tmp2_ = 0;
#line 1318 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp2_ = self->priv->high_kink;
#line 1318 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp0_ = _tmp2_ == 255;
#line 12230 "ColorTransformation.c"
	} else {
#line 1318 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp0_ = FALSE;
#line 12234 "ColorTransformation.c"
	}
#line 1318 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = _tmp0_;
#line 1318 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 12240 "ColorTransformation.c"
}


static PixelTransformation* expansion_transformation_real_copy (PixelTransformation* base) {
	ExpansionTransformation * self;
	PixelTransformation* result = NULL;
	gint _tmp0_ = 0;
	gint _tmp1_ = 0;
	ExpansionTransformation* _tmp2_ = NULL;
#line 1321 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EXPANSION_TRANSFORMATION, ExpansionTransformation);
#line 1322 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = self->priv->low_kink;
#line 1322 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = self->priv->high_kink;
#line 1322 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = expansion_transformation_new_from_extrema (_tmp0_, _tmp1_);
#line 1322 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation);
#line 1322 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 12262 "ColorTransformation.c"
}


static void expansion_transformation_class_init (ExpansionTransformationClass * klass) {
#line 1211 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	expansion_transformation_parent_class = g_type_class_peek_parent (klass);
#line 1211 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	((PixelTransformationClass *) klass)->finalize = expansion_transformation_finalize;
#line 1211 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_type_class_add_private (klass, sizeof (ExpansionTransformationPrivate));
#line 1211 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	((PixelTransformationClass *) klass)->transform_pixel_hsv = expansion_transformation_real_transform_pixel_hsv;
#line 1211 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	((PixelTransformationClass *) klass)->to_string = expansion_transformation_real_to_string;
#line 1211 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	((PixelTransformationClass *) klass)->is_identity = expansion_transformation_real_is_identity;
#line 1211 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	((PixelTransformationClass *) klass)->copy = expansion_transformation_real_copy;
#line 12281 "ColorTransformation.c"
}


static void expansion_transformation_instance_init (ExpansionTransformation * self) {
#line 1211 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv = EXPANSION_TRANSFORMATION_GET_PRIVATE (self);
#line 1212 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->remap_table = NULL;
#line 1212 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->remap_table_length1 = 0;
#line 1212 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->_remap_table_size_ = self->priv->remap_table_length1;
#line 12294 "ColorTransformation.c"
}


static void expansion_transformation_finalize (PixelTransformation* obj) {
	ExpansionTransformation * self;
#line 1211 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_EXPANSION_TRANSFORMATION, ExpansionTransformation);
#line 1212 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->remap_table = (g_free (self->priv->remap_table), NULL);
#line 1211 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	PIXEL_TRANSFORMATION_CLASS (expansion_transformation_parent_class)->finalize (obj);
#line 12306 "ColorTransformation.c"
}


GType expansion_transformation_get_type (void) {
	static volatile gsize expansion_transformation_type_id__volatile = 0;
	if (g_once_init_enter (&expansion_transformation_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (ExpansionTransformationClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) expansion_transformation_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ExpansionTransformation), 0, (GInstanceInitFunc) expansion_transformation_instance_init, NULL };
		GType expansion_transformation_type_id;
		expansion_transformation_type_id = g_type_register_static (TYPE_HSV_TRANSFORMATION, "ExpansionTransformation", &g_define_type_info, 0);
		g_once_init_leave (&expansion_transformation_type_id__volatile, expansion_transformation_type_id);
	}
	return expansion_transformation_type_id__volatile;
}


ShadowDetailTransformation* shadow_detail_transformation_construct (GType object_type, gfloat user_intensity) {
	ShadowDetailTransformation* self = NULL;
	gfloat _tmp0_ = 0.0F;
	gfloat intensity_adj = 0.0F;
	gfloat _tmp1_ = 0.0F;
	gfloat _tmp2_ = 0.0F;
	gfloat effect_shift = 0.0F;
	gfloat _tmp3_ = 0.0F;
	HermiteGammaApproximationFunction* func = NULL;
	HermiteGammaApproximationFunction* _tmp4_ = NULL;
	gfloat* _tmp5_ = NULL;
#line 1339 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = (ShadowDetailTransformation*) hsv_transformation_construct (object_type, PIXEL_TRANSFORMATION_TYPE_SHADOWS);
#line 1341 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = user_intensity;
#line 1341 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->intensity = _tmp0_;
#line 1342 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = self->priv->intensity;
#line 1342 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = CLAMP (_tmp1_ / SHADOW_DETAIL_TRANSFORMATION_MAX_PARAMETER, 0.0f, 1.0f);
#line 1342 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	intensity_adj = _tmp2_;
#line 1344 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp3_ = intensity_adj;
#line 1344 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	effect_shift = SHADOW_DETAIL_TRANSFORMATION_MAX_EFFECT_SHIFT * _tmp3_;
#line 1345 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp4_ = hermite_gamma_approximation_function_new (SHADOW_DETAIL_TRANSFORMATION_TONAL_WIDTH);
#line 1345 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	func = _tmp4_;
#line 1348 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp5_ = g_new0 (gfloat, 256);
#line 1348 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->remap_table = (g_free (self->priv->remap_table), NULL);
#line 1348 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->remap_table = _tmp5_;
#line 1348 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->remap_table_length1 = 256;
#line 1348 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->_remap_table_size_ = self->priv->remap_table_length1;
#line 12363 "ColorTransformation.c"
	{
		gint i = 0;
#line 1349 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		i = 0;
#line 12368 "ColorTransformation.c"
		{
			gboolean _tmp6_ = FALSE;
#line 1349 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp6_ = TRUE;
#line 1349 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			while (TRUE) {
#line 12375 "ColorTransformation.c"
				gint _tmp8_ = 0;
				gfloat x = 0.0F;
				gint _tmp9_ = 0;
				gfloat weight = 0.0F;
				HermiteGammaApproximationFunction* _tmp10_ = NULL;
				gfloat _tmp11_ = 0.0F;
				gfloat _tmp12_ = 0.0F;
				gfloat* _tmp13_ = NULL;
				gint _tmp13__length1 = 0;
				gint _tmp14_ = 0;
				gfloat _tmp15_ = 0.0F;
				gfloat _tmp16_ = 0.0F;
				gfloat _tmp17_ = 0.0F;
				gfloat _tmp18_ = 0.0F;
				gfloat _tmp19_ = 0.0F;
				gfloat _tmp20_ = 0.0F;
#line 1349 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (!_tmp6_) {
#line 12394 "ColorTransformation.c"
					gint _tmp7_ = 0;
#line 1349 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp7_ = i;
#line 1349 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					i = _tmp7_ + 1;
#line 12400 "ColorTransformation.c"
				}
#line 1349 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp6_ = FALSE;
#line 1349 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp8_ = i;
#line 1349 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (!(_tmp8_ < 256)) {
#line 1349 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					break;
#line 12410 "ColorTransformation.c"
				}
#line 1350 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp9_ = i;
#line 1350 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				x = ((gfloat) _tmp9_) / 255.0f;
#line 1351 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp10_ = func;
#line 1351 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp11_ = x;
#line 1351 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp12_ = hermite_gamma_approximation_function_evaluate (_tmp10_, _tmp11_);
#line 1351 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				weight = _tmp12_;
#line 1352 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp13_ = self->priv->remap_table;
#line 1352 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp13__length1 = self->priv->remap_table_length1;
#line 1352 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp14_ = i;
#line 1352 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp15_ = weight;
#line 1352 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp16_ = x;
#line 1352 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp17_ = effect_shift;
#line 1352 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp18_ = weight;
#line 1352 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp19_ = x;
#line 1352 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp13_[_tmp14_] = (_tmp15_ * (_tmp16_ + _tmp17_)) + ((1.0f - _tmp18_) * _tmp19_);
#line 1352 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp20_ = _tmp13_[_tmp14_];
#line 12444 "ColorTransformation.c"
			}
		}
	}
#line 1338 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_hermite_gamma_approximation_function_unref0 (func);
#line 1338 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return self;
#line 12452 "ColorTransformation.c"
}


ShadowDetailTransformation* shadow_detail_transformation_new (gfloat user_intensity) {
#line 1338 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return shadow_detail_transformation_construct (TYPE_SHADOW_DETAIL_TRANSFORMATION, user_intensity);
#line 12459 "ColorTransformation.c"
}


static void shadow_detail_transformation_real_transform_pixel_hsv (PixelTransformation* base, HSVAnalyticPixel* pixel, HSVAnalyticPixel* result) {
	ShadowDetailTransformation * self;
	HSVAnalyticPixel _result_ = {0};
	HSVAnalyticPixel _tmp0_ = {0};
	gfloat* _tmp1_ = NULL;
	gint _tmp1__length1 = 0;
	HSVAnalyticPixel _tmp2_ = {0};
	gfloat _tmp3_ = 0.0F;
	gfloat _tmp4_ = 0.0F;
	gfloat _tmp5_ = 0.0F;
#line 1356 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SHADOW_DETAIL_TRANSFORMATION, ShadowDetailTransformation);
#line 1356 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (pixel != NULL);
#line 1357 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = *pixel;
#line 1357 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_result_ = _tmp0_;
#line 1358 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = self->priv->remap_table;
#line 1358 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1__length1 = self->priv->remap_table_length1;
#line 1358 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = *pixel;
#line 1358 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp3_ = _tmp2_.light_value;
#line 1358 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp4_ = _tmp1_[(gint) (_tmp3_ * 255.0f)];
#line 1358 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp5_ = CLAMP (_tmp4_, 0.0f, 1.0f);
#line 1358 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_result_.light_value = _tmp5_;
#line 1359 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	*result = _result_;
#line 1359 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return;
#line 12499 "ColorTransformation.c"
}


static PixelTransformation* shadow_detail_transformation_real_copy (PixelTransformation* base) {
	ShadowDetailTransformation * self;
	PixelTransformation* result = NULL;
	gfloat _tmp0_ = 0.0F;
	ShadowDetailTransformation* _tmp1_ = NULL;
#line 1362 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SHADOW_DETAIL_TRANSFORMATION, ShadowDetailTransformation);
#line 1363 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = self->priv->intensity;
#line 1363 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = shadow_detail_transformation_new (_tmp0_);
#line 1363 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation);
#line 1363 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 12518 "ColorTransformation.c"
}


static gboolean shadow_detail_transformation_real_is_identity (PixelTransformation* base) {
	ShadowDetailTransformation * self;
	gboolean result = FALSE;
	gfloat _tmp0_ = 0.0F;
#line 1366 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SHADOW_DETAIL_TRANSFORMATION, ShadowDetailTransformation);
#line 1367 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = self->priv->intensity;
#line 1367 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = _tmp0_ == 0.0f;
#line 1367 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 12534 "ColorTransformation.c"
}


gfloat shadow_detail_transformation_get_parameter (ShadowDetailTransformation* self) {
	gfloat result = 0.0F;
	gfloat _tmp0_ = 0.0F;
#line 1370 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (IS_SHADOW_DETAIL_TRANSFORMATION (self), 0.0F);
#line 1371 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = self->priv->intensity;
#line 1371 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = _tmp0_;
#line 1371 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 12549 "ColorTransformation.c"
}


static void shadow_detail_transformation_class_init (ShadowDetailTransformationClass * klass) {
#line 1326 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	shadow_detail_transformation_parent_class = g_type_class_peek_parent (klass);
#line 1326 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	((PixelTransformationClass *) klass)->finalize = shadow_detail_transformation_finalize;
#line 1326 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_type_class_add_private (klass, sizeof (ShadowDetailTransformationPrivate));
#line 1326 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	((PixelTransformationClass *) klass)->transform_pixel_hsv = shadow_detail_transformation_real_transform_pixel_hsv;
#line 1326 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	((PixelTransformationClass *) klass)->copy = shadow_detail_transformation_real_copy;
#line 1326 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	((PixelTransformationClass *) klass)->is_identity = shadow_detail_transformation_real_is_identity;
#line 12566 "ColorTransformation.c"
}


static void shadow_detail_transformation_instance_init (ShadowDetailTransformation * self) {
#line 1326 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv = SHADOW_DETAIL_TRANSFORMATION_GET_PRIVATE (self);
#line 1332 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->intensity = 0.0f;
#line 1333 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->remap_table = NULL;
#line 1333 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->remap_table_length1 = 0;
#line 1333 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->_remap_table_size_ = self->priv->remap_table_length1;
#line 12581 "ColorTransformation.c"
}


static void shadow_detail_transformation_finalize (PixelTransformation* obj) {
	ShadowDetailTransformation * self;
#line 1326 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SHADOW_DETAIL_TRANSFORMATION, ShadowDetailTransformation);
#line 1333 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->remap_table = (g_free (self->priv->remap_table), NULL);
#line 1326 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	PIXEL_TRANSFORMATION_CLASS (shadow_detail_transformation_parent_class)->finalize (obj);
#line 12593 "ColorTransformation.c"
}


GType shadow_detail_transformation_get_type (void) {
	static volatile gsize shadow_detail_transformation_type_id__volatile = 0;
	if (g_once_init_enter (&shadow_detail_transformation_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (ShadowDetailTransformationClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) shadow_detail_transformation_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ShadowDetailTransformation), 0, (GInstanceInitFunc) shadow_detail_transformation_instance_init, NULL };
		GType shadow_detail_transformation_type_id;
		shadow_detail_transformation_type_id = g_type_register_static (TYPE_HSV_TRANSFORMATION, "ShadowDetailTransformation", &g_define_type_info, 0);
		g_once_init_leave (&shadow_detail_transformation_type_id__volatile, shadow_detail_transformation_type_id);
	}
	return shadow_detail_transformation_type_id__volatile;
}


HermiteGammaApproximationFunction* hermite_gamma_approximation_function_construct (GType object_type, gfloat user_interval_upper) {
	HermiteGammaApproximationFunction* self = NULL;
	gfloat _tmp0_ = 0.0F;
	gfloat _tmp1_ = 0.0F;
	gfloat _tmp2_ = 0.0F;
#line 1379 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = (HermiteGammaApproximationFunction*) g_type_create_instance (object_type);
#line 1380 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = user_interval_upper;
#line 1380 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = CLAMP (_tmp0_, 0.1f, 1.0f);
#line 1380 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->nonzero_interval_upper = _tmp1_;
#line 1381 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = self->priv->nonzero_interval_upper;
#line 1381 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->x_scale = 1.0f / _tmp2_;
#line 1379 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return self;
#line 12628 "ColorTransformation.c"
}


HermiteGammaApproximationFunction* hermite_gamma_approximation_function_new (gfloat user_interval_upper) {
#line 1379 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return hermite_gamma_approximation_function_construct (TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION, user_interval_upper);
#line 12635 "ColorTransformation.c"
}


gfloat hermite_gamma_approximation_function_evaluate (HermiteGammaApproximationFunction* self, gfloat x) {
	gfloat result = 0.0F;
	gfloat _tmp0_ = 0.0F;
#line 1384 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (IS_HERMITE_GAMMA_APPROXIMATION_FUNCTION (self), 0.0F);
#line 1385 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = x;
#line 1385 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (_tmp0_ < 0.0f) {
#line 1386 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		result = 0.0f;
#line 1386 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		return result;
#line 12652 "ColorTransformation.c"
	} else {
		gfloat _tmp1_ = 0.0F;
		gfloat _tmp2_ = 0.0F;
#line 1387 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp1_ = x;
#line 1387 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp2_ = self->priv->nonzero_interval_upper;
#line 1387 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		if (_tmp1_ > _tmp2_) {
#line 1388 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			result = 0.0f;
#line 1388 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			return result;
#line 12666 "ColorTransformation.c"
		} else {
			gfloat indep_var = 0.0F;
			gfloat _tmp3_ = 0.0F;
			gfloat _tmp4_ = 0.0F;
			gfloat dep_var = 0.0F;
			gfloat _tmp5_ = 0.0F;
			gfloat _tmp6_ = 0.0F;
			gfloat _tmp7_ = 0.0F;
			gfloat _tmp8_ = 0.0F;
			gfloat _tmp9_ = 0.0F;
			gfloat _tmp10_ = 0.0F;
			gfloat _tmp11_ = 0.0F;
			gfloat _tmp12_ = 0.0F;
#line 1390 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp3_ = self->priv->x_scale;
#line 1390 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp4_ = x;
#line 1390 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			indep_var = _tmp3_ * _tmp4_;
#line 1392 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp5_ = indep_var;
#line 1392 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp6_ = indep_var;
#line 1392 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp7_ = indep_var;
#line 1392 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp8_ = indep_var;
#line 1392 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp9_ = indep_var;
#line 1392 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp10_ = indep_var;
#line 1392 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			dep_var = 6.0f * ((((_tmp5_ * _tmp6_) * _tmp7_) - (2.0f * (_tmp8_ * _tmp9_))) + _tmp10_);
#line 1395 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp11_ = dep_var;
#line 1395 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp12_ = CLAMP (_tmp11_, 0.0f, 1.0f);
#line 1395 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			result = _tmp12_;
#line 1395 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			return result;
#line 12708 "ColorTransformation.c"
		}
	}
}


static void value_hermite_gamma_approximation_function_init (GValue* value) {
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	value->data[0].v_pointer = NULL;
#line 12717 "ColorTransformation.c"
}


static void value_hermite_gamma_approximation_function_free_value (GValue* value) {
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (value->data[0].v_pointer) {
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		hermite_gamma_approximation_function_unref (value->data[0].v_pointer);
#line 12726 "ColorTransformation.c"
	}
}


static void value_hermite_gamma_approximation_function_copy_value (const GValue* src_value, GValue* dest_value) {
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (src_value->data[0].v_pointer) {
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		dest_value->data[0].v_pointer = hermite_gamma_approximation_function_ref (src_value->data[0].v_pointer);
#line 12736 "ColorTransformation.c"
	} else {
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		dest_value->data[0].v_pointer = NULL;
#line 12740 "ColorTransformation.c"
	}
}


static gpointer value_hermite_gamma_approximation_function_peek_pointer (const GValue* value) {
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return value->data[0].v_pointer;
#line 12748 "ColorTransformation.c"
}


static gchar* value_hermite_gamma_approximation_function_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (collect_values[0].v_pointer) {
#line 12755 "ColorTransformation.c"
		HermiteGammaApproximationFunction* object;
		object = collect_values[0].v_pointer;
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		if (object->parent_instance.g_class == NULL) {
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 12762 "ColorTransformation.c"
		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 12766 "ColorTransformation.c"
		}
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		value->data[0].v_pointer = hermite_gamma_approximation_function_ref (object);
#line 12770 "ColorTransformation.c"
	} else {
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		value->data[0].v_pointer = NULL;
#line 12774 "ColorTransformation.c"
	}
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return NULL;
#line 12778 "ColorTransformation.c"
}


static gchar* value_hermite_gamma_approximation_function_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
	HermiteGammaApproximationFunction** object_p;
	object_p = collect_values[0].v_pointer;
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (!object_p) {
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
#line 12789 "ColorTransformation.c"
	}
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (!value->data[0].v_pointer) {
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		*object_p = NULL;
#line 12795 "ColorTransformation.c"
	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		*object_p = value->data[0].v_pointer;
#line 12799 "ColorTransformation.c"
	} else {
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		*object_p = hermite_gamma_approximation_function_ref (value->data[0].v_pointer);
#line 12803 "ColorTransformation.c"
	}
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return NULL;
#line 12807 "ColorTransformation.c"
}


GParamSpec* param_spec_hermite_gamma_approximation_function (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) {
	ParamSpecHermiteGammaApproximationFunction* spec;
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (g_type_is_a (object_type, TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION), NULL);
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	G_PARAM_SPEC (spec)->value_type = object_type;
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return G_PARAM_SPEC (spec);
#line 12821 "ColorTransformation.c"
}


gpointer value_get_hermite_gamma_approximation_function (const GValue* value) {
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION), NULL);
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return value->data[0].v_pointer;
#line 12830 "ColorTransformation.c"
}


void value_set_hermite_gamma_approximation_function (GValue* value, gpointer v_object) {
	HermiteGammaApproximationFunction* old;
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION));
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	old = value->data[0].v_pointer;
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (v_object) {
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION));
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		value->data[0].v_pointer = v_object;
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		hermite_gamma_approximation_function_ref (value->data[0].v_pointer);
#line 12850 "ColorTransformation.c"
	} else {
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		value->data[0].v_pointer = NULL;
#line 12854 "ColorTransformation.c"
	}
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (old) {
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		hermite_gamma_approximation_function_unref (old);
#line 12860 "ColorTransformation.c"
	}
}


void value_take_hermite_gamma_approximation_function (GValue* value, gpointer v_object) {
	HermiteGammaApproximationFunction* old;
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION));
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	old = value->data[0].v_pointer;
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (v_object) {
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION));
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		value->data[0].v_pointer = v_object;
#line 12879 "ColorTransformation.c"
	} else {
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		value->data[0].v_pointer = NULL;
#line 12883 "ColorTransformation.c"
	}
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (old) {
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		hermite_gamma_approximation_function_unref (old);
#line 12889 "ColorTransformation.c"
	}
}


static void hermite_gamma_approximation_function_class_init (HermiteGammaApproximationFunctionClass * klass) {
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	hermite_gamma_approximation_function_parent_class = g_type_class_peek_parent (klass);
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	((HermiteGammaApproximationFunctionClass *) klass)->finalize = hermite_gamma_approximation_function_finalize;
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_type_class_add_private (klass, sizeof (HermiteGammaApproximationFunctionPrivate));
#line 12901 "ColorTransformation.c"
}


static void hermite_gamma_approximation_function_instance_init (HermiteGammaApproximationFunction * self) {
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv = HERMITE_GAMMA_APPROXIMATION_FUNCTION_GET_PRIVATE (self);
#line 1376 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->x_scale = 1.0f;
#line 1377 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->nonzero_interval_upper = 1.0f;
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->ref_count = 1;
#line 12914 "ColorTransformation.c"
}


static void hermite_gamma_approximation_function_finalize (HermiteGammaApproximationFunction* obj) {
	HermiteGammaApproximationFunction * self;
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION, HermiteGammaApproximationFunction);
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_signal_handlers_destroy (self);
#line 12924 "ColorTransformation.c"
}


GType hermite_gamma_approximation_function_get_type (void) {
	static volatile gsize hermite_gamma_approximation_function_type_id__volatile = 0;
	if (g_once_init_enter (&hermite_gamma_approximation_function_type_id__volatile)) {
		static const GTypeValueTable g_define_type_value_table = { value_hermite_gamma_approximation_function_init, value_hermite_gamma_approximation_function_free_value, value_hermite_gamma_approximation_function_copy_value, value_hermite_gamma_approximation_function_peek_pointer, "p", value_hermite_gamma_approximation_function_collect_value, "p", value_hermite_gamma_approximation_function_lcopy_value };
		static const GTypeInfo g_define_type_info = { sizeof (HermiteGammaApproximationFunctionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) hermite_gamma_approximation_function_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (HermiteGammaApproximationFunction), 0, (GInstanceInitFunc) hermite_gamma_approximation_function_instance_init, &g_define_type_value_table };
		static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) };
		GType hermite_gamma_approximation_function_type_id;
		hermite_gamma_approximation_function_type_id = g_type_register_fundamental (g_type_fundamental_next (), "HermiteGammaApproximationFunction", &g_define_type_info, &g_define_type_fundamental_info, 0);
		g_once_init_leave (&hermite_gamma_approximation_function_type_id__volatile, hermite_gamma_approximation_function_type_id);
	}
	return hermite_gamma_approximation_function_type_id__volatile;
}


gpointer hermite_gamma_approximation_function_ref (gpointer instance) {
	HermiteGammaApproximationFunction* self;
	self = instance;
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_atomic_int_inc (&self->ref_count);
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return instance;
#line 12949 "ColorTransformation.c"
}


void hermite_gamma_approximation_function_unref (gpointer instance) {
	HermiteGammaApproximationFunction* self;
	self = instance;
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (g_atomic_int_dec_and_test (&self->ref_count)) {
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		HERMITE_GAMMA_APPROXIMATION_FUNCTION_GET_CLASS (self)->finalize (self);
#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		g_type_free_instance ((GTypeInstance *) self);
#line 12962 "ColorTransformation.c"
	}
}


HighlightDetailTransformation* highlight_detail_transformation_construct (GType object_type, gfloat user_intensity) {
	HighlightDetailTransformation* self = NULL;
	gfloat _tmp0_ = 0.0F;
	gfloat intensity_adj = 0.0F;
	gfloat _tmp1_ = 0.0F;
	gfloat _tmp2_ = 0.0F;
	gfloat effect_shift = 0.0F;
	gfloat _tmp3_ = 0.0F;
	HermiteGammaApproximationFunction* func = NULL;
	HermiteGammaApproximationFunction* _tmp4_ = NULL;
	gfloat* _tmp5_ = NULL;
#line 1413 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = (HighlightDetailTransformation*) hsv_transformation_construct (object_type, PIXEL_TRANSFORMATION_TYPE_HIGHLIGHTS);
#line 1415 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = user_intensity;
#line 1415 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->intensity = _tmp0_;
#line 1416 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = self->priv->intensity;
#line 1416 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = CLAMP (_tmp1_ / HIGHLIGHT_DETAIL_TRANSFORMATION_MIN_PARAMETER, 0.0f, 1.0f);
#line 1416 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	intensity_adj = _tmp2_;
#line 1418 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp3_ = intensity_adj;
#line 1418 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	effect_shift = HIGHLIGHT_DETAIL_TRANSFORMATION_MAX_EFFECT_SHIFT * _tmp3_;
#line 1419 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp4_ = hermite_gamma_approximation_function_new (HIGHLIGHT_DETAIL_TRANSFORMATION_TONAL_WIDTH);
#line 1419 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	func = _tmp4_;
#line 1422 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp5_ = g_new0 (gfloat, 256);
#line 1422 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->remap_table = (g_free (self->priv->remap_table), NULL);
#line 1422 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->remap_table = _tmp5_;
#line 1422 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->remap_table_length1 = 256;
#line 1422 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->_remap_table_size_ = self->priv->remap_table_length1;
#line 13008 "ColorTransformation.c"
	{
		gint i = 0;
#line 1423 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		i = 0;
#line 13013 "ColorTransformation.c"
		{
			gboolean _tmp6_ = FALSE;
#line 1423 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp6_ = TRUE;
#line 1423 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			while (TRUE) {
#line 13020 "ColorTransformation.c"
				gint _tmp8_ = 0;
				gfloat x = 0.0F;
				gint _tmp9_ = 0;
				gfloat weight = 0.0F;
				HermiteGammaApproximationFunction* _tmp10_ = NULL;
				gfloat _tmp11_ = 0.0F;
				gfloat _tmp12_ = 0.0F;
				gfloat* _tmp13_ = NULL;
				gint _tmp13__length1 = 0;
				gint _tmp14_ = 0;
				gfloat _tmp15_ = 0.0F;
				gfloat _tmp16_ = 0.0F;
				gfloat _tmp17_ = 0.0F;
				gfloat _tmp18_ = 0.0F;
				gfloat _tmp19_ = 0.0F;
				gfloat _tmp20_ = 0.0F;
#line 1423 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (!_tmp6_) {
#line 13039 "ColorTransformation.c"
					gint _tmp7_ = 0;
#line 1423 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp7_ = i;
#line 1423 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					i = _tmp7_ + 1;
#line 13045 "ColorTransformation.c"
				}
#line 1423 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp6_ = FALSE;
#line 1423 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp8_ = i;
#line 1423 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (!(_tmp8_ < 256)) {
#line 1423 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					break;
#line 13055 "ColorTransformation.c"
				}
#line 1424 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp9_ = i;
#line 1424 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				x = ((gfloat) _tmp9_) / 255.0f;
#line 1425 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp10_ = func;
#line 1425 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp11_ = x;
#line 1425 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp12_ = hermite_gamma_approximation_function_evaluate (_tmp10_, 1.0f - _tmp11_);
#line 1425 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				weight = _tmp12_;
#line 1426 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp13_ = self->priv->remap_table;
#line 1426 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp13__length1 = self->priv->remap_table_length1;
#line 1426 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp14_ = i;
#line 1426 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp15_ = weight;
#line 1426 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp16_ = x;
#line 1426 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp17_ = effect_shift;
#line 1426 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp18_ = weight;
#line 1426 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp19_ = x;
#line 1426 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp13_[_tmp14_] = (_tmp15_ * (_tmp16_ - _tmp17_)) + ((1.0f - _tmp18_) * _tmp19_);
#line 1426 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp20_ = _tmp13_[_tmp14_];
#line 13089 "ColorTransformation.c"
			}
		}
	}
#line 1412 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_hermite_gamma_approximation_function_unref0 (func);
#line 1412 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return self;
#line 13097 "ColorTransformation.c"
}


HighlightDetailTransformation* highlight_detail_transformation_new (gfloat user_intensity) {
#line 1412 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return highlight_detail_transformation_construct (TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION, user_intensity);
#line 13104 "ColorTransformation.c"
}


static void highlight_detail_transformation_real_transform_pixel_hsv (PixelTransformation* base, HSVAnalyticPixel* pixel, HSVAnalyticPixel* result) {
	HighlightDetailTransformation * self;
	HSVAnalyticPixel _result_ = {0};
	HSVAnalyticPixel _tmp0_ = {0};
	gfloat* _tmp1_ = NULL;
	gint _tmp1__length1 = 0;
	HSVAnalyticPixel _tmp2_ = {0};
	gfloat _tmp3_ = 0.0F;
	gfloat _tmp4_ = 0.0F;
	gfloat _tmp5_ = 0.0F;
#line 1430 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION, HighlightDetailTransformation);
#line 1430 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_if_fail (pixel != NULL);
#line 1431 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = *pixel;
#line 1431 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_result_ = _tmp0_;
#line 1432 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = self->priv->remap_table;
#line 1432 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1__length1 = self->priv->remap_table_length1;
#line 1432 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = *pixel;
#line 1432 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp3_ = _tmp2_.light_value;
#line 1432 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp4_ = _tmp1_[(gint) (_tmp3_ * 255.0f)];
#line 1432 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp5_ = CLAMP (_tmp4_, 0.0f, 1.0f);
#line 1432 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_result_.light_value = _tmp5_;
#line 1433 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	*result = _result_;
#line 1433 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return;
#line 13144 "ColorTransformation.c"
}


static PixelTransformation* highlight_detail_transformation_real_copy (PixelTransformation* base) {
	HighlightDetailTransformation * self;
	PixelTransformation* result = NULL;
	gfloat _tmp0_ = 0.0F;
	HighlightDetailTransformation* _tmp1_ = NULL;
#line 1436 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION, HighlightDetailTransformation);
#line 1437 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = self->priv->intensity;
#line 1437 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = highlight_detail_transformation_new (_tmp0_);
#line 1437 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation);
#line 1437 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 13163 "ColorTransformation.c"
}


static gboolean highlight_detail_transformation_real_is_identity (PixelTransformation* base) {
	HighlightDetailTransformation * self;
	gboolean result = FALSE;
	gfloat _tmp0_ = 0.0F;
#line 1440 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION, HighlightDetailTransformation);
#line 1441 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = self->priv->intensity;
#line 1441 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = _tmp0_ == 0.0f;
#line 1441 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 13179 "ColorTransformation.c"
}


gfloat highlight_detail_transformation_get_parameter (HighlightDetailTransformation* self) {
	gfloat result = 0.0F;
	gfloat _tmp0_ = 0.0F;
#line 1444 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (IS_HIGHLIGHT_DETAIL_TRANSFORMATION (self), 0.0F);
#line 1445 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = self->priv->intensity;
#line 1445 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = _tmp0_;
#line 1445 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 13194 "ColorTransformation.c"
}


static void highlight_detail_transformation_class_init (HighlightDetailTransformationClass * klass) {
#line 1400 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	highlight_detail_transformation_parent_class = g_type_class_peek_parent (klass);
#line 1400 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	((PixelTransformationClass *) klass)->finalize = highlight_detail_transformation_finalize;
#line 1400 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_type_class_add_private (klass, sizeof (HighlightDetailTransformationPrivate));
#line 1400 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	((PixelTransformationClass *) klass)->transform_pixel_hsv = highlight_detail_transformation_real_transform_pixel_hsv;
#line 1400 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	((PixelTransformationClass *) klass)->copy = highlight_detail_transformation_real_copy;
#line 1400 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	((PixelTransformationClass *) klass)->is_identity = highlight_detail_transformation_real_is_identity;
#line 13211 "ColorTransformation.c"
}


static void highlight_detail_transformation_instance_init (HighlightDetailTransformation * self) {
#line 1400 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv = HIGHLIGHT_DETAIL_TRANSFORMATION_GET_PRIVATE (self);
#line 1406 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->intensity = 0.0f;
#line 1407 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->remap_table = NULL;
#line 1407 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->remap_table_length1 = 0;
#line 1407 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->_remap_table_size_ = self->priv->remap_table_length1;
#line 13226 "ColorTransformation.c"
}


static void highlight_detail_transformation_finalize (PixelTransformation* obj) {
	HighlightDetailTransformation * self;
#line 1400 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION, HighlightDetailTransformation);
#line 1407 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	self->priv->remap_table = (g_free (self->priv->remap_table), NULL);
#line 1400 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	PIXEL_TRANSFORMATION_CLASS (highlight_detail_transformation_parent_class)->finalize (obj);
#line 13238 "ColorTransformation.c"
}


GType highlight_detail_transformation_get_type (void) {
	static volatile gsize highlight_detail_transformation_type_id__volatile = 0;
	if (g_once_init_enter (&highlight_detail_transformation_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (HighlightDetailTransformationClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) highlight_detail_transformation_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (HighlightDetailTransformation), 0, (GInstanceInitFunc) highlight_detail_transformation_instance_init, NULL };
		GType highlight_detail_transformation_type_id;
		highlight_detail_transformation_type_id = g_type_register_static (TYPE_HSV_TRANSFORMATION, "HighlightDetailTransformation", &g_define_type_info, 0);
		g_once_init_leave (&highlight_detail_transformation_type_id__volatile, highlight_detail_transformation_type_id);
	}
	return highlight_detail_transformation_type_id__volatile;
}


PixelTransformationBundle* auto_enhance_create_auto_enhance_adjustments (GdkPixbuf* pixbuf) {
	PixelTransformationBundle* result = NULL;
	PixelTransformationBundle* adjustments = NULL;
	PixelTransformationBundle* _tmp0_ = NULL;
	IntensityHistogram* analysis_histogram = NULL;
	GdkPixbuf* _tmp1_ = NULL;
	IntensityHistogram* _tmp2_ = NULL;
	gfloat pct_in_range = 0.0F;
	IntensityHistogram* _tmp3_ = NULL;
	gfloat _tmp4_ = 0.0F;
	IntensityHistogram* _tmp5_ = NULL;
	gfloat _tmp6_ = 0.0F;
	gfloat shadow_range_mean_prob_val = 0.0F;
	IntensityHistogram* _tmp7_ = NULL;
	gfloat _tmp8_ = 0.0F;
	IntensityHistogram* _tmp9_ = NULL;
	gfloat _tmp10_ = 0.0F;
	gint shadow_mean_intensity = 0;
	gboolean _tmp18_ = FALSE;
	gfloat _tmp19_ = 0.0F;
	PixelTransformationBundle* _tmp46_ = NULL;
	HighlightDetailTransformation* _tmp47_ = NULL;
	HighlightDetailTransformation* _tmp48_ = NULL;
	PixelTransformationBundle* _tmp49_ = NULL;
	TemperatureTransformation* _tmp50_ = NULL;
	TemperatureTransformation* _tmp51_ = NULL;
	PixelTransformationBundle* _tmp52_ = NULL;
	TintTransformation* _tmp53_ = NULL;
	TintTransformation* _tmp54_ = NULL;
	PixelTransformationBundle* _tmp55_ = NULL;
	ExposureTransformation* _tmp56_ = NULL;
	ExposureTransformation* _tmp57_ = NULL;
	PixelTransformationBundle* _tmp58_ = NULL;
	SaturationTransformation* _tmp59_ = NULL;
	SaturationTransformation* _tmp60_ = NULL;
#line 1458 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	g_return_val_if_fail (GDK_IS_PIXBUF (pixbuf), NULL);
#line 1459 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp0_ = pixel_transformation_bundle_new ();
#line 1459 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	adjustments = _tmp0_;
#line 1461 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp1_ = pixbuf;
#line 1461 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp2_ = intensity_histogram_new (_tmp1_);
#line 1461 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	analysis_histogram = _tmp2_;
#line 1464 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp3_ = analysis_histogram;
#line 1464 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp4_ = intensity_histogram_get_cumulative_probability (_tmp3_, AUTO_ENHANCE_SHADOW_DETECT_MAX_INTENSITY);
#line 1464 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp5_ = analysis_histogram;
#line 1464 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp6_ = intensity_histogram_get_cumulative_probability (_tmp5_, AUTO_ENHANCE_SHADOW_DETECT_MIN_INTENSITY);
#line 1464 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	pct_in_range = 100.0f * (_tmp4_ - _tmp6_);
#line 1470 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp7_ = analysis_histogram;
#line 1470 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp8_ = intensity_histogram_get_cumulative_probability (_tmp7_, AUTO_ENHANCE_SHADOW_DETECT_MIN_INTENSITY);
#line 1470 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp9_ = analysis_histogram;
#line 1470 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp10_ = intensity_histogram_get_cumulative_probability (_tmp9_, AUTO_ENHANCE_SHADOW_DETECT_MAX_INTENSITY);
#line 1470 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	shadow_range_mean_prob_val = (_tmp8_ + _tmp10_) * 0.5f;
#line 1473 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	shadow_mean_intensity = AUTO_ENHANCE_SHADOW_DETECT_MIN_INTENSITY;
#line 13323 "ColorTransformation.c"
	{
		gboolean _tmp11_ = FALSE;
#line 1474 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp11_ = TRUE;
#line 1474 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		while (TRUE) {
#line 13330 "ColorTransformation.c"
			gint _tmp13_ = 0;
			IntensityHistogram* _tmp14_ = NULL;
			gint _tmp15_ = 0;
			gfloat _tmp16_ = 0.0F;
			gfloat _tmp17_ = 0.0F;
#line 1474 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			if (!_tmp11_) {
#line 13338 "ColorTransformation.c"
				gint _tmp12_ = 0;
#line 1474 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp12_ = shadow_mean_intensity;
#line 1474 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				shadow_mean_intensity = _tmp12_ + 1;
#line 13344 "ColorTransformation.c"
			}
#line 1474 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp11_ = FALSE;
#line 1474 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp13_ = shadow_mean_intensity;
#line 1474 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			if (!(_tmp13_ <= AUTO_ENHANCE_SHADOW_DETECT_MAX_INTENSITY)) {
#line 1474 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				break;
#line 13354 "ColorTransformation.c"
			}
#line 1475 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp14_ = analysis_histogram;
#line 1475 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp15_ = shadow_mean_intensity;
#line 1475 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp16_ = intensity_histogram_get_cumulative_probability (_tmp14_, _tmp15_);
#line 1475 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp17_ = shadow_range_mean_prob_val;
#line 1475 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			if (_tmp16_ >= _tmp17_) {
#line 1476 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				break;
#line 13368 "ColorTransformation.c"
			}
		}
	}
#line 1484 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp19_ = pct_in_range;
#line 1484 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (_tmp19_ > 40.0f) {
#line 1484 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp18_ = TRUE;
#line 13378 "ColorTransformation.c"
	} else {
		gboolean _tmp20_ = FALSE;
		gfloat _tmp21_ = 0.0F;
#line 1484 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp21_ = pct_in_range;
#line 1484 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		if (_tmp21_ > 20.0f) {
#line 13386 "ColorTransformation.c"
			gint _tmp22_ = 0;
#line 1484 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp22_ = shadow_mean_intensity;
#line 1484 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp20_ = _tmp22_ < AUTO_ENHANCE_EMPIRICAL_DARK;
#line 13392 "ColorTransformation.c"
		} else {
#line 1484 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp20_ = FALSE;
#line 13396 "ColorTransformation.c"
		}
#line 1484 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp18_ = _tmp20_;
#line 13400 "ColorTransformation.c"
	}
#line 1484 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	if (_tmp18_) {
#line 13404 "ColorTransformation.c"
		gfloat shadow_trans_effect_size = 0.0F;
		gint _tmp23_ = 0;
		gfloat _tmp24_ = 0.0F;
		PixelTransformationBundle* _tmp25_ = NULL;
		gfloat _tmp26_ = 0.0F;
		ShadowDetailTransformation* _tmp27_ = NULL;
		ShadowDetailTransformation* _tmp28_ = NULL;
		gint discard_point = 0;
		PixelTransformationBundle* _tmp35_ = NULL;
		gint _tmp36_ = 0;
		ExpansionTransformation* _tmp37_ = NULL;
		ExpansionTransformation* _tmp38_ = NULL;
#line 1485 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp23_ = shadow_mean_intensity;
#line 1485 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		shadow_trans_effect_size = ((((gfloat) AUTO_ENHANCE_SHADOW_DETECT_MAX_INTENSITY) - ((gfloat) _tmp23_)) / ((gfloat) AUTO_ENHANCE_SHADOW_DETECT_INTENSITY_RANGE)) * SHADOW_DETAIL_TRANSFORMATION_MAX_PARAMETER;
#line 1489 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp24_ = shadow_trans_effect_size;
#line 1489 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		shadow_trans_effect_size = _tmp24_ * AUTO_ENHANCE_SHADOW_AGGRESSIVENESS_MUL;
#line 1491 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp25_ = adjustments;
#line 1491 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp26_ = shadow_trans_effect_size;
#line 1491 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp27_ = shadow_detail_transformation_new (_tmp26_);
#line 1491 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp28_ = _tmp27_;
#line 1491 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		pixel_transformation_bundle_set (_tmp25_, G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation));
#line 1491 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_pixel_transformation_unref0 (_tmp28_);
#line 1495 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		discard_point = 255;
#line 13439 "ColorTransformation.c"
		{
			gboolean _tmp29_ = FALSE;
#line 1496 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			_tmp29_ = TRUE;
#line 1496 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
			while (TRUE) {
#line 13446 "ColorTransformation.c"
				gint _tmp31_ = 0;
				IntensityHistogram* _tmp32_ = NULL;
				gint _tmp33_ = 0;
				gfloat _tmp34_ = 0.0F;
#line 1496 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (!_tmp29_) {
#line 13453 "ColorTransformation.c"
					gint _tmp30_ = 0;
#line 1496 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					_tmp30_ = discard_point;
#line 1496 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					discard_point = _tmp30_ - 1;
#line 13459 "ColorTransformation.c"
				}
#line 1496 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp29_ = FALSE;
#line 1496 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp31_ = discard_point;
#line 1496 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if (!(_tmp31_ > -1)) {
#line 1496 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					break;
#line 13469 "ColorTransformation.c"
				}
#line 1497 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp32_ = analysis_histogram;
#line 1497 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp33_ = discard_point;
#line 1497 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				_tmp34_ = intensity_histogram_get_cumulative_probability (_tmp32_, _tmp33_);
#line 1497 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
				if ((1.0f - _tmp34_) > AUTO_ENHANCE_SHADOW_MODE_HIGH_DISCARD_MASS) {
#line 1499 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
					break;
#line 13481 "ColorTransformation.c"
				}
			}
		}
#line 1502 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp35_ = adjustments;
#line 1502 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp36_ = discard_point;
#line 1502 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp37_ = expansion_transformation_new_from_extrema (0, _tmp36_);
#line 1502 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp38_ = _tmp37_;
#line 1502 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		pixel_transformation_bundle_set (_tmp35_, G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation));
#line 1502 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_pixel_transformation_unref0 (_tmp38_);
#line 13497 "ColorTransformation.c"
	} else {
		PixelTransformationBundle* _tmp39_ = NULL;
		IntensityHistogram* _tmp40_ = NULL;
		ExpansionTransformation* _tmp41_ = NULL;
		ExpansionTransformation* _tmp42_ = NULL;
		PixelTransformationBundle* _tmp43_ = NULL;
		ShadowDetailTransformation* _tmp44_ = NULL;
		ShadowDetailTransformation* _tmp45_ = NULL;
#line 1505 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp39_ = adjustments;
#line 1505 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp40_ = analysis_histogram;
#line 1505 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp41_ = expansion_transformation_new (_tmp40_);
#line 1505 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp42_ = _tmp41_;
#line 1505 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		pixel_transformation_bundle_set (_tmp39_, G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation));
#line 1505 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_pixel_transformation_unref0 (_tmp42_);
#line 1506 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp43_ = adjustments;
#line 1506 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp44_ = shadow_detail_transformation_new ((gfloat) 0);
#line 1506 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_tmp45_ = _tmp44_;
#line 1506 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		pixel_transformation_bundle_set (_tmp43_, G_TYPE_CHECK_INSTANCE_CAST (_tmp45_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation));
#line 1506 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
		_pixel_transformation_unref0 (_tmp45_);
#line 13528 "ColorTransformation.c"
	}
#line 1510 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp46_ = adjustments;
#line 1510 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp47_ = highlight_detail_transformation_new (0.0f);
#line 1510 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp48_ = _tmp47_;
#line 1510 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	pixel_transformation_bundle_set (_tmp46_, G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation));
#line 1510 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_pixel_transformation_unref0 (_tmp48_);
#line 1511 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp49_ = adjustments;
#line 1511 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp50_ = temperature_transformation_new (0.0f);
#line 1511 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp51_ = _tmp50_;
#line 1511 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	pixel_transformation_bundle_set (_tmp49_, G_TYPE_CHECK_INSTANCE_CAST (_tmp51_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation));
#line 1511 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_pixel_transformation_unref0 (_tmp51_);
#line 1512 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp52_ = adjustments;
#line 1512 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp53_ = tint_transformation_new (0.0f);
#line 1512 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp54_ = _tmp53_;
#line 1512 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	pixel_transformation_bundle_set (_tmp52_, G_TYPE_CHECK_INSTANCE_CAST (_tmp54_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation));
#line 1512 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_pixel_transformation_unref0 (_tmp54_);
#line 1513 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp55_ = adjustments;
#line 1513 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp56_ = exposure_transformation_new (0.0f);
#line 1513 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp57_ = _tmp56_;
#line 1513 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	pixel_transformation_bundle_set (_tmp55_, G_TYPE_CHECK_INSTANCE_CAST (_tmp57_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation));
#line 1513 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_pixel_transformation_unref0 (_tmp57_);
#line 1514 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp58_ = adjustments;
#line 1514 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp59_ = saturation_transformation_new (0.0f);
#line 1514 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_tmp60_ = _tmp59_;
#line 1514 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	pixel_transformation_bundle_set (_tmp58_, G_TYPE_CHECK_INSTANCE_CAST (_tmp60_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation));
#line 1514 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_pixel_transformation_unref0 (_tmp60_);
#line 1516 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	result = adjustments;
#line 1516 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	_intensity_histogram_unref0 (analysis_histogram);
#line 1516 "/home/jens/Source/shotwell/src/ColorTransformation.vala"
	return result;
#line 13586 "ColorTransformation.c"
}


static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) {
	if ((array != NULL) && (destroy_func != NULL)) {
		int i;
		for (i = 0; i < array_length; i = i + 1) {
			if (((gpointer*) array)[i] != NULL) {
				destroy_func (((gpointer*) array)[i]);
			}
		}
	}
}


static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) {
	_vala_array_destroy (array, array_length, destroy_func);
	g_free (array);
}



