OASIS
Open Algebra Software
Loading...
Searching...
No Matches
Sine.hpp
Go to the documentation of this file.
1//
2// Created by Andrew Nazareth on 9/19/25.
3//
4
5#ifndef OASIS_SINE_HPP
6#define OASIS_SINE_HPP
7
8#include "UnaryExpression.hpp"
9
10namespace Oasis {
11
12template <typename OperandT>
13class Sine;
14
15template <>
16class Sine<Expression> final : public UnaryExpression<Sine> {
17public:
18 Sine() = default;
19 Sine(const Sine& other)
20 : UnaryExpression<Sine>(other)
21 {
22 }
23
24 explicit Sine(const Expression& operand)
25 : UnaryExpression<Sine>(operand)
26 {
27 }
28
29 [[nodiscard]] auto Differentiate(const Expression& var) const -> std::unique_ptr<Expression> override;
30
31 [[nodiscard]] auto Integrate(const Expression& var) const -> std::unique_ptr<Expression> override;
32
35};
36
37} // Oasis
38
39#endif // OASIS_SINE_HPP
#define EXPRESSION_CATEGORY(category)
Definition Expression.hpp:231
#define EXPRESSION_TYPE(type)
Definition Expression.hpp:220
An expression.
Definition Expression.hpp:63
Sine(const Expression &operand)
Definition Sine.hpp:24
Sine(const Sine &other)
Definition Sine.hpp:19
Definition FwdDecls.hpp:44
Definition UnaryExpression.hpp:14
Definition Add.hpp:11
@ UnExp
Definition Expression.hpp:53