// // time: Tue Jul 17 16:34:20 2001 // // version: 3.1.2 (format), 4.1.1 (DX) // // // Begin MDF // MODULE ComplexFieldReducer // CATEGORY Macros // DESCRIPTION combines real and imag parts into complex field, then reduces field and splits real and imag parts into 3-vectors // INPUT input_1; value list or field or string or string list; (none); takes input from refield // INPUT input_2; value list or field or string or string list; (none); takes input from refield // INPUT input_3; value list or field or string or string list; (none); takes input from refield // INPUT input_4; value list or field or string or string list; (none); takes input from iefield // INPUT input_5; value list or field or string or string list; (none); takes input from iefield // INPUT input_6; value list or field or string or string list; (none); takes input from iefield // OUTPUT output_1; value or value list or field; outputs reduced refield // OUTPUT output_2; value or value list or field; outputs reduced iefield // End MDF // workspace: width = 684, height = 712 // layout: snap = 1, width = 50, height = 50, align = UN // macro ComplexFieldReducer( input_1 ,input_2 ,input_3 ,input_4 ,input_5 ,input_6 ) -> ( output_1 ,output_2 ) { // // node Input[1]: x = 135, y = 50, inputs = 0, label = Input // parameter: position = 1, name = 'input_1', value = '(none)', descriptive = 1, description = 'takes input from refield', required = 1, visible = 1 // ComplexFieldReducer_Input_1_out_1 = input_1; // // node Compute[2]: x = 126, y = 150, inputs = 2, label = Compute // input[1]: defaulting = 0, visible = 0, type = 32, value = "$0.0" // expression: value = real.0 // name[2]: value = real // ComplexFieldReducer_Compute_2_out_1 = Compute( "$0.0", ComplexFieldReducer_Input_1_out_1 ) [instance: 2, cache: 1]; // // node Input[2]: x = 233, y = 50, inputs = 0, label = Input // parameter: position = 2, name = 'input_2', value = '(none)', descriptive = 1, description = 'takes input from refield', required = 1, visible = 1 // ComplexFieldReducer_Input_2_out_1 = input_2; // // node Compute[3]: x = 226, y = 150, inputs = 2, label = Compute // input[1]: defaulting = 0, visible = 0, type = 32, value = "$0.1" // expression: value = real.1 // name[2]: value = real // ComplexFieldReducer_Compute_3_out_1 = Compute( "$0.1", ComplexFieldReducer_Input_2_out_1 ) [instance: 3, cache: 1]; // // node Input[3]: x = 333, y = 50, inputs = 0, label = Input // parameter: position = 3, name = 'input_3', value = '(none)', descriptive = 1, description = 'takes input from refield', required = 1, visible = 1 // ComplexFieldReducer_Input_3_out_1 = input_3; // // node Compute[4]: x = 324, y = 150, inputs = 2, label = Compute // input[1]: defaulting = 0, visible = 0, type = 32, value = "$0.2" // expression: value = real.2 // name[2]: value = real // ComplexFieldReducer_Compute_4_out_1 = Compute( "$0.2", ComplexFieldReducer_Input_3_out_1 ) [instance: 4, cache: 1]; // // node Input[4]: x = 435, y = 50, inputs = 0, label = Input // parameter: position = 4, name = 'input_4', value = '(none)', descriptive = 1, description = 'takes input from iefield', required = 1, visible = 1 // ComplexFieldReducer_Input_4_out_1 = input_4; // // node Compute[5]: x = 424, y = 150, inputs = 2, label = Compute // input[1]: defaulting = 0, visible = 0, type = 32, value = "$0.0" // expression: value = imag.0 // name[2]: value = imag // ComplexFieldReducer_Compute_5_out_1 = Compute( "$0.0", ComplexFieldReducer_Input_4_out_1 ) [instance: 5, cache: 1]; // // node Input[5]: x = 535, y = 50, inputs = 0, label = Input // parameter: position = 5, name = 'input_5', value = '(none)', descriptive = 1, description = 'takes input from iefield', required = 1, visible = 1 // ComplexFieldReducer_Input_5_out_1 = input_5; // // node Compute[6]: x = 521, y = 150, inputs = 2, label = Compute // input[1]: defaulting = 0, visible = 0, type = 32, value = "$0.1" // expression: value = imag.1 // name[2]: value = imag // ComplexFieldReducer_Compute_6_out_1 = Compute( "$0.1", ComplexFieldReducer_Input_5_out_1 ) [instance: 6, cache: 1]; // // node Input[6]: x = 639, y = 50, inputs = 0, label = Input // parameter: position = 6, name = 'input_6', value = '(none)', descriptive = 1, description = 'takes input from iefield', required = 1, visible = 1 // ComplexFieldReducer_Input_6_out_1 = input_6; // // node Compute[7]: x = 615, y = 150, inputs = 2, label = Compute // input[1]: defaulting = 0, visible = 0, type = 32, value = "$0.2" // expression: value = imag.2 // name[2]: value = imag // ComplexFieldReducer_Compute_7_out_1 = Compute( "$0.2", ComplexFieldReducer_Input_6_out_1 ) [instance: 7, cache: 1]; // // node Compute[8]: x = 314, y = 250, inputs = 7, label = Compute // input[1]: defaulting = 0, visible = 0, type = 32, value = "[$0, $1, $2, $3, $4, $5]" // expression: value = [real_x, real_y, real_z, imag_x, imag_y, imag_z] // name[2]: value = real_x // name[3]: value = real_y // name[4]: value = real_z // name[5]: value = imag_x // name[6]: value = imag_y // name[7]: value = imag_z // ComplexFieldReducer_Compute_8_out_1 = Compute( "[$0, $1, $2, $3, $4, $5]", ComplexFieldReducer_Compute_2_out_1, ComplexFieldReducer_Compute_3_out_1, ComplexFieldReducer_Compute_4_out_1, ComplexFieldReducer_Compute_5_out_1, ComplexFieldReducer_Compute_6_out_1, ComplexFieldReducer_Compute_7_out_1 ) [instance: 8, cache: 1]; // // node Reduce[4]: x = 318, y = 350, inputs = 2, label = Reduce // input[2]: defaulting = 0, visible = 1, type = 16777221, value = { 10.0 } // ComplexFieldReducer_Reduce_4_out_1 = Reduce( ComplexFieldReducer_Compute_8_out_1, { 10.0 } ) [instance: 4, cache: 1]; // // node Compute[9]: x = 123, y = 450, inputs = 2, label = Compute // input[1]: defaulting = 0, visible = 0, type = 32, value = "$0.0" // expression: value = complex.0 // name[2]: value = complex // ComplexFieldReducer_Compute_9_out_1 = Compute( "$0.0", ComplexFieldReducer_Reduce_4_out_1 ) [instance: 9, cache: 1]; // // node Compute[10]: x = 226, y = 450, inputs = 2, label = Compute // input[1]: defaulting = 0, visible = 0, type = 32, value = "$0.1" // expression: value = complex.1 // name[2]: value = complex // ComplexFieldReducer_Compute_10_out_1 = Compute( "$0.1", ComplexFieldReducer_Reduce_4_out_1 ) [instance: 10, cache: 1]; // // node Compute[11]: x = 317, y = 450, inputs = 2, label = Compute // input[1]: defaulting = 0, visible = 0, type = 32, value = "$0.2" // expression: value = complex.2 // name[2]: value = complex // ComplexFieldReducer_Compute_11_out_1 = Compute( "$0.2", ComplexFieldReducer_Reduce_4_out_1 ) [instance: 11, cache: 1]; // // node Compute[12]: x = 417, y = 450, inputs = 2, label = Compute // input[1]: defaulting = 0, visible = 0, type = 32, value = "$0.3" // expression: value = complex.3 // name[2]: value = complex // ComplexFieldReducer_Compute_12_out_1 = Compute( "$0.3", ComplexFieldReducer_Reduce_4_out_1 ) [instance: 12, cache: 1]; // // node Compute[13]: x = 516, y = 450, inputs = 2, label = Compute // input[1]: defaulting = 0, visible = 0, type = 32, value = "$0.4" // expression: value = complex.4 // name[2]: value = complex // ComplexFieldReducer_Compute_13_out_1 = Compute( "$0.4", ComplexFieldReducer_Reduce_4_out_1 ) [instance: 13, cache: 1]; // // node Compute[14]: x = 615, y = 450, inputs = 2, label = Compute // input[1]: defaulting = 0, visible = 0, type = 32, value = "$0.5" // expression: value = complex.5 // name[2]: value = complex // ComplexFieldReducer_Compute_14_out_1 = Compute( "$0.5", ComplexFieldReducer_Reduce_4_out_1 ) [instance: 14, cache: 1]; // // node Compute[15]: x = 218, y = 550, inputs = 4, label = Compute // input[1]: defaulting = 0, visible = 0, type = 32, value = "[$0, $1, $2]" // expression: value = [real_x, real_y, real_z] // name[2]: value = real_x // name[3]: value = real_y // name[4]: value = real_z // ComplexFieldReducer_Compute_15_out_1 = Compute( "[$0, $1, $2]", ComplexFieldReducer_Compute_9_out_1, ComplexFieldReducer_Compute_10_out_1, ComplexFieldReducer_Compute_11_out_1 ) [instance: 15, cache: 1]; // // node Compute[16]: x = 514, y = 550, inputs = 4, label = Compute // input[1]: defaulting = 0, visible = 0, type = 32, value = "[$0, $1, $2]" // expression: value = [imag_x, imag_y, imag_z] // name[2]: value = imag_x // name[3]: value = imag_y // name[4]: value = imag_z // ComplexFieldReducer_Compute_16_out_1 = Compute( "[$0, $1, $2]", ComplexFieldReducer_Compute_12_out_1, ComplexFieldReducer_Compute_13_out_1, ComplexFieldReducer_Compute_14_out_1 ) [instance: 16, cache: 1]; // // node Output[1]: x = 226, y = 650, inputs = 1, label = Output // parameter: position = 1, name = 'output_1', value = '(NULL)', descriptive = 1, description = 'outputs reduced refield', required = 0, visible = 1 // output_1 = ComplexFieldReducer_Compute_15_out_1; // // node Output[2]: x = 525, y = 650, inputs = 1, label = Output // parameter: position = 2, name = 'output_2', value = '(NULL)', descriptive = 1, description = 'outputs reduced iefield', required = 0, visible = 1 // output_2 = ComplexFieldReducer_Compute_16_out_1; // network: end of macro body } ComplexFieldReducer_Input_1_out_1 = NULL; ComplexFieldReducer_Compute_2_out_1 = NULL; ComplexFieldReducer_Input_2_out_1 = NULL; ComplexFieldReducer_Compute_3_out_1 = NULL; ComplexFieldReducer_Input_3_out_1 = NULL; ComplexFieldReducer_Compute_4_out_1 = NULL; ComplexFieldReducer_Input_4_out_1 = NULL; ComplexFieldReducer_Compute_5_out_1 = NULL; ComplexFieldReducer_Input_5_out_1 = NULL; ComplexFieldReducer_Compute_6_out_1 = NULL; ComplexFieldReducer_Input_6_out_1 = NULL; ComplexFieldReducer_Compute_7_out_1 = NULL; ComplexFieldReducer_Compute_8_out_1 = NULL; ComplexFieldReducer_Reduce_4_out_1 = NULL; ComplexFieldReducer_Compute_9_out_1 = NULL; ComplexFieldReducer_Compute_10_out_1 = NULL; ComplexFieldReducer_Compute_11_out_1 = NULL; ComplexFieldReducer_Compute_12_out_1 = NULL; ComplexFieldReducer_Compute_13_out_1 = NULL; ComplexFieldReducer_Compute_14_out_1 = NULL; ComplexFieldReducer_Compute_15_out_1 = NULL; ComplexFieldReducer_Compute_16_out_1 = NULL;