Packages

object complex

All functions take complex but Scala Native does not support pass by value so we pass a pointer to an Array of length 2 and have a small wrapper in C doing the conversion to call the native function. Currently Scala Native and JVM have no direct support for long double so these methods are not implemented.

Since the user must manage the memory, we pass a buffer passed to each function for storing the result and is also is returned from the function so functions can be chained together. This adds one additional parameter to the function compared to the C API.

Implicit classes are provided for convenience.

References: https://en.wikipedia.org/wiki/C_data_types C99 also added complex types: float _Complex, double _Complex, long double _Complex https://en.wikipedia.org/wiki/Long_double http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/complex.h.html

Annotations
@extern()
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. complex
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. type CDoubleComplex = CStruct2[CDouble, CDouble]
  2. type CFloatComplex = CStruct2[CFloat, CFloat]

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def cabs(complex: Ptr[CDoubleComplex]): CDouble
    Annotations
    @name("scalanative_cabs")
  6. def cabsf(complex: Ptr[CFloatComplex]): CFloat
    Annotations
    @name("scalanative_cabsf")
  7. def cacos(complex: Ptr[CDoubleComplex], result: Ptr[CDoubleComplex]): Ptr[CDoubleComplex]
    Annotations
    @name("scalanative_cacos")
  8. def cacosf(complex: Ptr[CFloatComplex], result: Ptr[CFloatComplex]): Ptr[CFloatComplex]
    Annotations
    @name("scalanative_cacosf")
  9. def cacosh(complex: Ptr[CDoubleComplex], result: Ptr[CDoubleComplex]): Ptr[CDoubleComplex]
    Annotations
    @name("scalanative_cacosh")
  10. def cacoshf(complex: Ptr[CFloatComplex], result: Ptr[CFloatComplex]): Ptr[CFloatComplex]
    Annotations
    @name("scalanative_cacoshf")
  11. def carg(complex: Ptr[CDoubleComplex]): CDouble
    Annotations
    @name("scalanative_carg")
  12. def cargf(complex: Ptr[CFloatComplex]): CFloat
    Annotations
    @name("scalanative_cargf")
  13. def casin(complex: Ptr[CDoubleComplex], result: Ptr[CDoubleComplex]): Ptr[CDoubleComplex]
    Annotations
    @name("scalanative_casin")
  14. def casinf(complex: Ptr[CFloatComplex], result: Ptr[CFloatComplex]): Ptr[CFloatComplex]
    Annotations
    @name("scalanative_casinf")
  15. def casinh(complex: Ptr[CDoubleComplex], result: Ptr[CDoubleComplex]): Ptr[CDoubleComplex]
    Annotations
    @name("scalanative_casinh")
  16. def casinhf(complex: Ptr[CFloatComplex], result: Ptr[CFloatComplex]): Ptr[CFloatComplex]
    Annotations
    @name("scalanative_casinhf")
  17. def catan(complex: Ptr[CDoubleComplex], result: Ptr[CDoubleComplex]): Ptr[CDoubleComplex]
    Annotations
    @name("scalanative_catan")
  18. def catanf(complex: Ptr[CFloatComplex], result: Ptr[CFloatComplex]): Ptr[CFloatComplex]
    Annotations
    @name("scalanative_catanf")
  19. def catanh(complex: Ptr[CDoubleComplex], result: Ptr[CDoubleComplex]): Ptr[CDoubleComplex]
    Annotations
    @name("scalanative_catanh")
  20. def catanhf(complex: Ptr[CFloatComplex], result: Ptr[CFloatComplex]): Ptr[CFloatComplex]
    Annotations
    @name("scalanative_catanhf")
  21. def ccos(complex: Ptr[CDoubleComplex], result: Ptr[CDoubleComplex]): Ptr[CDoubleComplex]
    Annotations
    @name("scalanative_ccos")
  22. def ccosf(complex: Ptr[CFloatComplex], result: Ptr[CFloatComplex]): Ptr[CFloatComplex]
    Annotations
    @name("scalanative_ccosf")
  23. def ccosh(complex: Ptr[CDoubleComplex], result: Ptr[CDoubleComplex]): Ptr[CDoubleComplex]
    Annotations
    @name("scalanative_ccosh")
  24. def ccoshf(complex: Ptr[CFloatComplex], result: Ptr[CFloatComplex]): Ptr[CFloatComplex]
    Annotations
    @name("scalanative_ccoshf")
  25. def cexp(complex: Ptr[CDoubleComplex], result: Ptr[CDoubleComplex]): Ptr[CDoubleComplex]
    Annotations
    @name("scalanative_cexp")
  26. def cexpf(complex: Ptr[CFloatComplex], result: Ptr[CFloatComplex]): Ptr[CFloatComplex]
    Annotations
    @name("scalanative_cexpf")
  27. def cimag(complex: Ptr[CDoubleComplex]): CDouble
    Annotations
    @name("scalanative_cimag")
  28. def cimagf(complex: Ptr[CFloatComplex]): CFloat
    Annotations
    @name("scalanative_cimagf")
  29. def clog(complex: Ptr[CDoubleComplex], result: Ptr[CDoubleComplex]): Ptr[CDoubleComplex]
    Annotations
    @name("scalanative_clog")
  30. def clogf(complex: Ptr[CFloatComplex], result: Ptr[CFloatComplex]): Ptr[CFloatComplex]
    Annotations
    @name("scalanative_clogf")
  31. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  32. def conj(complex: Ptr[CDoubleComplex], result: Ptr[CDoubleComplex]): Ptr[CDoubleComplex]
    Annotations
    @name("scalanative_conj")
  33. def conjf(complex: Ptr[CFloatComplex], result: Ptr[CFloatComplex]): Ptr[CFloatComplex]
    Annotations
    @name("scalanative_conjf")
  34. def cpow(x: Ptr[CDoubleComplex], y: Ptr[CDoubleComplex], result: Ptr[CDoubleComplex]): Ptr[CDoubleComplex]
    Annotations
    @name("scalanative_cpow")
  35. def cpowf(x: Ptr[CFloatComplex], y: Ptr[CFloatComplex], result: Ptr[CFloatComplex]): Ptr[CFloatComplex]
    Annotations
    @name("scalanative_cpowf")
  36. def cproj(complex: Ptr[CDoubleComplex], result: Ptr[CDoubleComplex]): Ptr[CDoubleComplex]
    Annotations
    @name("scalanative_cproj")
  37. def cprojf(complex: Ptr[CFloatComplex], result: Ptr[CFloatComplex]): Ptr[CFloatComplex]
    Annotations
    @name("scalanative_cprojf")
  38. def creal(complex: Ptr[CDoubleComplex]): CDouble
    Annotations
    @name("scalanative_creal")
  39. def crealf(complex: Ptr[CFloatComplex]): CFloat
    Annotations
    @name("scalanative_crealf")
  40. def csin(complex: Ptr[CDoubleComplex], result: Ptr[CDoubleComplex]): Ptr[CDoubleComplex]
    Annotations
    @name("scalanative_csin")
  41. def csinf(complex: Ptr[CFloatComplex], result: Ptr[CFloatComplex]): Ptr[CFloatComplex]
    Annotations
    @name("scalanative_csinf")
  42. def csinh(complex: Ptr[CDoubleComplex], result: Ptr[CDoubleComplex]): Ptr[CDoubleComplex]
    Annotations
    @name("scalanative_csinh")
  43. def csinhf(complex: Ptr[CFloatComplex], result: Ptr[CFloatComplex]): Ptr[CFloatComplex]
    Annotations
    @name("scalanative_csinhf")
  44. def csqrt(complex: Ptr[CDoubleComplex], result: Ptr[CDoubleComplex]): Ptr[CDoubleComplex]
    Annotations
    @name("scalanative_csqrt")
  45. def csqrtf(complex: Ptr[CFloatComplex], result: Ptr[CFloatComplex]): Ptr[CFloatComplex]
    Annotations
    @name("scalanative_csqrtf")
  46. def ctan(complex: Ptr[CDoubleComplex], result: Ptr[CDoubleComplex]): Ptr[CDoubleComplex]
    Annotations
    @name("scalanative_ctan")
  47. def ctanf(complex: Ptr[CFloatComplex], result: Ptr[CFloatComplex]): Ptr[CFloatComplex]
    Annotations
    @name("scalanative_ctanf")
  48. def ctanh(complex: Ptr[CDoubleComplex], result: Ptr[CDoubleComplex]): Ptr[CDoubleComplex]
    Annotations
    @name("scalanative_ctanh")
  49. def ctanhf(complex: Ptr[CFloatComplex], result: Ptr[CFloatComplex]): Ptr[CFloatComplex]
    Annotations
    @name("scalanative_ctanhf")
  50. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  51. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  52. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  53. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  54. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  55. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  56. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  57. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  58. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  59. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  60. def toString(): String
    Definition Classes
    AnyRef → Any
  61. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  62. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  63. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from AnyRef

Inherited from Any

Ungrouped