Loading...
Searching...
No Matches
SymEngine::EvaluateComplexDouble Class Reference
+ Inheritance diagram for SymEngine::EvaluateComplexDouble:
+ Collaboration diagram for SymEngine::EvaluateComplexDouble:

Private Member Functions

virtual RCP< const Basicgamma (const Basic &x) const override
 
virtual RCP< const Basicasin (const Basic &x) const override
 
virtual RCP< const Basicacos (const Basic &x) const override
 
virtual RCP< const Basicacsc (const Basic &x) const override
 
virtual RCP< const Basicasec (const Basic &x) const override
 
virtual RCP< const Basicacosh (const Basic &x) const override
 
virtual RCP< const Basicatanh (const Basic &x) const override
 
virtual RCP< const Basicacoth (const Basic &x) const override
 
virtual RCP< const Basicasech (const Basic &x) const override
 
virtual RCP< const Basiclog (const Basic &x) const override
 
virtual RCP< const Basicfloor (const Basic &x) const override
 
virtual RCP< const Basicceiling (const Basic &x) const override
 
virtual RCP< const Basictruncate (const Basic &x) const override
 
virtual RCP< const Basicerf (const Basic &x) const override
 
virtual RCP< const Basicerfc (const Basic &x) const override
 

Additional Inherited Members

virtual RCP< const Basicsin (const Basic &) const =0
 
virtual RCP< const Basiccos (const Basic &) const =0
 
virtual RCP< const Basictan (const Basic &) const =0
 
virtual RCP< const Basiccot (const Basic &) const =0
 
virtual RCP< const Basicsec (const Basic &) const =0
 
virtual RCP< const Basiccsc (const Basic &) const =0
 
virtual RCP< const Basicasin (const Basic &) const =0
 
virtual RCP< const Basicacos (const Basic &) const =0
 
virtual RCP< const Basicatan (const Basic &) const =0
 
virtual RCP< const Basicacot (const Basic &) const =0
 
virtual RCP< const Basicasec (const Basic &) const =0
 
virtual RCP< const Basicacsc (const Basic &) const =0
 
virtual RCP< const Basicsinh (const Basic &) const =0
 
virtual RCP< const Basiccsch (const Basic &) const =0
 
virtual RCP< const Basiccosh (const Basic &) const =0
 
virtual RCP< const Basicsech (const Basic &) const =0
 
virtual RCP< const Basictanh (const Basic &) const =0
 
virtual RCP< const Basiccoth (const Basic &) const =0
 
virtual RCP< const Basicasinh (const Basic &) const =0
 
virtual RCP< const Basicacsch (const Basic &) const =0
 
virtual RCP< const Basicacosh (const Basic &) const =0
 
virtual RCP< const Basicatanh (const Basic &) const =0
 
virtual RCP< const Basicacoth (const Basic &) const =0
 
virtual RCP< const Basicasech (const Basic &) const =0
 
virtual RCP< const Basiclog (const Basic &) const =0
 
virtual RCP< const Basicgamma (const Basic &) const =0
 
virtual RCP< const Basicabs (const Basic &) const =0
 
virtual RCP< const Basicexp (const Basic &) const =0
 
virtual RCP< const Basicfloor (const Basic &) const =0
 
virtual RCP< const Basicceiling (const Basic &) const =0
 
virtual RCP< const Basictruncate (const Basic &) const =0
 
virtual RCP< const Basicerf (const Basic &) const =0
 
virtual RCP< const Basicerfc (const Basic &) const =0
 

Detailed Description

Definition at line 284 of file real_double.cpp.

Member Function Documentation

◆ acos()

virtual RCP< const Basic > SymEngine::EvaluateComplexDouble::acos ( const Basic x) const
inlineoverrideprivatevirtual

Implements SymEngine::Evaluate.

Definition at line 296 of file real_double.cpp.

297 {
298 SYMENGINE_ASSERT(is_a<ComplexDouble>(x))
299 return number(std::acos(down_cast<const ComplexDouble &>(x).i));
300 }
T acos(T... args)

◆ acosh()

virtual RCP< const Basic > SymEngine::EvaluateComplexDouble::acosh ( const Basic x) const
inlineoverrideprivatevirtual

Implements SymEngine::Evaluate.

Definition at line 311 of file real_double.cpp.

312 {
313 SYMENGINE_ASSERT(is_a<ComplexDouble>(x))
314 return number(std::acosh(down_cast<const ComplexDouble &>(x).i));
315 }
T acosh(T... args)

◆ acoth()

virtual RCP< const Basic > SymEngine::EvaluateComplexDouble::acoth ( const Basic x) const
inlineoverrideprivatevirtual

Implements SymEngine::Evaluate.

Definition at line 321 of file real_double.cpp.

322 {
323 SYMENGINE_ASSERT(is_a<ComplexDouble>(x))
324 return number(std::atanh(1.0 / down_cast<const ComplexDouble &>(x).i));
325 }
T atanh(T... args)

◆ acsc()

virtual RCP< const Basic > SymEngine::EvaluateComplexDouble::acsc ( const Basic x) const
inlineoverrideprivatevirtual

Implements SymEngine::Evaluate.

Definition at line 301 of file real_double.cpp.

302 {
303 SYMENGINE_ASSERT(is_a<ComplexDouble>(x))
304 return number(std::asin(1.0 / down_cast<const ComplexDouble &>(x).i));
305 }
T asin(T... args)

◆ asec()

virtual RCP< const Basic > SymEngine::EvaluateComplexDouble::asec ( const Basic x) const
inlineoverrideprivatevirtual

Implements SymEngine::Evaluate.

Definition at line 306 of file real_double.cpp.

307 {
308 SYMENGINE_ASSERT(is_a<ComplexDouble>(x))
309 return number(std::acos(1.0 / down_cast<const ComplexDouble &>(x).i));
310 }

◆ asech()

virtual RCP< const Basic > SymEngine::EvaluateComplexDouble::asech ( const Basic x) const
inlineoverrideprivatevirtual

Implements SymEngine::Evaluate.

Definition at line 326 of file real_double.cpp.

327 {
328 SYMENGINE_ASSERT(is_a<ComplexDouble>(x))
329 return number(std::acosh(1.0 / down_cast<const ComplexDouble &>(x).i));
330 }

◆ asin()

virtual RCP< const Basic > SymEngine::EvaluateComplexDouble::asin ( const Basic x) const
inlineoverrideprivatevirtual

Implements SymEngine::Evaluate.

Definition at line 291 of file real_double.cpp.

292 {
293 SYMENGINE_ASSERT(is_a<ComplexDouble>(x))
294 return number(std::asin(down_cast<const ComplexDouble &>(x).i));
295 }

◆ atanh()

virtual RCP< const Basic > SymEngine::EvaluateComplexDouble::atanh ( const Basic x) const
inlineoverrideprivatevirtual

Implements SymEngine::Evaluate.

Definition at line 316 of file real_double.cpp.

317 {
318 SYMENGINE_ASSERT(is_a<ComplexDouble>(x))
319 return number(std::atanh(down_cast<const ComplexDouble &>(x).i));
320 }

◆ ceiling()

virtual RCP< const Basic > SymEngine::EvaluateComplexDouble::ceiling ( const Basic x) const
inlineoverrideprivatevirtual

Implements SymEngine::Evaluate.

Definition at line 345 of file real_double.cpp.

346 {
347 SYMENGINE_ASSERT(is_a<ComplexDouble>(x))
348 integer_class re, im;
349 mp_set_d(re, std::ceil(down_cast<const ComplexDouble &>(x).i.real()));
350 mp_set_d(im, std::ceil(down_cast<const ComplexDouble &>(x).i.imag()));
352 *integer(std::move(im)));
353 }
T ceil(T... args)
static RCP< const Number > from_two_nums(const Number &re, const Number &im)
Definition: complex.cpp:109
T move(T... args)
std::enable_if< std::is_integral< T >::value, RCP< constInteger > >::type integer(T i)
Definition: integer.h:200

◆ erf()

virtual RCP< const Basic > SymEngine::EvaluateComplexDouble::erf ( const Basic x) const
inlineoverrideprivatevirtual

Implements SymEngine::Evaluate.

Definition at line 363 of file real_double.cpp.

364 {
365 SYMENGINE_ASSERT(is_a<ComplexDouble>(x))
366 throw NotImplementedError("erf is not implemented for Complex numbers");
367 }

◆ erfc()

virtual RCP< const Basic > SymEngine::EvaluateComplexDouble::erfc ( const Basic x) const
inlineoverrideprivatevirtual

Implements SymEngine::Evaluate.

Definition at line 368 of file real_double.cpp.

369 {
370 SYMENGINE_ASSERT(is_a<ComplexDouble>(x))
371 throw NotImplementedError(
372 "erfc is not implemented for Complex numbers");
373 }

◆ floor()

virtual RCP< const Basic > SymEngine::EvaluateComplexDouble::floor ( const Basic x) const
inlineoverrideprivatevirtual

Implements SymEngine::Evaluate.

Definition at line 336 of file real_double.cpp.

337 {
338 SYMENGINE_ASSERT(is_a<ComplexDouble>(x))
339 integer_class re, im;
340 mp_set_d(re, std::floor(down_cast<const ComplexDouble &>(x).i.real()));
341 mp_set_d(im, std::floor(down_cast<const ComplexDouble &>(x).i.imag()));
343 *integer(std::move(im)));
344 }
T floor(T... args)

◆ gamma()

virtual RCP< const Basic > SymEngine::EvaluateComplexDouble::gamma ( const Basic x) const
inlineoverrideprivatevirtual

Implements SymEngine::Evaluate.

Definition at line 286 of file real_double.cpp.

287 {
288 SYMENGINE_ASSERT(is_a<ComplexDouble>(x))
289 throw NotImplementedError("Not Implemented.");
290 }

◆ log()

virtual RCP< const Basic > SymEngine::EvaluateComplexDouble::log ( const Basic x) const
inlineoverrideprivatevirtual

Implements SymEngine::Evaluate.

Definition at line 331 of file real_double.cpp.

332 {
333 SYMENGINE_ASSERT(is_a<ComplexDouble>(x))
334 return number(std::log(down_cast<const ComplexDouble &>(x).i));
335 }
T log(T... args)

◆ truncate()

virtual RCP< const Basic > SymEngine::EvaluateComplexDouble::truncate ( const Basic x) const
inlineoverrideprivatevirtual

Implements SymEngine::Evaluate.

Definition at line 354 of file real_double.cpp.

355 {
356 SYMENGINE_ASSERT(is_a<ComplexDouble>(x))
357 integer_class re, im;
358 mp_set_d(re, std::trunc(down_cast<const ComplexDouble &>(x).i.real()));
359 mp_set_d(im, std::trunc(down_cast<const ComplexDouble &>(x).i.imag()));
361 *integer(std::move(im)));
362 }
T trunc(T... args)

The documentation for this class was generated from the following file: