2 CREATE TYPE MADLIB_SCHEMA.__utils_scales AS (
3 mean DOUBLE PRECISION[],
9 CREATE FUNCTION MADLIB_SCHEMA.__utils_var_scales_result (
10 in_state DOUBLE PRECISION[]
11 ) RETURNS MADLIB_SCHEMA.__utils_scales AS
12 'MODULE_PATHNAME',
'__utils_var_scales_result'
13 LANGUAGE C IMMUTABLE STRICT;
15 ------------------------------------------------------------------------
17 CREATE FUNCTION MADLIB_SCHEMA.__utils_var_scales_transition (
18 state DOUBLE PRECISION[],
19 ind_var DOUBLE PRECISION[],
21 ) RETURNS DOUBLE PRECISION[] AS
22 'MODULE_PATHNAME',
'utils_var_scales_transition'
23 LANGUAGE C IMMUTABLE STRICT;
27 CREATE FUNCTION MADLIB_SCHEMA.__utils_var_scales_merge (
28 state1 DOUBLE PRECISION[],
29 state2 DOUBLE PRECISION[]
30 ) RETURNS DOUBLE PRECISION[] AS
31 'MODULE_PATHNAME',
'utils_var_scales_merge'
32 LANGUAGE C IMMUTABLE STRICT;
36 CREATE FUNCTION MADLIB_SCHEMA.__utils_var_scales_final (
37 state DOUBLE PRECISION[]
38 ) RETURNS DOUBLE PRECISION[] AS
39 'MODULE_PATHNAME',
'utils_var_scales_final'
40 LANGUAGE C IMMUTABLE STRICT;
44 CREATE AGGREGATE MADLIB_SCHEMA.utils_var_scales (
48 SType = DOUBLE PRECISION[],
49 SFunc = MADLIB_SCHEMA.__utils_var_scales_transition,
50 m4_ifdef(`GREENPLUM
', `prefunc = MADLIB_SCHEMA.__utils_var_scales_merge,')
51 FinalFunc = MADLIB_SCHEMA.__utils_var_scales_final,
52 InitCond = '{0,0,0,0}
'
55 ------------------------------------------------------------------------
57 CREATE TYPE MADLIB_SCHEMA.__utils_scaled_data AS (
58 scaled DOUBLE PRECISION[]
63 CREATE FUNCTION MADLIB_SCHEMA.utils_normalize_data (
65 mean DOUBLE PRECISION[],
66 std DOUBLE PRECISION[]
67 ) RETURNS MADLIB_SCHEMA.__utils_scaled_data AS
68 'MODULE_PATHNAME
', 'utils_normalize_data
'
69 LANGUAGE C IMMUTABLE STRICT;