// // time: Fri Aug 30 14:13:48 1996 // // version: 3.0.0 (format), 3.1.2 (DX) // // // Begin MDF // MODULE ArrayDouble // CATEGORY Miscellaneous // DESCRIPTION Repeats each member of an array once // INPUT array; value list or string list; (none); // OUTPUT doubled_array; field or value or value list; // End MDF // // comment: ArrayDouble // comment: ----------- // comment: // comment: (C) Duncan Galloway 1996 // comment: duncang@ibm590.aims.gov.au // comment: // comment: This macro simply doubles the size of an array, copying each element. // comment: // comment: It is used as part of the BandColorMap Macro. // workspace: width = 318, height = 738 // layout: snap = 0, width = 50, height = 50, align = UL // macro ArrayDouble( array ) -> ( doubled_array ) { // // node Input[4]: x = 179, y = 20, inputs = 0, label = Input // parameter: position = 1, name = 'array', value = ' ', descriptive = 0, description = ' ', required = 1, visible = 1 // ArrayDouble_Input_4_out_1 = array; // // node Inquire[2]: x = 97, y = 115, inputs = 3, label = Inquire // input[2]: defaulting = 0, visible = 1, type = 32, value = "counts" // ArrayDouble_Inquire_2_out_1 = Inquire( ArrayDouble_Input_4_out_1, "counts", NULL ) [instance: 2, cache: 1]; // // node Compute[12]: x = 118, y = 206, inputs = 3, label = Compute // input[1]: defaulting = 0, visible = 0, type = 32, value = "$0*2" // expression: value = a*2 // name[2]: value = a // name[3]: value = b // ArrayDouble_Compute_12_out_1 = Compute( "$0*2", ArrayDouble_Inquire_2_out_1, NULL ) [instance: 12, cache: 1]; // // node Construct[4]: x = 103, y = 298, inputs = 4, label = Construct // input[1]: defaulting = 0, visible = 1, type = 16777224, value = {[0]} // input[2]: defaulting = 0, visible = 1, type = 16777224, value = {[1]} // ArrayDouble_Construct_4_out_1 = Construct( {[0]}, {[1]}, ArrayDouble_Compute_12_out_1, NULL ) [instance: 4, cache: 1]; // // node Mark[2]: x = 133, y = 389, inputs = 2, label = Mark // input[2]: defaulting = 0, visible = 1, type = 32, value = "positions" // ArrayDouble_Mark_2_out_1 = Mark( ArrayDouble_Construct_4_out_1, "positions" ) [instance: 2, cache: 1]; // // node Compute[13]: x = 117, y = 460, inputs = 3, label = Compute // input[1]: defaulting = 0, visible = 0, type = 32, value = "($0-$0%2)/2" // expression: value = (a-a%2)/2 // name[2]: value = a // name[3]: value = b // ArrayDouble_Compute_13_out_1 = Compute( "($0-$0%2)/2", ArrayDouble_Mark_2_out_1, NULL ) [instance: 13, cache: 1]; // // node Unmark[2]: x = 130, y = 534, inputs = 2, label = Unmark // input[2]: defaulting = 0, visible = 1, type = 32, value = "positions" // ArrayDouble_Unmark_2_out_1 = Unmark( ArrayDouble_Compute_13_out_1, "positions" ) [instance: 2, cache: 1]; // // node Construct[6]: x = 221, y = 299, inputs = 4, label = Construct // input[1]: defaulting = 0, visible = 1, type = 16777224, value = {[0]} // input[2]: defaulting = 0, visible = 1, type = 16777224, value = {[1]} // ArrayDouble_Construct_6_out_1 = Construct( {[0]}, {[1]}, ArrayDouble_Inquire_2_out_1, ArrayDouble_Input_4_out_1 ) [instance: 6, cache: 1]; // // node Map[11]: x = 200, y = 633, inputs = 4, label = Map // ArrayDouble_Map_11_out_1 = Map( ArrayDouble_Unmark_2_out_1, ArrayDouble_Construct_6_out_1, NULL, NULL ) [instance: 11, cache: 1]; // // node Output[2]: x = 125, y = 675, inputs = 1, label = Output // parameter: position = 1, name = 'doubled_array', value = ' ', descriptive = 0, description = ' ', required = 0, visible = 1 // doubled_array = ArrayDouble_Map_11_out_1; // network: end of macro body } ArrayDouble_Input_4_out_1 = NULL; ArrayDouble_Inquire_2_out_1 = NULL; ArrayDouble_Compute_12_out_1 = NULL; ArrayDouble_Construct_4_out_1 = NULL; ArrayDouble_Mark_2_out_1 = NULL; ArrayDouble_Compute_13_out_1 = NULL; ArrayDouble_Unmark_2_out_1 = NULL; ArrayDouble_Construct_6_out_1 = NULL; ArrayDouble_Map_11_out_1 = NULL;