00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef ASUBTRACTION_H
00010 #define ASUBTRACTION_H
00011
00012 #include "RFunction.h"
00013 #include "Intersection.h"
00014 #include "Complement.h"
00015
00016 class ASubtraction : public RFunction
00017 {
00018 private:
00019 Intersection *m_f;
00020 Complement *m_comp_g;
00021 public:
00022
00023
00024 ASubtraction(Implicit *f, Implicit *g, int cont = 2)
00025 {
00026 m_comp_g = new Complement(g);
00027 m_f = new Intersection(f, m_comp_g, cont);
00028 }
00029
00030
00031 ~ASubtraction()
00032 {
00033 delete m_comp_g;
00034 delete m_f;
00035 }
00036
00037 virtual double h(double f, double g);
00038 virtual double hf(double f, double g);
00039 virtual double hg(double f, double g);
00040 virtual double hff(double f, double g);
00041 virtual double hgg(double f, double g);
00042 virtual double hfg(double f, double g);
00043
00044 virtual Intervald h(Intervald f, Intervald g);
00045 virtual Intervald hf(Intervald f, Intervald g);
00046 virtual Intervald hg(Intervald f, Intervald g);
00047 virtual Intervald hff(Intervald f, Intervald g);
00048 virtual Intervald hfg(Intervald f, Intervald g);
00049 virtual Intervald hgg(Intervald f, Intervald g);
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067 };
00068
00069 #endif
00070