//#####################################################################
// Copyright 2022, Craig Schroeder.
// This file is part of PhysBAM whose distribution is governed by the license contained in the accompanying file PHYSBAM_COPYRIGHT.txt.
//#####################################################################
// Class SYMBOLIC_TRIVIAL
//##################################################################### 
#ifndef __SYMBOLIC_TRIVIAL__
#define __SYMBOLIC_TRIVIAL__

#include <Core/Symbolics/SYMBOLIC.h>
#include <Core/Symbolics/SYMBOLIC_BASE.h>
namespace PhysBAM{
struct SYMBOLIC_TRIVIAL:public SYMBOLIC_BASE
{
    SYMBOLIC_TRIVIAL()=default;
    SYMBOLIC_TRIVIAL(const SYMBOLIC_TRIVIAL& t)=default;
    
    ~SYMBOLIC_TRIVIAL()=default;
    void Set(double x) override;
    void Print(double x,std::ostream& o) const override;

    SYMBOLIC_BASE* Clone() const override;
    void Unary(double x,const SYMBOLIC& a,type_1 op) override;
    void Binary(double x,const SYMBOLIC& a,const SYMBOLIC& b,type_2 op) override;
};
}

#endif
