// // time: Mon Jan 10 11:43:46 1994 // // version: 2.0.1 // // Begin MDF // MODULE NthMember // CATEGORY Macros // DESCRIPTION Selects nth member of a group, pegging at both ends // INPUT data; group or series or value list or string list; (none); input data // INPUT n; value list or field; (none); member to select // INPUT count; value list or field; (none); number of members // OUTPUT out; object; selected member // End MDF // workspace: width = 1416, height = 1180 // layout: snap = 0, width = 50, height = 50, align = CC // macro NthMember( data ,n ,count ) -> ( out ) { // // node Input[1]: x = 196, y = 22, inputs = 0, label = Input // // parameter: position = 2, name = 'n', value = ' ', descriptive = 0, description = 'member to select', required = 1 NthMember_Input_1_out_1 = n; // // node Input[2]: x = 304, y = 23, inputs = 0, label = Input // // parameter: position = 3, name = 'count', value = ' ', descriptive = 0, description = 'number of members', required = 1 NthMember_Input_2_out_1 = count; // // node Input[3]: x = 80, y = 26, inputs = 0, label = Input // // parameter: position = 1, name = 'data', value = ' ', descriptive = 0, description = 'input data', required = 1 NthMember_Input_3_out_1 = data; // // node Compute[1]: x = 194, y = 203, inputs = 3, label = Compute // input[1]: defaulting = 0, visible = 0, type = 32, value = "$0 < 0 ? 0 : $0 > $1-1 ? $1-1 : $0" // // expression: value = a < 0 ? 0 : a > b-1 ? b-1 : a // name[2]: value = a // name[3]: value = b NthMember_Compute_1_out_1 = Compute( NthMember_Compute_1_in_1, NthMember_Input_1_out_1, NthMember_Input_2_out_1 ) [instance: 1, cache: 1]; // // node Select[1]: x = 81, y = 208, inputs = 2, label = Select // NthMember_Select_1_out_1 = Select( NthMember_Input_3_out_1, NthMember_Compute_1_out_1 ) [instance: 1, cache: 1]; // // node Output[1]: x = 74, y = 316, inputs = 1, label = Output // // parameter: position = 1, name = 'out', value = ' ', descriptive = 0, description = 'selected member', required = 0 out = NthMember_Select_1_out_1; // network: end of macro body } NthMember_Input_1_out_1 = NULL; NthMember_Input_2_out_1 = NULL; NthMember_Input_3_out_1 = NULL; NthMember_Compute_1_in_1 = "$0 < 0 ? 0 : $0 > $1-1 ? $1-1 : $0"; NthMember_Compute_1_out_1 = NULL; NthMember_Select_1_out_1 = NULL;