Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

commandline.cpp

Go to the documentation of this file.
00001 
00005 #include "commandline.hpp"
00006 #include "log.h"
00007 
00008 #include <iostream>
00009 #include <string>
00010 
00011 std::string file_format;
00012 
00013 
00014 void init()
00015 {
00016    file_format = "File format:";
00017    file_format += "\n\nThe transactionfile is a plan text file. Each row ";
00018    file_format += "represents a transaction. \n";
00019    file_format += "A transaction is a set of items seperated by a nonnumeric ";
00020    file_format += "character.\nIt can be for example a white space, comma, ";
00021    file_format += "colon, etc.\n";
00022    file_format += "Items are nonnegative integers.\n";
00023 }
00025 void usage()
00026 {
00027    std::cerr << "\nUsage: fim algorithm transactionfile outcomefile ";
00028    std::cerr << "min_supp [options]\n";
00029    std::cerr << "\n algorithm\t    the name of the algorithm, i.e: input_test, ";
00030    std::cerr << "simple_output_test apriori, eclat or fp-growth";
00031    std::cerr << "\n transactionfile\t    file, that contains the tranasctions of items";
00032    std::cerr << "\n outcomefile\t    file to write the outcome";
00033    std::cerr << "\n min_supp\t    absolute support threshold";
00034 
00035    std::cerr << "\n\nFile formats:";
00036    std::cerr << "\n\nThe transactionfile is a plan text file. Each row represents";
00037    std::cerr << " a transaction. "<<std::endl;
00038    std::cerr << "A transaction is a set of items seperated by a nonnumeric character.";
00039    std::cerr << "\nIt can be for example a white space, comma, colon, etc. \n";
00040    std::cerr << "Items are nonnegative integers.\n";
00041    std::cerr << "\n\nHave a succesful mining ;-)";
00042 }
00043 
00044 int process_arguments( int argc, char *argv[], counter_t& min_supp, 
00045                        bool &isrel, double &relminsupp )
00046 {
00047    if ( argc < 5 )
00048    {
00049      usage();
00050      std::cerr<<"\nError! There are 4 mandatory arguments!\n"<<std::flush;
00051      return 1;
00052    }
00053    std::string mins=argv[4];
00054    if (mins[mins.size()-1]=='%') {
00055      mins.erase(mins.size()-1);
00056      isrel=true;
00057      relminsupp=atof(mins.c_str());
00058      relminsupp/=100;
00059      log_info(0,"Using relative minimum support of %lg",relminsupp);
00060      return 0;
00061    }
00062    min_supp = atoi(argv[4]);
00063    if ( min_supp <= 0  )
00064    {
00065       usage();
00066       std::cerr<<"\nError!\n min_supp should be positive."<<std::endl;
00067       return 1;
00068    }
00069         
00070    return 0;
00071 }
00072 
00073 
00074 int process_arguments( int argc, char *argv[], counter_t& min_supp )
00075 {
00076    if ( argc < 5 )
00077    {
00078      usage();
00079      std::cerr<<"\nError! There are 4 mandatory arguments!\n"<<std::flush;
00080      return 1;
00081    }
00082    min_supp = atoi(argv[4]);
00083    if ( min_supp <= 0  )
00084    {
00085       usage();
00086       std::cerr<<"\nError!\n min_supp should be positive."<<std::endl;
00087       return 1;
00088    }
00089         
00090    return 0;
00091 }
00092 
00093 

Generated on Sun Sep 17 17:50:38 2006 for FIM environment by  doxygen 1.4.4