diff options
author | cathook <b01902109@csie.ntu.edu.tw> | 2014-05-02 04:10:56 +0800 |
---|---|---|
committer | cathook <b01902109@csie.ntu.edu.tw> | 2014-05-02 04:10:56 +0800 |
commit | 33d419e4d54d969798af80f05e05f0c447a99594 (patch) | |
tree | c78355a2d334e34df865aca865dbb4864a85820c | |
parent | d2d7a49563a8f04bd07264a4a989d5656313d375 (diff) | |
download | meow-33d419e4d54d969798af80f05e05f0c447a99594.tar.gz meow-33d419e4d54d969798af80f05e05f0c447a99594.tar.zst meow-33d419e4d54d969798af80f05e05f0c447a99594.zip |
big change about dir structure
42 files changed, 622 insertions, 76 deletions
diff --git a/GNUmakefile/GNUmakefile b/GNUmakefile/GNUmakefile new file mode 100644 index 0000000..8c3d2ef --- /dev/null +++ b/GNUmakefile/GNUmakefile @@ -0,0 +1,77 @@ +INC := inc +SRC := src +OBJ := obj +BIN := bin +DEP := dep + +LIB_INCS := +CXX := g++ +CXXFLAGS := -O2 -Wall -I$(INC) $(LIB_INCS) +CXX_OBJ := $(CXX) -c +CXX_DEP := $(CXX) -MM + +DEPENDENCY_CREATER := ./GNUmakefile.dependency.bash + +OBJECTS := $(patsubst $(SRC)/%.cpp,$(OBJ)/%.o,$(wildcard $(SRC)/*.cpp)) +DEPENDENCYS := $(patsubst $(SRC)/%.cpp,$(DEP)/%.d,$(wildcard $(SRC)/*.cpp)) + +TARGET_FILE := GNUmakefile.targets +TARGETS := + +NAME := empty + +.PHONY: all dep clean init new del add sub + +-include $(TARGET_FILE) + +all: $(TARGETS); + +init: + -@mkdir -p $(BIN) + -@mkdir -p $(SRC) + -@mkdir -p $(INC) + -@mkdir -p $(OBJ) + -@mkdir -p $(DEP) + -@echo '' > $(TARGET_FILE) + +new: + @set -e; echo "Add target '$(NAME)'"; \ + echo 'TARGETS := $$(TARGETS) $$(BIN)/$(NAME)' >> $(TARGET_FILE); \ + echo '$(NAME)_OBJS := $(foreach n,$(OBJS),$$(OBJ)/$(n).o)' >> $(TARGET_FILE); \ + echo '$(NAME)_LIBS := $(LIBS)' >> $(TARGET_FILE); \ + echo '$$(BIN)/$(NAME): $$(OBJ)/$(NAME).o $$($(NAME)_OBJS)' >> $(TARGET_FILE); \ + echo '\t@echo Target: $$@...' >> $(TARGET_FILE); \ + echo '\t@$$(CXX) $$^ $$(CXXFLAGS) `pkg-config --cflags --libs $$($(NAME)_LIBS) 2>/dev/null` -o $$@' >> $(TARGET_FILE); \ + echo '' >> $(TARGET_FILE) + +add: + @set -e; echo "Add Objects $(OBJS) to Target '$(NAME)'"; \ + sed '/^$(NAME)_OBJS :=/s/$$/& $(foreach n,$(OBJS),\$$(OBJ)\/$(n).o)/' $(TARGET_FILE) >$(TARGET_FILE).$$$$; \ + mv -f $(TARGET_FILE).$$$$ $(TARGET_FILE) + @set -e; echo "Add Libraries $(LIBS) to Target '$(NAME)'"; \ + sed '/^$(NAME)_LIBS :=/s/$$/& $(subst /,\/,$(LIBS))/' $(TARGET_FILE) >$(TARGET_FILE).$$$$; \ + mv -f $(TARGET_FILE).$$$$ $(TARGET_FILE) + +sub: + @set -e; echo "Remove Objects $(OBJS) from Target '$(NAME)'"; \ + sed '/^$(NAME)_OBJS :=/s/$(subst \ ,|,$(foreach n,$(OBJS),\$$(OBJ)\/$(n).o))//' $(TARGET_FILE) >$(TARGET_FILE).$$$$; \ + mv -f $(TARGET_FILE).$$$$ $(TARGET_FILE) + @set -e; echo "Remove Libraries $(LIBS) from Target '$(NAME)'"; \ + sed '/^$(NAME)_OBJS :=/s/$(subst \ ,|,$(foreach n,$(LIBS),\$$(OBJ)\/$(n).o))//' $(TARGET_FILE) >$(TARGET_FILE).$$$$; \ + mv -f $(TARGET_FILE).$$$$ $(TARGET_FILE) + +clean: + -rm -f $(BIN)/* + -rm -f $(OBJ)/* 2>/dev/null + -rm -f $(DEP)/* + +dep: $(DEPENDENCY); + +-include $(DEPENDENCYS) + +$(DEPENDENCYS):: $(DEP)/%.d: $(SRC)/%.cpp + $(DEPENDENCY_CREATER) "`$(CXX_DEP) $(CXXFLAGS) $<`" $@ + +$(OBJECTS): $(OBJ)/%.o: $(SRC)/%.cpp $(DEP)/%.d $(DEP)/%.d + @echo 'Objects: $@...' + @$(CXX_OBJ) $(CXXFLAGS) -o $@ $< diff --git a/GNUmakefile/GNUmakefile.dependency.bash b/GNUmakefile/GNUmakefile.dependency.bash new file mode 100755 index 0000000..6d83ca4 --- /dev/null +++ b/GNUmakefile/GNUmakefile.dependency.bash @@ -0,0 +1,21 @@ +#! /bin/bash + +out=`echo $2 | sed -e 's/\\//\\\\\//g'` + +echo $1 \ + | sed -e 's/\\ / /g' \ + | sed -e ':x; /\\$/ {N;s/\\\n//; tx};' \ + | sed -e 's/.*://g' \ + > $2.$$ +rm -f $2 +cat $2.$$ \ + | sed -e 's/^/'$out'::/g' \ + >> $2 +echo -e '\t$(DEPENDENCY_CREATER) "`$(CXX_DEP) $(CXXFLAGS) $<`" $@\n' \ + >> $2 +cat $2.$$ \ + | sed -e 's/ */\n/g' \ + | sed -e 's/$/::;/g' \ + | sed -e 's/^::;$//g' \ + >> $2 +rm -f $2.$$ @@ -1,5 +1,3 @@ -CXX = g++ -CXXFLAGS = -g -I./ ASCIIDOC = asciidoc ASCIIDOC_FLAGS = -a toc2 -a data-uri -a max-width=70em\ @@ -9,39 +7,9 @@ ASCIIDOC_FLAGS = -a toc2 -a data-uri -a max-width=70em\ README = README.asciidoc README_HTML = README.html -TEST = _test -TESTS = meowpp - - - -all: $(TESTS) - readme: ./readme_generate.py $(README) $(ASCIIDOC) $(ASCIIDOC_FLAGS) -o $(README_HTML) $(README) -$(TEST)/meowpp: $(TEST)/meowpp.o \ - $(TEST)/meowpp_Colors.o \ - $(TEST)/meowpp_DisjointSet.o \ - $(TEST)/meowpp_KD_Tree.o \ - $(TEST)/meowpp_SegmentTree.o \ - $(TEST)/meowpp_BinaryIndexTree.o \ - $(TEST)/meowpp_MergeableHeap.o \ - $(TEST)/meowpp_SplayTree.o \ - $(TEST)/meowpp_SplayTree_Range.o \ - $(TEST)/meowpp_Matrix.o \ - $(TEST)/meowpp_VP_Tree.o \ - - $(CXX) -o $@ $(CXXFLAGS) $^ - -%.o: %.cpp - $(CXX) -c -o $@ $(CXXFLAGS) $^ - -$(TESTS): %: $(TEST)/% - $^ - clean: - -rm -f $(foreach i,$(TESTS),$(TEST)/$i) - -rm -f $(TEST)/*.o - -rm -f $(README) -rm -f $(README) $(README_HTML) diff --git a/README.html b/README.html index f2f5c5c..26b5af2 100644 --- a/README.html +++ b/README.html @@ -3071,7 +3071,7 @@ E-Mail: cat.hook31894 ~在~ gmail.com <div id="footnotes"><hr></div>
<div id="footer">
<div id="footer-text">
-Last updated 2014-05-02 01:28:05 CST
+Last updated 2014-05-02 04:08:38 CST
</div>
</div>
</body>
diff --git a/_test/.gitignore b/_test/.gitignore deleted file mode 100644 index 4395672..0000000 --- a/_test/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -meowpp -*.o diff --git a/header.asciidoc b/header.asciidoc index 6f4c2e1..1ed6570 100644 --- a/header.asciidoc +++ b/header.asciidoc @@ -14,9 +14,7 @@ * *utility.h* some useful functions, `stringPringf()` , `stringReplace()` , `cstringEndWith()` , - `debugPrintf()` , `messagePrintf()` , `constant PI` , - `noEPS()` , `normalize()` , `denormalize()` , - `ratioMapping()` , `inRange()` , `squ()` , `average()` + `debugPrintf()` , `messagePrintf()` , `filenameCompare()` * *Usage.h* `class Usage` * *colors/* Color splces and transformer ** *RGB.h* `class RGBi` , `class RGBf` @@ -39,14 +37,19 @@ ** *Vector2D.h* `Vector2D<Scalar>` ** *Vector3D.h* `Vector3D<Scalar>` * *math/* +** *utility.h* some useful functions, + `constant PI` , + `noEPS()` , `normalize()` , `denormalize()` , + `ratioMapping()` , `inRange()` , `squ()` , `average()` ** *LinearTransformation.h* `LinearTransformation<Scalar>` ** *LinearTransformations.h* `Rotation3D<Scalar>` ** *Matrix.h* `Matrix<Entry>` ** *Transformation.h* `Transformation<Scalar>` ** *Transformations.h* `BallProjection<Scalar>`, `PhotoProjection<Scalar>` * *oo/* -** *Register_Implement.h* `class RegisterInterface` , - `class ImplementInterface` +** *ObjBase.h* `class ObjBase` +** *ObjSelector.h* `class ObjBase<size_t id>` +** *Properties.h* `class Properties` == Structures/Classes/Functions diff --git a/meowpp.test/.gitignore b/meowpp.test/.gitignore new file mode 100644 index 0000000..37272fe --- /dev/null +++ b/meowpp.test/.gitignore @@ -0,0 +1,2 @@ +obj/* +bin/* diff --git a/meowpp.test/GNUmakefile b/meowpp.test/GNUmakefile new file mode 120000 index 0000000..b62d958 --- /dev/null +++ b/meowpp.test/GNUmakefile @@ -0,0 +1 @@ +../GNUmakefile/GNUmakefile
\ No newline at end of file diff --git a/meowpp.test/GNUmakefile.dependency.bash b/meowpp.test/GNUmakefile.dependency.bash new file mode 120000 index 0000000..c2558c7 --- /dev/null +++ b/meowpp.test/GNUmakefile.dependency.bash @@ -0,0 +1 @@ +../GNUmakefile/GNUmakefile.dependency.bash
\ No newline at end of file diff --git a/meowpp.test/GNUmakefile.targets b/meowpp.test/GNUmakefile.targets new file mode 100644 index 0000000..1fba995 --- /dev/null +++ b/meowpp.test/GNUmakefile.targets @@ -0,0 +1,8 @@ + +TARGETS := $(TARGETS) $(BIN)/dsa +dsa_OBJS := $(OBJ)/BinaryIndexTree.o $(OBJ)/DisjointSet.o $(OBJ)/KD_Tree.o $(OBJ)/MergeableHeap.o $(OBJ)/SegmentTree.o $(OBJ)/SplayTree.o $(OBJ)/SplayTree_Range.o $(OBJ)/VP_Tree.o +dsa_LIBS := +$(BIN)/dsa: $(OBJ)/dsa.o $(dsa_OBJS) + @echo Target: $@... + @$(CXX) $^ $(CXXFLAGS) `pkg-config --cflags --libs $(dsa_LIBS) 2>/dev/null` -o $@ + diff --git a/meowpp.test/dep/BinaryIndexTree.d b/meowpp.test/dep/BinaryIndexTree.d new file mode 100644 index 0000000..9d65fb9 --- /dev/null +++ b/meowpp.test/dep/BinaryIndexTree.d @@ -0,0 +1,33 @@ +dep/BinaryIndexTree.d:: src/BinaryIndexTree.cpp inc/meowpp/dsa/BinaryIndexTree.h inc/meowpp/dsa/BinaryIndexTree.hpp inc/meowpp/dsa/BinaryIndexTree.h inc/meowpp/utility.h inc/meowpp/utility.hpp inc/meowpp/utility.h inc/meowpp.h inc/meowpp/geo/Vector2D.h inc/meowpp/geo/../math/Matrix.h inc/meowpp/geo/../math/Matrix.hpp inc/meowpp/geo/../math/Matrix.h inc/meowpp/geo/Vector2D.hpp inc/meowpp/geo/Vector2D.h inc/meowpp/geo/../math/utility.h inc/meowpp/geo/../math/utility.hpp inc/meowpp/geo/../math/utility.h inc/meowpp/geo/Vector3D.h inc/meowpp/geo/Vector3D.hpp inc/meowpp/geo/Vector3D.h inc/meowpp/Usage.h inc/meowpp/Usage.hpp inc/meowpp/Usage.h inc/meowpp/oo/Properties.h inc/meowpp/oo/ObjBase.h inc/meowpp/oo/Properties.hpp inc/meowpp/oo/Properties.h inc/meowpp/oo/ObjBase.h inc/meowpp/oo/ObjSelector.h + $(DEPENDENCY_CREATER) "`$(CXX_DEP) $(CXXFLAGS) $<`" $@ + + +src/BinaryIndexTree.cpp::; +inc/meowpp/dsa/BinaryIndexTree.h::; +inc/meowpp/dsa/BinaryIndexTree.hpp::; +inc/meowpp/dsa/BinaryIndexTree.h::; +inc/meowpp/utility.h::; +inc/meowpp/utility.hpp::; +inc/meowpp/utility.h::; +inc/meowpp.h::; +inc/meowpp/geo/Vector2D.h::; +inc/meowpp/geo/../math/Matrix.h::; +inc/meowpp/geo/../math/Matrix.hpp::; +inc/meowpp/geo/../math/Matrix.h::; +inc/meowpp/geo/Vector2D.hpp::; +inc/meowpp/geo/Vector2D.h::; +inc/meowpp/geo/../math/utility.h::; +inc/meowpp/geo/../math/utility.hpp::; +inc/meowpp/geo/../math/utility.h::; +inc/meowpp/geo/Vector3D.h::; +inc/meowpp/geo/Vector3D.hpp::; +inc/meowpp/geo/Vector3D.h::; +inc/meowpp/Usage.h::; +inc/meowpp/Usage.hpp::; +inc/meowpp/Usage.h::; +inc/meowpp/oo/Properties.h::; +inc/meowpp/oo/ObjBase.h::; +inc/meowpp/oo/Properties.hpp::; +inc/meowpp/oo/Properties.h::; +inc/meowpp/oo/ObjBase.h::; +inc/meowpp/oo/ObjSelector.h::; diff --git a/meowpp.test/dep/Colors.d b/meowpp.test/dep/Colors.d new file mode 100644 index 0000000..eef06e4 --- /dev/null +++ b/meowpp.test/dep/Colors.d @@ -0,0 +1,47 @@ +dep/Colors.d:: src/Colors.cpp inc/meowpp/colors/RGB.h inc/meowpp/colors/../geo/Vector3D.h inc/meowpp/colors/../geo/../math/Matrix.h inc/meowpp/colors/../geo/../math/Matrix.hpp inc/meowpp/colors/../geo/../math/Matrix.h inc/meowpp/colors/../geo/Vector3D.hpp inc/meowpp/colors/../geo/Vector3D.h inc/meowpp/colors/../geo/../math/utility.h inc/meowpp/colors/../geo/../math/utility.hpp inc/meowpp/colors/../geo/../math/utility.h inc/meowpp/colors/RGB.hpp inc/meowpp/colors/RGB.h inc/meowpp/colors/../math/utility.h inc/meowpp/colors/../math/Matrix.h inc/meowpp/colors/YUV.h inc/meowpp/colors/YUV.hpp inc/meowpp/colors/YUV.h inc/meowpp/colors/HSL.h inc/meowpp/colors/HSL.hpp inc/meowpp/colors/HSL.h inc/meowpp/colors/HSV.h inc/meowpp/colors/HSV.hpp inc/meowpp/colors/HSV.h inc/meowpp/utility.h inc/meowpp/utility.hpp inc/meowpp/utility.h inc/meowpp.h inc/meowpp/geo/Vector2D.h inc/meowpp/geo/../math/Matrix.h inc/meowpp/geo/Vector2D.hpp inc/meowpp/geo/Vector2D.h inc/meowpp/geo/../math/utility.h inc/meowpp/geo/Vector3D.h inc/meowpp/Usage.h inc/meowpp/Usage.hpp inc/meowpp/Usage.h inc/meowpp/oo/Properties.h inc/meowpp/oo/ObjBase.h inc/meowpp/oo/Properties.hpp inc/meowpp/oo/Properties.h inc/meowpp/oo/ObjBase.h inc/meowpp/oo/ObjSelector.h + $(DEPENDENCY_CREATER) "`$(CXX_DEP) $(CXXFLAGS) $<`" $@ + + +src/Colors.cpp::; +inc/meowpp/colors/RGB.h::; +inc/meowpp/colors/../geo/Vector3D.h::; +inc/meowpp/colors/../geo/../math/Matrix.h::; +inc/meowpp/colors/../geo/../math/Matrix.hpp::; +inc/meowpp/colors/../geo/../math/Matrix.h::; +inc/meowpp/colors/../geo/Vector3D.hpp::; +inc/meowpp/colors/../geo/Vector3D.h::; +inc/meowpp/colors/../geo/../math/utility.h::; +inc/meowpp/colors/../geo/../math/utility.hpp::; +inc/meowpp/colors/../geo/../math/utility.h::; +inc/meowpp/colors/RGB.hpp::; +inc/meowpp/colors/RGB.h::; +inc/meowpp/colors/../math/utility.h::; +inc/meowpp/colors/../math/Matrix.h::; +inc/meowpp/colors/YUV.h::; +inc/meowpp/colors/YUV.hpp::; +inc/meowpp/colors/YUV.h::; +inc/meowpp/colors/HSL.h::; +inc/meowpp/colors/HSL.hpp::; +inc/meowpp/colors/HSL.h::; +inc/meowpp/colors/HSV.h::; +inc/meowpp/colors/HSV.hpp::; +inc/meowpp/colors/HSV.h::; +inc/meowpp/utility.h::; +inc/meowpp/utility.hpp::; +inc/meowpp/utility.h::; +inc/meowpp.h::; +inc/meowpp/geo/Vector2D.h::; +inc/meowpp/geo/../math/Matrix.h::; +inc/meowpp/geo/Vector2D.hpp::; +inc/meowpp/geo/Vector2D.h::; +inc/meowpp/geo/../math/utility.h::; +inc/meowpp/geo/Vector3D.h::; +inc/meowpp/Usage.h::; +inc/meowpp/Usage.hpp::; +inc/meowpp/Usage.h::; +inc/meowpp/oo/Properties.h::; +inc/meowpp/oo/ObjBase.h::; +inc/meowpp/oo/Properties.hpp::; +inc/meowpp/oo/Properties.h::; +inc/meowpp/oo/ObjBase.h::; +inc/meowpp/oo/ObjSelector.h::; diff --git a/meowpp.test/dep/DisjointSet.d b/meowpp.test/dep/DisjointSet.d new file mode 100644 index 0000000..c78c810 --- /dev/null +++ b/meowpp.test/dep/DisjointSet.d @@ -0,0 +1,32 @@ +dep/DisjointSet.d:: src/DisjointSet.cpp inc/meowpp/dsa/DisjointSet.h inc/meowpp/dsa/DisjointSet.hpp inc/meowpp/dsa/DisjointSet.h inc/meowpp.h inc/meowpp/geo/Vector2D.h inc/meowpp/geo/../math/Matrix.h inc/meowpp/geo/../math/Matrix.hpp inc/meowpp/geo/../math/Matrix.h inc/meowpp/geo/Vector2D.hpp inc/meowpp/geo/Vector2D.h inc/meowpp/geo/../math/utility.h inc/meowpp/geo/../math/utility.hpp inc/meowpp/geo/../math/utility.h inc/meowpp/geo/Vector3D.h inc/meowpp/geo/Vector3D.hpp inc/meowpp/geo/Vector3D.h inc/meowpp/Usage.h inc/meowpp/Usage.hpp inc/meowpp/Usage.h inc/meowpp/utility.h inc/meowpp/utility.hpp inc/meowpp/oo/Properties.h inc/meowpp/oo/ObjBase.h inc/meowpp/oo/Properties.hpp inc/meowpp/oo/Properties.h inc/meowpp/oo/ObjBase.h inc/meowpp/oo/ObjSelector.h + $(DEPENDENCY_CREATER) "`$(CXX_DEP) $(CXXFLAGS) $<`" $@ + + +src/DisjointSet.cpp::; +inc/meowpp/dsa/DisjointSet.h::; +inc/meowpp/dsa/DisjointSet.hpp::; +inc/meowpp/dsa/DisjointSet.h::; +inc/meowpp.h::; +inc/meowpp/geo/Vector2D.h::; +inc/meowpp/geo/../math/Matrix.h::; +inc/meowpp/geo/../math/Matrix.hpp::; +inc/meowpp/geo/../math/Matrix.h::; +inc/meowpp/geo/Vector2D.hpp::; +inc/meowpp/geo/Vector2D.h::; +inc/meowpp/geo/../math/utility.h::; +inc/meowpp/geo/../math/utility.hpp::; +inc/meowpp/geo/../math/utility.h::; +inc/meowpp/geo/Vector3D.h::; +inc/meowpp/geo/Vector3D.hpp::; +inc/meowpp/geo/Vector3D.h::; +inc/meowpp/Usage.h::; +inc/meowpp/Usage.hpp::; +inc/meowpp/Usage.h::; +inc/meowpp/utility.h::; +inc/meowpp/utility.hpp::; +inc/meowpp/oo/Properties.h::; +inc/meowpp/oo/ObjBase.h::; +inc/meowpp/oo/Properties.hpp::; +inc/meowpp/oo/Properties.h::; +inc/meowpp/oo/ObjBase.h::; +inc/meowpp/oo/ObjSelector.h::; diff --git a/meowpp.test/dep/KD_Tree.d b/meowpp.test/dep/KD_Tree.d new file mode 100644 index 0000000..3200809 --- /dev/null +++ b/meowpp.test/dep/KD_Tree.d @@ -0,0 +1,36 @@ +dep/KD_Tree.d:: src/KD_Tree.cpp inc/meowpp/dsa/KD_Tree.h inc/meowpp/dsa/KD_Tree.hpp inc/meowpp/dsa/KD_Tree.h inc/meowpp/dsa/../utility.h inc/meowpp/dsa/../utility.hpp inc/meowpp/dsa/../utility.h inc/meowpp/dsa/../math/utility.h inc/meowpp/dsa/../math/utility.hpp inc/meowpp/dsa/../math/utility.h inc/meowpp/utility.h inc/meowpp.h inc/meowpp/geo/Vector2D.h inc/meowpp/geo/../math/Matrix.h inc/meowpp/geo/../math/Matrix.hpp inc/meowpp/geo/../math/Matrix.h inc/meowpp/geo/Vector2D.hpp inc/meowpp/geo/Vector2D.h inc/meowpp/geo/../math/utility.h inc/meowpp/geo/Vector3D.h inc/meowpp/geo/Vector3D.hpp inc/meowpp/geo/Vector3D.h inc/meowpp/Usage.h inc/meowpp/Usage.hpp inc/meowpp/Usage.h inc/meowpp/utility.h inc/meowpp/oo/Properties.h inc/meowpp/oo/ObjBase.h inc/meowpp/oo/Properties.hpp inc/meowpp/oo/Properties.h inc/meowpp/oo/ObjBase.h inc/meowpp/oo/ObjSelector.h + $(DEPENDENCY_CREATER) "`$(CXX_DEP) $(CXXFLAGS) $<`" $@ + + +src/KD_Tree.cpp::; +inc/meowpp/dsa/KD_Tree.h::; +inc/meowpp/dsa/KD_Tree.hpp::; +inc/meowpp/dsa/KD_Tree.h::; +inc/meowpp/dsa/../utility.h::; +inc/meowpp/dsa/../utility.hpp::; +inc/meowpp/dsa/../utility.h::; +inc/meowpp/dsa/../math/utility.h::; +inc/meowpp/dsa/../math/utility.hpp::; +inc/meowpp/dsa/../math/utility.h::; +inc/meowpp/utility.h::; +inc/meowpp.h::; +inc/meowpp/geo/Vector2D.h::; +inc/meowpp/geo/../math/Matrix.h::; +inc/meowpp/geo/../math/Matrix.hpp::; +inc/meowpp/geo/../math/Matrix.h::; +inc/meowpp/geo/Vector2D.hpp::; +inc/meowpp/geo/Vector2D.h::; +inc/meowpp/geo/../math/utility.h::; +inc/meowpp/geo/Vector3D.h::; +inc/meowpp/geo/Vector3D.hpp::; +inc/meowpp/geo/Vector3D.h::; +inc/meowpp/Usage.h::; +inc/meowpp/Usage.hpp::; +inc/meowpp/Usage.h::; +inc/meowpp/utility.h::; +inc/meowpp/oo/Properties.h::; +inc/meowpp/oo/ObjBase.h::; +inc/meowpp/oo/Properties.hpp::; +inc/meowpp/oo/Properties.h::; +inc/meowpp/oo/ObjBase.h::; +inc/meowpp/oo/ObjSelector.h::; diff --git a/meowpp.test/dep/Matrix.d b/meowpp.test/dep/Matrix.d new file mode 100644 index 0000000..27f106e --- /dev/null +++ b/meowpp.test/dep/Matrix.d @@ -0,0 +1,30 @@ +dep/Matrix.d:: src/Matrix.cpp inc/meowpp/math/Matrix.h inc/meowpp/math/Matrix.hpp inc/meowpp/math/Matrix.h inc/meowpp.h inc/meowpp/geo/Vector2D.h inc/meowpp/geo/../math/Matrix.h inc/meowpp/geo/Vector2D.hpp inc/meowpp/geo/Vector2D.h inc/meowpp/geo/../math/utility.h inc/meowpp/geo/../math/utility.hpp inc/meowpp/geo/../math/utility.h inc/meowpp/geo/Vector3D.h inc/meowpp/geo/Vector3D.hpp inc/meowpp/geo/Vector3D.h inc/meowpp/Usage.h inc/meowpp/Usage.hpp inc/meowpp/Usage.h inc/meowpp/utility.h inc/meowpp/utility.hpp inc/meowpp/oo/Properties.h inc/meowpp/oo/ObjBase.h inc/meowpp/oo/Properties.hpp inc/meowpp/oo/Properties.h inc/meowpp/oo/ObjBase.h inc/meowpp/oo/ObjSelector.h + $(DEPENDENCY_CREATER) "`$(CXX_DEP) $(CXXFLAGS) $<`" $@ + + +src/Matrix.cpp::; +inc/meowpp/math/Matrix.h::; +inc/meowpp/math/Matrix.hpp::; +inc/meowpp/math/Matrix.h::; +inc/meowpp.h::; +inc/meowpp/geo/Vector2D.h::; +inc/meowpp/geo/../math/Matrix.h::; +inc/meowpp/geo/Vector2D.hpp::; +inc/meowpp/geo/Vector2D.h::; +inc/meowpp/geo/../math/utility.h::; +inc/meowpp/geo/../math/utility.hpp::; +inc/meowpp/geo/../math/utility.h::; +inc/meowpp/geo/Vector3D.h::; +inc/meowpp/geo/Vector3D.hpp::; +inc/meowpp/geo/Vector3D.h::; +inc/meowpp/Usage.h::; +inc/meowpp/Usage.hpp::; +inc/meowpp/Usage.h::; +inc/meowpp/utility.h::; +inc/meowpp/utility.hpp::; +inc/meowpp/oo/Properties.h::; +inc/meowpp/oo/ObjBase.h::; +inc/meowpp/oo/Properties.hpp::; +inc/meowpp/oo/Properties.h::; +inc/meowpp/oo/ObjBase.h::; +inc/meowpp/oo/ObjSelector.h::; diff --git a/meowpp.test/dep/MergeableHeap.d b/meowpp.test/dep/MergeableHeap.d new file mode 100644 index 0000000..a350868 --- /dev/null +++ b/meowpp.test/dep/MergeableHeap.d @@ -0,0 +1,33 @@ +dep/MergeableHeap.d:: src/MergeableHeap.cpp inc/meowpp/dsa/MergeableHeap.h inc/meowpp/dsa/MergeableHeap.hpp inc/meowpp/dsa/MergeableHeap.h inc/meowpp/utility.h inc/meowpp/utility.hpp inc/meowpp/utility.h inc/meowpp.h inc/meowpp/geo/Vector2D.h inc/meowpp/geo/../math/Matrix.h inc/meowpp/geo/../math/Matrix.hpp inc/meowpp/geo/../math/Matrix.h inc/meowpp/geo/Vector2D.hpp inc/meowpp/geo/Vector2D.h inc/meowpp/geo/../math/utility.h inc/meowpp/geo/../math/utility.hpp inc/meowpp/geo/../math/utility.h inc/meowpp/geo/Vector3D.h inc/meowpp/geo/Vector3D.hpp inc/meowpp/geo/Vector3D.h inc/meowpp/Usage.h inc/meowpp/Usage.hpp inc/meowpp/Usage.h inc/meowpp/oo/Properties.h inc/meowpp/oo/ObjBase.h inc/meowpp/oo/Properties.hpp inc/meowpp/oo/Properties.h inc/meowpp/oo/ObjBase.h inc/meowpp/oo/ObjSelector.h + $(DEPENDENCY_CREATER) "`$(CXX_DEP) $(CXXFLAGS) $<`" $@ + + +src/MergeableHeap.cpp::; +inc/meowpp/dsa/MergeableHeap.h::; +inc/meowpp/dsa/MergeableHeap.hpp::; +inc/meowpp/dsa/MergeableHeap.h::; +inc/meowpp/utility.h::; +inc/meowpp/utility.hpp::; +inc/meowpp/utility.h::; +inc/meowpp.h::; +inc/meowpp/geo/Vector2D.h::; +inc/meowpp/geo/../math/Matrix.h::; +inc/meowpp/geo/../math/Matrix.hpp::; +inc/meowpp/geo/../math/Matrix.h::; +inc/meowpp/geo/Vector2D.hpp::; +inc/meowpp/geo/Vector2D.h::; +inc/meowpp/geo/../math/utility.h::; +inc/meowpp/geo/../math/utility.hpp::; +inc/meowpp/geo/../math/utility.h::; +inc/meowpp/geo/Vector3D.h::; +inc/meowpp/geo/Vector3D.hpp::; +inc/meowpp/geo/Vector3D.h::; +inc/meowpp/Usage.h::; +inc/meowpp/Usage.hpp::; +inc/meowpp/Usage.h::; +inc/meowpp/oo/Properties.h::; +inc/meowpp/oo/ObjBase.h::; +inc/meowpp/oo/Properties.hpp::; +inc/meowpp/oo/Properties.h::; +inc/meowpp/oo/ObjBase.h::; +inc/meowpp/oo/ObjSelector.h::; diff --git a/meowpp.test/dep/SegmentTree.d b/meowpp.test/dep/SegmentTree.d new file mode 100644 index 0000000..bda120e --- /dev/null +++ b/meowpp.test/dep/SegmentTree.d @@ -0,0 +1,34 @@ +dep/SegmentTree.d:: src/SegmentTree.cpp inc/meowpp/dsa/SegmentTree.h inc/meowpp/dsa/SegmentTree.hpp inc/meowpp/dsa/SegmentTree.h inc/meowpp/dsa/../math/utility.h inc/meowpp/dsa/../math/utility.hpp inc/meowpp/dsa/../math/utility.h inc/meowpp/utility.h inc/meowpp/utility.hpp inc/meowpp/utility.h inc/meowpp.h inc/meowpp/geo/Vector2D.h inc/meowpp/geo/../math/Matrix.h inc/meowpp/geo/../math/Matrix.hpp inc/meowpp/geo/../math/Matrix.h inc/meowpp/geo/Vector2D.hpp inc/meowpp/geo/Vector2D.h inc/meowpp/geo/../math/utility.h inc/meowpp/geo/Vector3D.h inc/meowpp/geo/Vector3D.hpp inc/meowpp/geo/Vector3D.h inc/meowpp/Usage.h inc/meowpp/Usage.hpp inc/meowpp/Usage.h inc/meowpp/oo/Properties.h inc/meowpp/oo/ObjBase.h inc/meowpp/oo/Properties.hpp inc/meowpp/oo/Properties.h inc/meowpp/oo/ObjBase.h inc/meowpp/oo/ObjSelector.h + $(DEPENDENCY_CREATER) "`$(CXX_DEP) $(CXXFLAGS) $<`" $@ + + +src/SegmentTree.cpp::; +inc/meowpp/dsa/SegmentTree.h::; +inc/meowpp/dsa/SegmentTree.hpp::; +inc/meowpp/dsa/SegmentTree.h::; +inc/meowpp/dsa/../math/utility.h::; +inc/meowpp/dsa/../math/utility.hpp::; +inc/meowpp/dsa/../math/utility.h::; +inc/meowpp/utility.h::; +inc/meowpp/utility.hpp::; +inc/meowpp/utility.h::; +inc/meowpp.h::; +inc/meowpp/geo/Vector2D.h::; +inc/meowpp/geo/../math/Matrix.h::; +inc/meowpp/geo/../math/Matrix.hpp::; +inc/meowpp/geo/../math/Matrix.h::; +inc/meowpp/geo/Vector2D.hpp::; +inc/meowpp/geo/Vector2D.h::; +inc/meowpp/geo/../math/utility.h::; +inc/meowpp/geo/Vector3D.h::; +inc/meowpp/geo/Vector3D.hpp::; +inc/meowpp/geo/Vector3D.h::; +inc/meowpp/Usage.h::; +inc/meowpp/Usage.hpp::; +inc/meowpp/Usage.h::; +inc/meowpp/oo/Properties.h::; +inc/meowpp/oo/ObjBase.h::; +inc/meowpp/oo/Properties.hpp::; +inc/meowpp/oo/Properties.h::; +inc/meowpp/oo/ObjBase.h::; +inc/meowpp/oo/ObjSelector.h::; diff --git a/meowpp.test/dep/SplayTree.d b/meowpp.test/dep/SplayTree.d new file mode 100644 index 0000000..79a1502 --- /dev/null +++ b/meowpp.test/dep/SplayTree.d @@ -0,0 +1,33 @@ +dep/SplayTree.d:: src/SplayTree.cpp inc/meowpp/dsa/SplayTree.h inc/meowpp/dsa/SplayTree.hpp inc/meowpp/dsa/SplayTree.h inc/meowpp/utility.h inc/meowpp/utility.hpp inc/meowpp/utility.h inc/meowpp.h inc/meowpp/geo/Vector2D.h inc/meowpp/geo/../math/Matrix.h inc/meowpp/geo/../math/Matrix.hpp inc/meowpp/geo/../math/Matrix.h inc/meowpp/geo/Vector2D.hpp inc/meowpp/geo/Vector2D.h inc/meowpp/geo/../math/utility.h inc/meowpp/geo/../math/utility.hpp inc/meowpp/geo/../math/utility.h inc/meowpp/geo/Vector3D.h inc/meowpp/geo/Vector3D.hpp inc/meowpp/geo/Vector3D.h inc/meowpp/Usage.h inc/meowpp/Usage.hpp inc/meowpp/Usage.h inc/meowpp/oo/Properties.h inc/meowpp/oo/ObjBase.h inc/meowpp/oo/Properties.hpp inc/meowpp/oo/Properties.h inc/meowpp/oo/ObjBase.h inc/meowpp/oo/ObjSelector.h + $(DEPENDENCY_CREATER) "`$(CXX_DEP) $(CXXFLAGS) $<`" $@ + + +src/SplayTree.cpp::; +inc/meowpp/dsa/SplayTree.h::; +inc/meowpp/dsa/SplayTree.hpp::; +inc/meowpp/dsa/SplayTree.h::; +inc/meowpp/utility.h::; +inc/meowpp/utility.hpp::; +inc/meowpp/utility.h::; +inc/meowpp.h::; +inc/meowpp/geo/Vector2D.h::; +inc/meowpp/geo/../math/Matrix.h::; +inc/meowpp/geo/../math/Matrix.hpp::; +inc/meowpp/geo/../math/Matrix.h::; +inc/meowpp/geo/Vector2D.hpp::; +inc/meowpp/geo/Vector2D.h::; +inc/meowpp/geo/../math/utility.h::; +inc/meowpp/geo/../math/utility.hpp::; +inc/meowpp/geo/../math/utility.h::; +inc/meowpp/geo/Vector3D.h::; +inc/meowpp/geo/Vector3D.hpp::; +inc/meowpp/geo/Vector3D.h::; +inc/meowpp/Usage.h::; +inc/meowpp/Usage.hpp::; +inc/meowpp/Usage.h::; +inc/meowpp/oo/Properties.h::; +inc/meowpp/oo/ObjBase.h::; +inc/meowpp/oo/Properties.hpp::; +inc/meowpp/oo/Properties.h::; +inc/meowpp/oo/ObjBase.h::; +inc/meowpp/oo/ObjSelector.h::; diff --git a/meowpp.test/dep/SplayTree_Range.d b/meowpp.test/dep/SplayTree_Range.d new file mode 100644 index 0000000..e16c7a3 --- /dev/null +++ b/meowpp.test/dep/SplayTree_Range.d @@ -0,0 +1,34 @@ +dep/SplayTree_Range.d:: src/SplayTree_Range.cpp inc/meowpp/dsa/SplayTree_Range.h inc/meowpp/dsa/../math/utility.h inc/meowpp/dsa/../math/utility.hpp inc/meowpp/dsa/../math/utility.h inc/meowpp/dsa/SplayTree_Range.hpp inc/meowpp/dsa/SplayTree_Range.h inc/meowpp/utility.h inc/meowpp/utility.hpp inc/meowpp/utility.h inc/meowpp.h inc/meowpp/geo/Vector2D.h inc/meowpp/geo/../math/Matrix.h inc/meowpp/geo/../math/Matrix.hpp inc/meowpp/geo/../math/Matrix.h inc/meowpp/geo/Vector2D.hpp inc/meowpp/geo/Vector2D.h inc/meowpp/geo/../math/utility.h inc/meowpp/geo/Vector3D.h inc/meowpp/geo/Vector3D.hpp inc/meowpp/geo/Vector3D.h inc/meowpp/Usage.h inc/meowpp/Usage.hpp inc/meowpp/Usage.h inc/meowpp/oo/Properties.h inc/meowpp/oo/ObjBase.h inc/meowpp/oo/Properties.hpp inc/meowpp/oo/Properties.h inc/meowpp/oo/ObjBase.h inc/meowpp/oo/ObjSelector.h + $(DEPENDENCY_CREATER) "`$(CXX_DEP) $(CXXFLAGS) $<`" $@ + + +src/SplayTree_Range.cpp::; +inc/meowpp/dsa/SplayTree_Range.h::; +inc/meowpp/dsa/../math/utility.h::; +inc/meowpp/dsa/../math/utility.hpp::; +inc/meowpp/dsa/../math/utility.h::; +inc/meowpp/dsa/SplayTree_Range.hpp::; +inc/meowpp/dsa/SplayTree_Range.h::; +inc/meowpp/utility.h::; +inc/meowpp/utility.hpp::; +inc/meowpp/utility.h::; +inc/meowpp.h::; +inc/meowpp/geo/Vector2D.h::; +inc/meowpp/geo/../math/Matrix.h::; +inc/meowpp/geo/../math/Matrix.hpp::; +inc/meowpp/geo/../math/Matrix.h::; +inc/meowpp/geo/Vector2D.hpp::; +inc/meowpp/geo/Vector2D.h::; +inc/meowpp/geo/../math/utility.h::; +inc/meowpp/geo/Vector3D.h::; +inc/meowpp/geo/Vector3D.hpp::; +inc/meowpp/geo/Vector3D.h::; +inc/meowpp/Usage.h::; +inc/meowpp/Usage.hpp::; +inc/meowpp/Usage.h::; +inc/meowpp/oo/Properties.h::; +inc/meowpp/oo/ObjBase.h::; +inc/meowpp/oo/Properties.hpp::; +inc/meowpp/oo/Properties.h::; +inc/meowpp/oo/ObjBase.h::; +inc/meowpp/oo/ObjSelector.h::; diff --git a/meowpp.test/dep/VP_Tree.d b/meowpp.test/dep/VP_Tree.d new file mode 100644 index 0000000..30cbd22 --- /dev/null +++ b/meowpp.test/dep/VP_Tree.d @@ -0,0 +1,39 @@ +dep/VP_Tree.d:: src/VP_Tree.cpp inc/meowpp/dsa/VP_Tree.h inc/meowpp/dsa/../math/utility.h inc/meowpp/dsa/../math/utility.hpp inc/meowpp/dsa/../math/utility.h inc/meowpp/dsa/VP_Tree.hpp inc/meowpp/dsa/VP_Tree.h inc/meowpp/dsa/KD_Tree.h inc/meowpp/dsa/KD_Tree.hpp inc/meowpp/dsa/KD_Tree.h inc/meowpp/dsa/../utility.h inc/meowpp/dsa/../utility.hpp inc/meowpp/dsa/../utility.h inc/meowpp/utility.h inc/meowpp.h inc/meowpp/geo/Vector2D.h inc/meowpp/geo/../math/Matrix.h inc/meowpp/geo/../math/Matrix.hpp inc/meowpp/geo/../math/Matrix.h inc/meowpp/geo/Vector2D.hpp inc/meowpp/geo/Vector2D.h inc/meowpp/geo/../math/utility.h inc/meowpp/geo/Vector3D.h inc/meowpp/geo/Vector3D.hpp inc/meowpp/geo/Vector3D.h inc/meowpp/Usage.h inc/meowpp/Usage.hpp inc/meowpp/Usage.h inc/meowpp/utility.h inc/meowpp/oo/Properties.h inc/meowpp/oo/ObjBase.h inc/meowpp/oo/Properties.hpp inc/meowpp/oo/Properties.h inc/meowpp/oo/ObjBase.h inc/meowpp/oo/ObjSelector.h + $(DEPENDENCY_CREATER) "`$(CXX_DEP) $(CXXFLAGS) $<`" $@ + + +src/VP_Tree.cpp::; +inc/meowpp/dsa/VP_Tree.h::; +inc/meowpp/dsa/../math/utility.h::; +inc/meowpp/dsa/../math/utility.hpp::; +inc/meowpp/dsa/../math/utility.h::; +inc/meowpp/dsa/VP_Tree.hpp::; +inc/meowpp/dsa/VP_Tree.h::; +inc/meowpp/dsa/KD_Tree.h::; +inc/meowpp/dsa/KD_Tree.hpp::; +inc/meowpp/dsa/KD_Tree.h::; +inc/meowpp/dsa/../utility.h::; +inc/meowpp/dsa/../utility.hpp::; +inc/meowpp/dsa/../utility.h::; +inc/meowpp/utility.h::; +inc/meowpp.h::; +inc/meowpp/geo/Vector2D.h::; +inc/meowpp/geo/../math/Matrix.h::; +inc/meowpp/geo/../math/Matrix.hpp::; +inc/meowpp/geo/../math/Matrix.h::; +inc/meowpp/geo/Vector2D.hpp::; +inc/meowpp/geo/Vector2D.h::; +inc/meowpp/geo/../math/utility.h::; +inc/meowpp/geo/Vector3D.h::; +inc/meowpp/geo/Vector3D.hpp::; +inc/meowpp/geo/Vector3D.h::; +inc/meowpp/Usage.h::; +inc/meowpp/Usage.hpp::; +inc/meowpp/Usage.h::; +inc/meowpp/utility.h::; +inc/meowpp/oo/Properties.h::; +inc/meowpp/oo/ObjBase.h::; +inc/meowpp/oo/Properties.hpp::; +inc/meowpp/oo/Properties.h::; +inc/meowpp/oo/ObjBase.h::; +inc/meowpp/oo/ObjSelector.h::; diff --git a/meowpp.test/dep/dsa.d b/meowpp.test/dep/dsa.d new file mode 100644 index 0000000..e2db740 --- /dev/null +++ b/meowpp.test/dep/dsa.d @@ -0,0 +1,30 @@ +dep/dsa.d:: src/dsa.cpp inc/meowpp.h inc/meowpp/geo/Vector2D.h inc/meowpp/geo/../math/Matrix.h inc/meowpp/geo/../math/Matrix.hpp inc/meowpp/geo/../math/Matrix.h inc/meowpp/geo/Vector2D.hpp inc/meowpp/geo/Vector2D.h inc/meowpp/geo/../math/utility.h inc/meowpp/geo/../math/utility.hpp inc/meowpp/geo/../math/utility.h inc/meowpp/geo/Vector3D.h inc/meowpp/geo/Vector3D.hpp inc/meowpp/geo/Vector3D.h inc/meowpp/Usage.h inc/meowpp/Usage.hpp inc/meowpp/Usage.h inc/meowpp/utility.h inc/meowpp/utility.hpp inc/meowpp/oo/Properties.h inc/meowpp/oo/ObjBase.h inc/meowpp/oo/Properties.hpp inc/meowpp/oo/Properties.h inc/meowpp/oo/ObjBase.h inc/meowpp/oo/ObjSelector.h inc/meowpp/Usage.h + $(DEPENDENCY_CREATER) "`$(CXX_DEP) $(CXXFLAGS) $<`" $@ + + +src/dsa.cpp::; +inc/meowpp.h::; +inc/meowpp/geo/Vector2D.h::; +inc/meowpp/geo/../math/Matrix.h::; +inc/meowpp/geo/../math/Matrix.hpp::; +inc/meowpp/geo/../math/Matrix.h::; +inc/meowpp/geo/Vector2D.hpp::; +inc/meowpp/geo/Vector2D.h::; +inc/meowpp/geo/../math/utility.h::; +inc/meowpp/geo/../math/utility.hpp::; +inc/meowpp/geo/../math/utility.h::; +inc/meowpp/geo/Vector3D.h::; +inc/meowpp/geo/Vector3D.hpp::; +inc/meowpp/geo/Vector3D.h::; +inc/meowpp/Usage.h::; +inc/meowpp/Usage.hpp::; +inc/meowpp/Usage.h::; +inc/meowpp/utility.h::; +inc/meowpp/utility.hpp::; +inc/meowpp/oo/Properties.h::; +inc/meowpp/oo/ObjBase.h::; +inc/meowpp/oo/Properties.hpp::; +inc/meowpp/oo/Properties.h::; +inc/meowpp/oo/ObjBase.h::; +inc/meowpp/oo/ObjSelector.h::; +inc/meowpp/Usage.h::; diff --git a/meowpp.test/inc/meowpp b/meowpp.test/inc/meowpp new file mode 120000 index 0000000..304fa84 --- /dev/null +++ b/meowpp.test/inc/meowpp @@ -0,0 +1 @@ +../../meowpp
\ No newline at end of file diff --git a/_test/meowpp.h b/meowpp.test/inc/meowpp.h index 8e6e181..8e6e181 100644 --- a/_test/meowpp.h +++ b/meowpp.test/inc/meowpp.h diff --git a/_test/meowpp_BinaryIndexTree.cpp b/meowpp.test/src/BinaryIndexTree.cpp index 0b81f10..0b81f10 100644 --- a/_test/meowpp_BinaryIndexTree.cpp +++ b/meowpp.test/src/BinaryIndexTree.cpp diff --git a/_test/meowpp_Colors.cpp b/meowpp.test/src/Colors.cpp index 3233cf6..3233cf6 100644 --- a/_test/meowpp_Colors.cpp +++ b/meowpp.test/src/Colors.cpp diff --git a/_test/meowpp_DisjointSet.cpp b/meowpp.test/src/DisjointSet.cpp index 41ca7d2..ca9db24 100644 --- a/_test/meowpp_DisjointSet.cpp +++ b/meowpp.test/src/DisjointSet.cpp @@ -15,7 +15,7 @@ TEST(DisjointSet, "..."){ } int root = dsj.root(0); for(int i = 1; i < N; i++){ - if(root != dsj.root(i)){ + if(root != (int)dsj.root(i)){ meow::messagePrintf(-1, "fail"); return false; } @@ -30,7 +30,7 @@ TEST(DisjointSet, "..."){ } root = dsj.root(0); for(int i = 1; i < N; i++){ - if(root != dsj.root(i)){ + if(root != (int)dsj.root(i)){ meow::messagePrintf(-1, "fail"); return false; } @@ -65,7 +65,7 @@ TEST(DisjointSet, "..."){ } for(int i = 0; i < N; i++){ bool ok = false; - if(used[i] == -1 && dsj.root(i) == i){ + if((int)used[i] == -1 && (int)dsj.root(i) == i){ ok = true; }else{ if(dsj.root(i) == dsj.root(nums[used[i]][0])){ diff --git a/_test/meowpp_KD_Tree.cpp b/meowpp.test/src/KD_Tree.cpp index 25c18b0..1a61238 100644 --- a/_test/meowpp_KD_Tree.cpp +++ b/meowpp.test/src/KD_Tree.cpp @@ -56,6 +56,7 @@ static void find(std::vector<double> const& v, int k){ static std::vector<double> v; +/* static bool sf(const int& a, const int& b){ if(dist[a] != dist[b]) return (dist[a] < dist[b]); @@ -107,6 +108,7 @@ static void show(std::vector<double> const& ask, std::vector<int> kd, std::vecto } } } +// */ struct Node{ std::vector<double> v; @@ -144,7 +146,6 @@ TEST(KD_Tree, "It is very slow"){ meow::messagePrintf(1, "query..."); v.resize(D); meow::KD_Tree<Node, double>::Vectors ret; - int id; for(int k = 1; k <= std::min(100, N); k++){ meow::messagePrintf(1, "range k = %d", k); t1 = t2 = 0; @@ -163,7 +164,7 @@ TEST(KD_Tree, "It is very slow"){ t0 = clock(); find(v, k); t2 += clock() - t0; - if(ret.size() != std::min(k, N)){ + if((int)ret.size() != (int)std::min(k, N)){ meow::messagePrintf(-1, "(%d)query fail, size error", i); meow::messagePrintf(-1, "fail"); return false; diff --git a/_test/meowpp_Matrix.cpp b/meowpp.test/src/Matrix.cpp index 6ef94b7..6ef94b7 100644 --- a/_test/meowpp_Matrix.cpp +++ b/meowpp.test/src/Matrix.cpp diff --git a/_test/meowpp_MergeableHeap.cpp b/meowpp.test/src/MergeableHeap.cpp index 78eed00..78eed00 100644 --- a/_test/meowpp_MergeableHeap.cpp +++ b/meowpp.test/src/MergeableHeap.cpp diff --git a/_test/meowpp_SegmentTree.cpp b/meowpp.test/src/SegmentTree.cpp index f92f55f..f92f55f 100644 --- a/_test/meowpp_SegmentTree.cpp +++ b/meowpp.test/src/SegmentTree.cpp diff --git a/_test/meowpp_SplayTree.cpp b/meowpp.test/src/SplayTree.cpp index 96c5807..9855307 100644 --- a/_test/meowpp_SplayTree.cpp +++ b/meowpp.test/src/SplayTree.cpp @@ -28,8 +28,7 @@ static void show(bool fg = false){ } printf("\n"); printf("splay %d-%lu: ", i, splay[i].size()); - bool bye = false; - for(int j = 0; j < splay[i].size(); j++){ + for(size_t j = 0; j < splay[i].size(); j++){ IterS it = splay[i].order(j); printf("%d/%.2f ", it->first, it->second); } @@ -188,6 +187,7 @@ static bool first_last(int i, size_t* tN, size_t* tS){ } return true; } +/* static bool insert(int i, int key, double val, size_t* tN, size_t* tS){ size_t t0; if(rand() & 1){ @@ -201,6 +201,7 @@ static bool insert(int i, int key, double val, size_t* tN, size_t* tS){ show(detail_fg); return true; } +// */ static bool split(int i, int j, int key, size_t* tN, size_t* tS){ size_t t0; if(i == j){ @@ -250,7 +251,7 @@ static bool merge(int i, int j, int key, size_t* tN, size_t* tS){ normal[j].clear(); } *tN += clock() - t0; - detail_fg && printf("============= merge(%d, %d)\n", i, j, key); + detail_fg && printf("============= merge(%d, %d)\n", i, j); show(detail_fg); return true; } diff --git a/_test/meowpp_SplayTree_Range.cpp b/meowpp.test/src/SplayTree_Range.cpp index 7df650a..085b5bf 100644 --- a/_test/meowpp_SplayTree_Range.cpp +++ b/meowpp.test/src/SplayTree_Range.cpp @@ -14,8 +14,8 @@ struct Double{ double k; Double(): k(0){ } Double(double _k): k(0){ } - bool operator==(const Double& b) const{ fabs(k - b.k) <= 1e-9; } - bool operator!=(const Double& b) const{ fabs(k - b.k) > 1e-9; } + bool operator==(const Double& b) const{ return fabs(k - b.k) <= 1e-9; } + bool operator!=(const Double& b) const{ return fabs(k - b.k) > 1e-9; } bool operator<(const Double& b) const{ return k < b.k; } Double operator+(const Double& b) const{ return Double(k + b.k); } Double operator*(size_t& b) const{ @@ -48,8 +48,7 @@ static void show(bool fg = false){ } printf("\n"); printf("splay %d-%lu: ", i, splay[i].size()); - bool bye = false; - for(int j = 0; j < splay[i].size(); j++){ + for(size_t j = 0; j < splay[i].size(); j++){ IterS it = splay[i].order(j); printf("%d/%.2f ", it->first, it->second.k); } @@ -270,7 +269,7 @@ static bool merge(int i, int j, int key, size_t* tN, size_t* tS){ normal[j].clear(); } *tN += clock() - t0; - detail_fg && printf("============= merge(%d, %d)\n", i, j, key); + detail_fg && printf("============= merge(%d, %d)\n", i, j); show(detail_fg); return true; } @@ -324,7 +323,7 @@ static bool query(int i, int a, int b, size_t* tN, size_t* tS){ size_t t0; detail_fg && printf("============= query(%d, %d, %d)\n", i, a, b); Double ans1, ans2 = 0; - if(rand() & 3 == 3){ + if((rand() & 3) == 3){ t0 = clock(); ans1 = splay[i].query(); (*tS) += clock() - t0; t0 = clock(); for(IterN it = normal[i].begin(); it != normal[i].end(); it++){ diff --git a/_test/meowpp_VP_Tree.cpp b/meowpp.test/src/VP_Tree.cpp index 503cde6..c30b118 100644 --- a/_test/meowpp_VP_Tree.cpp +++ b/meowpp.test/src/VP_Tree.cpp @@ -2,6 +2,7 @@ #include "meowpp/dsa/KD_Tree.h" #include "meowpp/utility.h" + #include "meowpp.h" #include <vector> @@ -62,14 +63,14 @@ void show(MyVector const& v, std::vector<MyVector> const& r1, std::vector<MyVect printf("%8lld ", v[j]); printf("\n"); printf("---------\n"); - for(int i = 0; i < r1.size(); i++){ + for(size_t i = 0; i < r1.size(); i++){ printf("%3d) ", r1[i].w); for(int j = 0; j < D; j++) printf("%8lld ", r1[i][j]); printf(" ===> %lld\n", dist2(r1[i], v)); } printf("---------\n"); - for(int i = 0; i < r2.size(); i++){ + for(size_t i = 0; i < r2.size(); i++){ printf("%3d) ", r2[i].w); for(int j = 0; j < D; j++) printf("%8lld ", r2[i][j]); diff --git a/_test/meowpp.cpp b/meowpp.test/src/dsa.cpp index c380098..c380098 100644 --- a/_test/meowpp.cpp +++ b/meowpp.test/src/dsa.cpp diff --git a/meowpp/dsa/KD_Tree.h b/meowpp/dsa/KD_Tree.h index b4e579c..dcb60a7 100644 --- a/meowpp/dsa/KD_Tree.h +++ b/meowpp/dsa/KD_Tree.h @@ -75,7 +75,7 @@ namespace meow{ void query(Vector const& __vector, size_t __nearestNumber, AnswerCompare const& __answerCompare, - size_t __index, + ssize_t __index, int __depth, std::vector<Scalar>& __dist2Vector, Scalar __dist2Minimum, diff --git a/meowpp/dsa/KD_Tree.hpp b/meowpp/dsa/KD_Tree.hpp index 735d4af..824b917 100644 --- a/meowpp/dsa/KD_Tree.hpp +++ b/meowpp/dsa/KD_Tree.hpp @@ -84,14 +84,14 @@ namespace meow{ //////////////////////////////////////////////////////////////////// template<class Vector, class Scalar> inline void - KD_Tree<Vector, Scalar>::query(Vector const& __vector, - size_t __nearestNumber, + KD_Tree<Vector, Scalar>::query(Vector const& __vector, + size_t __nearestNumber, AnswerCompare const& __answerCompare, - size_t __index, - int __depth, + ssize_t __index, + int __depth, std::vector<Scalar>& __dist2Vector, Scalar __dist2Minimum, - Answers *__out) const{ + Answers* __out) const{ if(__index == _NIL) return ; size_t cmp = __depth % _dimension; ssize_t this_side, that_side; @@ -144,7 +144,7 @@ namespace meow{ for(ssize_t i = mid + 1; i <= __end; i++){ __orders[which_side][__orders[cmp][i]] = 1; } - for(int i = 0; i < _dimension; i++){ + for(size_t i = 0; i < _dimension; i++){ if(i == cmp) continue; size_t left = __beg, right = mid + 1; for(int j = __beg; j <= __end; j++){ @@ -216,10 +216,10 @@ namespace meow{ inline void KD_Tree<Vector, Scalar>::forceBuild(){ std::vector<size_t> *orders = new std::vector<size_t>[_dimension + 2]; - for(int j = 0; j < _dimension + 2; j++){ + for(size_t j = 0; j < _dimension + 2; j++){ orders[j].resize(_nodes.size()); } - for(int j = 0; j < _dimension; j++){ + for(size_t j = 0; j < _dimension; j++){ for(size_t i = 0, I = _nodes.size(); i < I; i++){ orders[j][i] = i; } diff --git a/meowpp/dsa/SegmentTree.hpp b/meowpp/dsa/SegmentTree.hpp index bdd43fb..15ac0ef 100644 --- a/meowpp/dsa/SegmentTree.hpp +++ b/meowpp/dsa/SegmentTree.hpp @@ -70,7 +70,7 @@ namespace meow{ template<class Value> inline bool SegmentTree<Value>::rangeCorrect(ssize_t* __first, ssize_t* __last) const{ - if(*__last<*__first || *__last<0 || _size-1<*__first) return false; + if(*__last<*__first || *__last<0 || (ssize_t)_size-1<*__first) return false; *__first = inRange((ssize_t)0, (ssize_t)_size - 1, *__first); *__last = inRange((ssize_t)0, (ssize_t)_size - 1, *__last ); return true; diff --git a/meowpp/dsa/VP_Tree.hpp b/meowpp/dsa/VP_Tree.hpp index 2026050..bb6b5f1 100644 --- a/meowpp/dsa/VP_Tree.hpp +++ b/meowpp/dsa/VP_Tree.hpp @@ -69,8 +69,6 @@ namespace meow{ VP_Tree<Vector, Scalar>::split(ssize_t __first, ssize_t __last, size_t __order, Vector const& __center){ ssize_t first0 = __first; - ssize_t last0 = __last; - ssize_t order0 = __order; std::vector<Scalar> dist2(__last - __first + 1); for(ssize_t i = __first; i <= __last; i++){ dist2[i - first0] = distance2(_vectors[i], __center); @@ -79,10 +77,10 @@ namespace meow{ size_t threshold_index = __first + rand() % (__last - __first + 1); Scalar threshold(dist2[threshold_index - first0]); size_t large_first = __last + 1; - for(size_t i = __first; __first <= large_first - 1; large_first--){ + for(ssize_t i=__first; __first<=(ssize_t)large_first-1; large_first--){ if(threshold < dist2[large_first - 1 - first0]) continue; - while(i < large_first - 1 && !(threshold < dist2[i - first0])) i++; - if(i < large_first - 1){ + while(i < (ssize_t)large_first-1&&!(threshold < dist2[i-first0])) i++; + if(i < (ssize_t)large_first - 1){ std::swap(dist2 [large_first - 1 - first0], dist2 [i - first0]); std::swap(_vectors[large_first - 1 ], _vectors[i ]); i++; @@ -90,10 +88,10 @@ namespace meow{ break; } } - if(large_first == __last + 1){ + if(large_first == (size_t)__last + 1){ std::swap(dist2 [threshold_index-first0], dist2 [__last-first0]); std::swap(_vectors[threshold_index ], _vectors[__last ]); - if(__order == __last - __first){ + if((ssize_t)__order == __last - __first){ __first = __last; break; } @@ -182,15 +180,18 @@ namespace meow{ template<class Vector, class Scalar> inline VP_Tree<Vector, Scalar>::VP_Tree(VP_Tree<Vector, Scalar> const& __tree2): - _root(dup(__tree2._root)), _vectors(__tree2._vectors), + _root(dup(__tree2._root)), _dimension(__tree2._dimension), _needRebuild(__tree2._needRebuild){ } template<class Vector, class Scalar> inline VP_Tree<Vector, Scalar>::VP_Tree(size_t __dimension): - _root(NULL), _vectors(0), _dimension(0), _needRebuild(false){ + _vectors(0), + _root(NULL), + _dimension(0), + _needRebuild(false){ reset(__dimension); } template<class Vector, class Scalar> diff --git a/meowpp/oo/ObjBase.h b/meowpp/oo/ObjBase.h index 2c8cb70..3aa99d7 100644 --- a/meowpp/oo/ObjBase.h +++ b/meowpp/oo/ObjBase.h @@ -1,6 +1,8 @@ #ifndef oo_ObjBase_H__ #define oo_ObjBase_H__ +#include <cstdio> + #include <typeinfo> #include <string> @@ -11,7 +13,11 @@ namespace meow{ public: virtual ~ObjBase(){ } // - virtual ObjBase* create() const = 0; + virtual bool read (FILE* f, bool bin, unsigned int fg){ return false; } + virtual bool write(FILE* f, bool bin, unsigned int fg){ return false; } + // + virtual ObjBase* create() const{ return NULL; } + // virtual char const* ctype() const{ static char const* ptr = typeid(*this).name(); return ptr; diff --git a/meowpp/oo/ObjPort.h b/meowpp/oo/ObjPort.h new file mode 100644 index 0000000..b9baf0c --- /dev/null +++ b/meowpp/oo/ObjPort.h @@ -0,0 +1,18 @@ +#ifndef oo_ObjPort_H__ +#define oo_ObjPort_H__ + +#include "ObjBase.h" + +#include <cstdio> + +namespace meow{ + template<size_t sid> + class ObjPort{ + public: + static ObjBase* read (FILE* __f, bool __binary); + static bool write(FILE* __f, bool __binary, + ObjBase* __obj, unsigned int __fg); + }; +} + +#endif // oo_ObjPort_H__ diff --git a/meowpp/oo/ObjPort.hpp b/meowpp/oo/ObjPort.hpp new file mode 100644 index 0000000..d458adf --- /dev/null +++ b/meowpp/oo/ObjPort.hpp @@ -0,0 +1,47 @@ +#include "ObjPort.h" + +#include "ObjSelector.h" +#include "ObjBase.h" + +#include <cstdio> + +namespace meow{ + template<size_t sid> + inline ObjPort::ObjBase* read(FILE* __f, bool __binary){ + char name[1024]; + unsigned int fg; + if(__binary){ + size_t len; + if(fread(&len, sizeof(size_t), 1, __f) < 1) return NULL; + if(fread(name, sizeof(char), len, __f) < len) return NULL; + if(fread(&fg, sizeof(unsigned int), 1, __f) < 1) return NULL; + name[len] = '\0'; + }else{ + fscanf(__f, "%s %u", name, &fg); + } + ObjBase* ret = Selector<sid>(name); + if(ret->read(__f, __binary, fg) == false){ + delete ret; + ret = NULL; + } + return ret; + } + + + template<size_t sid> + inline ObjPort::bool write(FILE* __f, bool __binary, + ObjBase* __obj, unsigned int __fg){ + std::string name = Selector<sid>::find(__obj); + if(__binary){ + size_t len = name.size(); + if(fwrite(&len, sizeof(size_t), 1, __f) < 1) return false; + if(fwrite(name.c_str(), sizeof(char), len, __f) < len) return false; + if(fwrite(&__fg, sizeof(unsigned int), 1, __f) < len) return false; + }else{ + if(fprintf(__f, "%s %u\n", name.c_str(), __fg) < 2) return false; + } + return __obj->write(__f, __binary, __fg); + } +} + +#endif // oo_ObjPort_H__ diff --git a/meowpp/oo/ObjSelector.h b/meowpp/oo/ObjSelector.h index e70c496..58debcb 100644 --- a/meowpp/oo/ObjSelector.h +++ b/meowpp/oo/ObjSelector.h @@ -34,11 +34,22 @@ namespace meow{ funcs().erase(s); } } + static ObjBase const* access(std::string s){ + if(funcs().find(s) == funcs().end()) return NULL; + return funcs()[s]; + } static ObjBase* get(std::string s){ if(funcs().find(s) == funcs().end() || funcs()[s] == NULL) return NULL; return funcs()[s]->create(); } + static std::string find(ObjBase* o){ + for(Funcs::iterator it = funcs().begin(); it != funcs().end(); it++) + if(it->second != NULL && it->second->type() == o->type()){ + return it->first; + } + return std::string(); + } static Types lst(){ Types ret; for(Funcs::iterator it = funcs().begin(); it != funcs().end(); it++) |