1 #include "mrilib.h"
2 
main(int argc,char * argv[])3 int main( int argc , char *argv[] )
4 {
5    char *expr ;
6    int ii , ll , ebas=1 ;
7 
8    if( argc < 2 || strcmp(argv[1],"-help") == 0 ){
9      printf("Usage: 1dmatcalc [-verb] expression\n\n") ;
10      printf("%s\n",mri_matrix_evalrpn_help()) ;
11      printf("SIMPLE EXAMPLES\n"
12             "---------------\n"
13             "* Multiply each element of an input 1D file\n"
14             "  by a constant factor and write to disk.\n"
15             "    1dmatcalc \"&read(in.1D) 3.1416 * &write(out.1D)\"\n"
16             "\n"
17             "* Subtract two 1D files\n"
18             "    1dmatcalc \"&read(a.1D) &read(b.1D) - &write(stdout:)\"\n"
19            ) ;
20      exit(0) ;
21    }
22 
23    if( strcmp(argv[1],"-verb") == 0 ){
24      mri_matrix_evalrpn_verb(1) ; ebas++ ;
25    }
26 
27    ll=16 ;
28    for( ii=ebas ; ii < argc ; ii++ ) ll += strlen(argv[ii])+1 ;
29    expr = calloc(1,ll) ;
30    for( ii=ebas ; ii < argc ; ii++ ){
31      strcat(expr,argv[ii]) ; strcat(expr," ") ;
32    }
33 
34    if (!mri_matrix_evalrpn(expr)) {
35       exit(1); /* ZSS June 2013 */
36    }
37    exit(0) ;
38 }
39