/* * Exercise the F_neg extreme attachment code. * * Taken from iotanAKD. 2009-07-10 * */ /* RESULT: with 2 1 -maxwlur 1 */ use Array: {+,-,sel,iota,sum}; int[*] id( int[*] y) { return(y); } int main() { XXX = iota(id(50)); ZZZ = SUM((XXX)); z = _sub_SxS_(ZZZ, 1225); return(z); } inline int SUM( int[.] y) { lim = _sub_SxS_( _sel_VxA_( [0], _shape_A_(y)), 1); z = with { ([0] <= iv=[i] < _shape_A_(y)) { #ifdef FAST el = y[ [ _sub_SxS_(lim, i)] ]; #else //FAST el = y[ _sub_SxV_(lim, iv) ]; #endif //FAST } : el; } : fold( +, 0); return(z); }