ntheory_funcs.h
1 #ifndef SYMENGINE_NTHEORY_FUNCS_H
2 #define SYMENGINE_NTHEORY_FUNCS_H
3 
4 #include <symengine/basic.h>
5 #include <symengine/symengine_casts.h>
6 #include <symengine/constants.h>
7 #include <symengine/functions.h>
8 #include <symengine/add.h>
9 #include <symengine/pow.h>
10 
11 namespace SymEngine
12 {
13 
14 class PrimePi : public OneArgFunction
15 {
22 public:
23  IMPLEMENT_TYPEID(SYMENGINE_PRIMEPI)
24  PrimePi(const RCP<const Basic> &arg);
25  bool is_canonical(const RCP<const Basic> &arg) const;
26  RCP<const Basic> create(const RCP<const Basic> &arg) const override;
27 };
28 
29 RCP<const Basic> primepi(const RCP<const Basic> &arg);
30 
31 class Primorial : public OneArgFunction
32 {
38 public:
39  IMPLEMENT_TYPEID(SYMENGINE_PRIMORIAL)
40  Primorial(const RCP<const Basic> &arg);
41  bool is_canonical(const RCP<const Basic> &arg) const;
42  RCP<const Basic> create(const RCP<const Basic> &arg) const override;
43 };
44 
45 RCP<const Basic> primorial(const RCP<const Basic> &arg);
46 
57 RCP<const Basic> polygonal_number(const RCP<const Basic> &s,
58  const RCP<const Basic> &n);
59 
71 RCP<const Basic> principal_polygonal_root(const RCP<const Basic> &s,
72  const RCP<const Basic> &x);
73 
74 } // namespace SymEngine
75 
76 #endif
Classes and functions relating to the binary operation of addition.
The base class for SymEngine.
#define IMPLEMENT_TYPEID(SYMENGINE_ID)
Inline members and functions.
Definition: basic.h:340
RCP< const Basic > create(const RCP< const Basic > &arg) const override
Method to construct classes with canonicalization.
RCP< const Basic > create(const RCP< const Basic > &arg) const override
Method to construct classes with canonicalization.
Main namespace for SymEngine package.
Definition: add.cpp:19
RCP< const Basic > principal_polygonal_root(const RCP< const Basic > &s, const RCP< const Basic > &x)
The principal s-gonal root of x.
RCP< const Basic > polygonal_number(const RCP< const Basic > &s, const RCP< const Basic > &n)
The n:th s-gonal number.