├── src
├── Java
│ ├── bin
│ │ └── .gitignore
│ ├── src
│ │ └── com
│ │ │ └── jingchen
│ │ │ ├── trainer
│ │ │ ├── SVDTrainer.java
│ │ │ ├── SVDPlusPlusTrainer.java
│ │ │ ├── Node.java
│ │ │ ├── Trainer.java
│ │ │ └── Main.java
│ │ │ └── util
│ │ │ ├── MathTool.java
│ │ │ └── ConsoleHelper.java
│ ├── .classpath
│ ├── .project
│ └── .settings
│ │ └── org.eclipse.jdt.core.prefs
└── C++
│ └── src
│ ├── Node.h
│ ├── AsymSVD.h
│ ├── Constant.h
│ ├── MathTool.h
│ ├── Trainer.h
│ ├── main.cpp
│ ├── AsymSVD.cpp
│ ├── Constant.cpp
│ ├── MathTool.cpp
│ ├── SVDTrainer.h
│ ├── ConsoleHelper.h
│ ├── SVDTrainer.cpp
│ ├── ConsoleHelper.cpp
│ ├── SVDPlusPlusTrainer.h
│ └── SVDPlusPlusTrainer.cpp
├── .gitignore
├── exps
├── ASVD.png
├── RSVD.png
├── SVDPP.png
├── TASVD.png
└── TSVDPP.png
├── README.md
├── .project
├── .settings
├── org.eclipse.cdt.managedbuilder.core.prefs
└── org.eclipse.cdt.codan.core.prefs
└── .cproject
/src/Java/bin/.gitignore:
--------------------------------------------------------------------------------
1 | /com/
2 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /Debug/
2 | /Release/
3 |
--------------------------------------------------------------------------------
/exps/ASVD.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jingchenUSTC/SVDRecommenderSystem/HEAD/exps/ASVD.png
--------------------------------------------------------------------------------
/exps/RSVD.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jingchenUSTC/SVDRecommenderSystem/HEAD/exps/RSVD.png
--------------------------------------------------------------------------------
/exps/SVDPP.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jingchenUSTC/SVDRecommenderSystem/HEAD/exps/SVDPP.png
--------------------------------------------------------------------------------
/exps/TASVD.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jingchenUSTC/SVDRecommenderSystem/HEAD/exps/TASVD.png
--------------------------------------------------------------------------------
/exps/TSVDPP.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jingchenUSTC/SVDRecommenderSystem/HEAD/exps/TSVDPP.png
--------------------------------------------------------------------------------
/src/C++/src/Node.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jingchenUSTC/SVDRecommenderSystem/HEAD/src/C++/src/Node.h
--------------------------------------------------------------------------------
/src/C++/src/AsymSVD.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jingchenUSTC/SVDRecommenderSystem/HEAD/src/C++/src/AsymSVD.h
--------------------------------------------------------------------------------
/src/C++/src/Constant.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jingchenUSTC/SVDRecommenderSystem/HEAD/src/C++/src/Constant.h
--------------------------------------------------------------------------------
/src/C++/src/MathTool.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jingchenUSTC/SVDRecommenderSystem/HEAD/src/C++/src/MathTool.h
--------------------------------------------------------------------------------
/src/C++/src/Trainer.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jingchenUSTC/SVDRecommenderSystem/HEAD/src/C++/src/Trainer.h
--------------------------------------------------------------------------------
/src/C++/src/main.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jingchenUSTC/SVDRecommenderSystem/HEAD/src/C++/src/main.cpp
--------------------------------------------------------------------------------
/src/C++/src/AsymSVD.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jingchenUSTC/SVDRecommenderSystem/HEAD/src/C++/src/AsymSVD.cpp
--------------------------------------------------------------------------------
/src/C++/src/Constant.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jingchenUSTC/SVDRecommenderSystem/HEAD/src/C++/src/Constant.cpp
--------------------------------------------------------------------------------
/src/C++/src/MathTool.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jingchenUSTC/SVDRecommenderSystem/HEAD/src/C++/src/MathTool.cpp
--------------------------------------------------------------------------------
/src/C++/src/SVDTrainer.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jingchenUSTC/SVDRecommenderSystem/HEAD/src/C++/src/SVDTrainer.h
--------------------------------------------------------------------------------
/src/C++/src/ConsoleHelper.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jingchenUSTC/SVDRecommenderSystem/HEAD/src/C++/src/ConsoleHelper.h
--------------------------------------------------------------------------------
/src/C++/src/SVDTrainer.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jingchenUSTC/SVDRecommenderSystem/HEAD/src/C++/src/SVDTrainer.cpp
--------------------------------------------------------------------------------
/src/C++/src/ConsoleHelper.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jingchenUSTC/SVDRecommenderSystem/HEAD/src/C++/src/ConsoleHelper.cpp
--------------------------------------------------------------------------------
/src/C++/src/SVDPlusPlusTrainer.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jingchenUSTC/SVDRecommenderSystem/HEAD/src/C++/src/SVDPlusPlusTrainer.h
--------------------------------------------------------------------------------
/src/C++/src/SVDPlusPlusTrainer.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jingchenUSTC/SVDRecommenderSystem/HEAD/src/C++/src/SVDPlusPlusTrainer.cpp
--------------------------------------------------------------------------------
/src/Java/src/com/jingchen/trainer/SVDTrainer.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jingchenUSTC/SVDRecommenderSystem/HEAD/src/Java/src/com/jingchen/trainer/SVDTrainer.java
--------------------------------------------------------------------------------
/src/Java/src/com/jingchen/trainer/SVDPlusPlusTrainer.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jingchenUSTC/SVDRecommenderSystem/HEAD/src/Java/src/com/jingchen/trainer/SVDPlusPlusTrainer.java
--------------------------------------------------------------------------------
/src/Java/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/src/Java/src/com/jingchen/trainer/Node.java:
--------------------------------------------------------------------------------
1 | package com.jingchen.trainer;
2 |
3 | public class Node {
4 | private int mId;
5 | private float mRate;
6 |
7 | public Node(int id, float rate) {
8 | mId = id;
9 | mRate = rate;
10 | }
11 |
12 | public int getId() {
13 | return mId;
14 | }
15 |
16 | public float getRate() {
17 | return mRate;
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/Java/src/com/jingchen/trainer/Trainer.java:
--------------------------------------------------------------------------------
1 | package com.jingchen.trainer;
2 |
3 | public interface Trainer {
4 | void loadFile(String mTrainFileName, String mTestFileName, String separator)
5 | throws Exception;
6 |
7 | void loadHisFile(String mHisFileName, String separator) throws Exception;
8 |
9 | void train(float gama, float alpha, int nIter);
10 |
11 | void predict(String mOutputFileName, String separator) throws Exception;
12 | }
--------------------------------------------------------------------------------
/src/Java/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | SVD
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.jdt.core.javabuilder
10 |
11 |
12 |
13 |
14 |
15 | org.eclipse.jdt.core.javanature
16 |
17 |
18 |
--------------------------------------------------------------------------------
/src/Java/src/com/jingchen/util/MathTool.java:
--------------------------------------------------------------------------------
1 | package com.jingchen.util;
2 |
3 | public class MathTool {
4 | private static MathTool mt;
5 |
6 | private MathTool() {
7 |
8 | }
9 |
10 | synchronized public static MathTool getInstance() {
11 | if (mt == null)
12 | mt = new MathTool();
13 | return mt;
14 | }
15 |
16 | public float getInnerProduct(float[] x, float[] y) {
17 | float result = 0;
18 | for (int i = 0; i < x.length; i++) {
19 | result += x[i] * y[i];
20 | }
21 | return result;
22 | }
23 | }
--------------------------------------------------------------------------------
/src/Java/.settings/org.eclipse.jdt.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
4 | org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
5 | org.eclipse.jdt.core.compiler.compliance=1.7
6 | org.eclipse.jdt.core.compiler.debug.lineNumber=generate
7 | org.eclipse.jdt.core.compiler.debug.localVariable=generate
8 | org.eclipse.jdt.core.compiler.debug.sourceFile=generate
9 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
10 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
11 | org.eclipse.jdt.core.compiler.source=1.7
12 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # SVDRecommenderSystem
2 | 将SVD应用于推荐系统中的评分预测问题
3 | 关于SVD的原理分析可以参见我的博客[奇异值分解(SVD)原理详解及推导](http://blog.csdn.net/zhongkejingwang/article/details/43053513)
4 | 关于代码中的SVD算法的推导可以看这里[SVD在推荐系统中的应用详解以及算法推导](http://blog.csdn.net/zhongkejingwang/article/details/43083603)
5 | ##RSVD预测公式:
6 | 
7 | ##ASVD预测公式:
8 | 
9 | ##SVD++预测公式:
10 | 
11 |
通过“isTranspose”变量设置R矩阵是否转置,转置后得到原始算法的对偶算法
12 | ##对偶ASVD预测公式:
13 | 
14 | ##对偶SVD++预测公式:
15 | 
16 |
--------------------------------------------------------------------------------
/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | SVDTrainer
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.cdt.managedbuilder.core.genmakebuilder
10 | clean,full,incremental,
11 |
12 |
13 |
14 |
15 | org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder
16 | full,incremental,
17 |
18 |
19 |
20 |
21 |
22 | org.eclipse.cdt.core.cnature
23 | org.eclipse.cdt.core.ccnature
24 | org.eclipse.cdt.managedbuilder.core.managedBuildNature
25 | org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
26 |
27 |
28 |
--------------------------------------------------------------------------------
/src/Java/src/com/jingchen/util/ConsoleHelper.java:
--------------------------------------------------------------------------------
1 | package com.jingchen.util;
2 |
3 | import java.util.HashMap;
4 | import java.util.Map;
5 |
6 | public class ConsoleHelper {
7 | private Map mArgMap;
8 |
9 | public ConsoleHelper(String[] args) {
10 | mArgMap = new HashMap<>();
11 | for (int i = 0; i < args.length; i += 2) {
12 | mArgMap.put(args[i], args[i + 1]);
13 | }
14 | }
15 |
16 | public String getArg(String argName, String defaultValue) {
17 | if (mArgMap.containsKey(argName)) {
18 | return mArgMap.get(argName);
19 | } else
20 | return defaultValue;
21 | }
22 |
23 | public int getArg(String argName, int defaultValue) {
24 | if (mArgMap.containsKey(argName)) {
25 | return Integer.valueOf(mArgMap.get(argName));
26 | } else
27 | return defaultValue;
28 | }
29 |
30 | public float getArg(String argName, float defaultValue) {
31 | if (mArgMap.containsKey(argName)) {
32 | return Float.valueOf(mArgMap.get(argName));
33 | } else
34 | return defaultValue;
35 | }
36 | }
--------------------------------------------------------------------------------
/src/Java/src/com/jingchen/trainer/Main.java:
--------------------------------------------------------------------------------
1 | package com.jingchen.trainer;
2 |
3 | import com.jingchen.util.ConsoleHelper;
4 |
5 | public class Main {
6 | public static void main(String[] args) {
7 | if (args.length < 5) {
8 | System.out
9 | .println("Usage: \n\t-train trainfile\n\t-test predictfile\n\t-his historyfile\n\t-sep separator\n\t-dim featureLength\n\t-gama gama\n\t-alpha alpha\n\t-iter iternum\n\t-out outputfile");
10 | return;
11 | }
12 | ConsoleHelper helper = new ConsoleHelper(args);
13 | String trainfile = helper.getArg("-train", "");
14 | String testfile = helper.getArg("-test", "");
15 | String hisfile = helper.getArg("-his", "");
16 | String separator = helper.getArg("-sep", "\t");
17 | String outputfile = helper.getArg("-out", "");
18 | int dim = helper.getArg("-dim", 8);
19 | float gama = helper.getArg("-gama", 0.006f);
20 | float alpha = helper.getArg("-alpha", 0.03f);
21 | int nIter = helper.getArg("-iter", 100);
22 | if (trainfile.equals("")) {
23 | System.out.println("please input trainfile");
24 | return;
25 | } else if (testfile.equals("")) {
26 | System.out.println("please input testfile");
27 | return;
28 | }
29 | Trainer trainer = new SVDPlusPlusTrainer(dim, false);
30 | try {
31 | trainer.loadFile(trainfile, testfile, separator);
32 | if (!hisfile.equals(""))
33 | trainer.loadHisFile(hisfile, separator);
34 | } catch (Exception e1) {
35 | e1.printStackTrace();
36 | return;
37 | }
38 | trainer.train(gama, alpha, nIter);
39 | try {
40 | trainer.predict(outputfile, separator);
41 | } catch (Exception e) {
42 | e.printStackTrace();
43 | }
44 | }
45 | }
--------------------------------------------------------------------------------
/.settings/org.eclipse.cdt.managedbuilder.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.1205959790/CPATH/delimiter=;
3 | environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.1205959790/CPATH/operation=remove
4 | environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.1205959790/CPLUS_INCLUDE_PATH/delimiter=;
5 | environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.1205959790/CPLUS_INCLUDE_PATH/operation=remove
6 | environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.1205959790/C_INCLUDE_PATH/delimiter=;
7 | environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.1205959790/C_INCLUDE_PATH/operation=remove
8 | environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.1205959790/append=true
9 | environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.1205959790/appendContributed=true
10 | environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.release.1143626764/CPATH/delimiter=;
11 | environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.release.1143626764/CPATH/operation=remove
12 | environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.release.1143626764/CPLUS_INCLUDE_PATH/delimiter=;
13 | environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.release.1143626764/CPLUS_INCLUDE_PATH/operation=remove
14 | environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.release.1143626764/C_INCLUDE_PATH/delimiter=;
15 | environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.release.1143626764/C_INCLUDE_PATH/operation=remove
16 | environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.release.1143626764/append=true
17 | environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.release.1143626764/appendContributed=true
18 | environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.mingw.exe.debug.1205959790/LIBRARY_PATH/delimiter=;
19 | environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.mingw.exe.debug.1205959790/LIBRARY_PATH/operation=remove
20 | environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.mingw.exe.debug.1205959790/append=true
21 | environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.mingw.exe.debug.1205959790/appendContributed=true
22 | environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.mingw.exe.release.1143626764/LIBRARY_PATH/delimiter=;
23 | environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.mingw.exe.release.1143626764/LIBRARY_PATH/operation=remove
24 | environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.mingw.exe.release.1143626764/append=true
25 | environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.mingw.exe.release.1143626764/appendContributed=true
26 |
--------------------------------------------------------------------------------
/.settings/org.eclipse.cdt.codan.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.cdt.codan.checkers.errnoreturn=Warning
3 | org.eclipse.cdt.codan.checkers.errnoreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false}
4 | org.eclipse.cdt.codan.checkers.errreturnvalue=Error
5 | org.eclipse.cdt.codan.checkers.errreturnvalue.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
6 | org.eclipse.cdt.codan.checkers.noreturn=Error
7 | org.eclipse.cdt.codan.checkers.noreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false}
8 | org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation=Error
9 | org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
10 | org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem=Error
11 | org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
12 | org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem=Warning
13 | org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
14 | org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem=Error
15 | org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
16 | org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem=Warning
17 | org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},no_break_comment\=>"no break",last_case_param\=>false,empty_case_param\=>false}
18 | org.eclipse.cdt.codan.internal.checkers.CatchByReference=Warning
19 | org.eclipse.cdt.codan.internal.checkers.CatchByReference.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},unknown\=>false,exceptions\=>()}
20 | org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem=Error
21 | org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
22 | org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization=Warning
23 | org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},skip\=>true}
24 | org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem=Error
25 | org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
26 | org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem=Error
27 | org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
28 | org.eclipse.cdt.codan.internal.checkers.InvalidArguments=Error
29 | org.eclipse.cdt.codan.internal.checkers.InvalidArguments.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
30 | org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem=Error
31 | org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
32 | org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem=Error
33 | org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
34 | org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem=Error
35 | org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
36 | org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem=Error
37 | org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
38 | org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker=-Info
39 | org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},pattern\=>"^[a-z]",macro\=>true,exceptions\=>()}
40 | org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem=Warning
41 | org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
42 | org.eclipse.cdt.codan.internal.checkers.OverloadProblem=Error
43 | org.eclipse.cdt.codan.internal.checkers.OverloadProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
44 | org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem=Error
45 | org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
46 | org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem=Error
47 | org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
48 | org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem=-Warning
49 | org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
50 | org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem=-Warning
51 | org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
52 | org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem=Warning
53 | org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>()}
54 | org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem=Warning
55 | org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},paramNot\=>false}
56 | org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem=Warning
57 | org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},else\=>false,afterelse\=>false}
58 | org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem=Error
59 | org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
60 | org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem=Warning
61 | org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true}
62 | org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem=Warning
63 | org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true}
64 | org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem=Warning
65 | org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>("@(\#)","$Id")}
66 | org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem=Error
67 | org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
68 |
--------------------------------------------------------------------------------
/.cproject:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
--------------------------------------------------------------------------------