27 | | bool unknown = false; |
28 | | int update_next = 0; // 1 generator file, 2 agenda file, 3 agenda length |
29 | | const char **param = argv + 1; |
30 | | while (*param && !unknown) { |
31 | | if (update_next) { |
32 | | if (update_next == 1) { |
33 | | generator_file_name = *param; |
34 | | } else if (update_next == 2) { |
35 | | agenda_file_name = *param; |
36 | | } else { |
37 | | int length = atoi(*param); |
38 | | if (length > 0) { |
39 | | agenda_length = length; |
| 27 | bool unknown = false; |
| 28 | int update_next = 0; // 1 generator file, 2 agenda file, 3 agenda length |
| 29 | const char **param = argv + 1; |
| 30 | while ( *param && !unknown ) { |
| 31 | if ( update_next ) { |
| 32 | if ( update_next == 1 ) { |
| 33 | generator_file_name = *param; |
| 34 | } else if ( update_next == 2 ) { |
| 35 | agenda_file_name = *param; |
| 36 | } else { |
| 37 | int length = atoi ( *param ); |
| 38 | if ( length > 0 ) { |
| 39 | agenda_length = length; |
| 40 | } else { |
| 41 | cerr << "invalid agenda length value ignored" << endl; |
| 42 | } |
| 43 | } |
| 44 | |
| 45 | update_next = 0; |
61 | | if (unknown || update_next) { |
62 | | cerr << "usage: " << argv[0] << " [ -g generator.cfg ] [ -a agenda_output.cfg ] [ -l agenda_length ]" << endl; |
63 | | } else { |
64 | | Array<square_mat_point *> mag(agenda_length); |
| 66 | UIFile gspec ( generator_file_name ); |
| 67 | auto_ptr<generator> gen ( UI::build<generator> ( gspec, "generator" ) ); |
| 68 | for ( int i = 0; i < agenda_length; ++i ) { |
| 69 | mat m = gen->next(); |
| 70 | square_mat_point *p = new square_mat_point(); |
| 71 | p->set_parameters ( m, randu ( m.rows() ), randu() ); |
| 72 | mag ( i ) = p; |
| 73 | } |
66 | | UIFile gspec(generator_file_name); |
67 | | auto_ptr<generator> gen(UI::build<generator>(gspec, "generator")); |
68 | | for (int i = 0; i < agenda_length; ++i) { |
69 | | mat m = gen->next(); |
70 | | square_mat_point *p = new square_mat_point(); |
71 | | p->set_parameters(m, randu(m.rows()), randu()); |
72 | | mag(i) = p; |
| 75 | UIFile fag; |
| 76 | UI::save ( mag, fag, "agenda" ); |
| 77 | fag.save ( agenda_file_name ); |
| 78 | |
| 79 | for ( int i = 0; i < agenda_length; ++i ) { |
| 80 | square_mat_point *p = mag ( i ); |
| 81 | mag ( i ) = 0; |
| 82 | delete p; |
| 83 | } |