Object

scala.scalanative.native

complex

Related Doc: package native

Permalink

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. All

Type Members

  1. type CDoubleComplex = CArray[CDouble, _2]

    Permalink
  2. type CFloatComplex = CArray[CFloat, _2]

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def cabs(complex: Ptr[CDoubleComplex]): CDouble

    Permalink
    Annotations
    @name( name = "scalanative_cabs" )
  6. def cabsf(complex: Ptr[CFloatComplex]): CFloat

    Permalink
    Annotations
    @name( name = "scalanative_cabsf" )
  7. def cacos(complex: Ptr[CDoubleComplex], result: Ptr[CDoubleComplex]): Ptr[CDoubleComplex]

    Permalink
    Annotations
    @name( name = "scalanative_cacos" )
  8. def cacosf(complex: Ptr[CFloatComplex], result: Ptr[CFloatComplex]): Ptr[CFloatComplex]

    Permalink
    Annotations
    @name( name = "scalanative_cacosf" )
  9. def cacosh(complex: Ptr[CDoubleComplex], result: Ptr[CDoubleComplex]): Ptr[CDoubleComplex]

    Permalink
    Annotations
    @name( name = "scalanative_cacosh" )
  10. def cacoshf(complex: Ptr[CFloatComplex], result: Ptr[CFloatComplex]): Ptr[CFloatComplex]

    Permalink
    Annotations
    @name( name = "scalanative_cacoshf" )
  11. def carg(complex: Ptr[CDoubleComplex]): CDouble

    Permalink
    Annotations
    @name( name = "scalanative_carg" )
  12. def cargf(complex: Ptr[CFloatComplex]): CFloat

    Permalink
    Annotations
    @name( name = "scalanative_cargf" )
  13. def casin(complex: Ptr[CDoubleComplex], result: Ptr[CDoubleComplex]): Ptr[CDoubleComplex]

    Permalink
    Annotations
    @name( name = "scalanative_casin" )
  14. def casinf(complex: Ptr[CFloatComplex], result: Ptr[CFloatComplex]): Ptr[CFloatComplex]

    Permalink
    Annotations
    @name( name = "scalanative_casinf" )
  15. def casinh(complex: Ptr[CDoubleComplex], result: Ptr[CDoubleComplex]): Ptr[CDoubleComplex]

    Permalink
    Annotations
    @name( name = "scalanative_casinh" )
  16. def casinhf(complex: Ptr[CFloatComplex], result: Ptr[CFloatComplex]): Ptr[CFloatComplex]

    Permalink
    Annotations
    @name( name = "scalanative_casinhf" )
  17. def catan(complex: Ptr[CDoubleComplex], result: Ptr[CDoubleComplex]): Ptr[CDoubleComplex]

    Permalink
    Annotations
    @name( name = "scalanative_catan" )
  18. def catanf(complex: Ptr[CFloatComplex], result: Ptr[CFloatComplex]): Ptr[CFloatComplex]

    Permalink
    Annotations
    @name( name = "scalanative_catanf" )
  19. def catanh(complex: Ptr[CDoubleComplex], result: Ptr[CDoubleComplex]): Ptr[CDoubleComplex]

    Permalink
    Annotations
    @name( name = "scalanative_catanh" )
  20. def catanhf(complex: Ptr[CFloatComplex], result: Ptr[CFloatComplex]): Ptr[CFloatComplex]

    Permalink
    Annotations
    @name( name = "scalanative_catanhf" )
  21. def ccos(complex: Ptr[CDoubleComplex], result: Ptr[CDoubleComplex]): Ptr[CDoubleComplex]

    Permalink
    Annotations
    @name( name = "scalanative_ccos" )
  22. def ccosf(complex: Ptr[CFloatComplex], result: Ptr[CFloatComplex]): Ptr[CFloatComplex]

    Permalink
    Annotations
    @name( name = "scalanative_ccosf" )
  23. def ccosh(complex: Ptr[CDoubleComplex], result: Ptr[CDoubleComplex]): Ptr[CDoubleComplex]

    Permalink
    Annotations
    @name( name = "scalanative_ccosh" )
  24. def ccoshf(complex: Ptr[CFloatComplex], result: Ptr[CFloatComplex]): Ptr[CFloatComplex]

    Permalink
    Annotations
    @name( name = "scalanative_ccoshf" )
  25. def cexp(complex: Ptr[CDoubleComplex], result: Ptr[CDoubleComplex]): Ptr[CDoubleComplex]

    Permalink
    Annotations
    @name( name = "scalanative_cexp" )
  26. def cexpf(complex: Ptr[CFloatComplex], result: Ptr[CFloatComplex]): Ptr[CFloatComplex]

    Permalink
    Annotations
    @name( name = "scalanative_cexpf" )
  27. def cimag(complex: Ptr[CDoubleComplex]): CDouble

    Permalink
    Annotations
    @name( name = "scalanative_cimag" )
  28. def cimagf(complex: Ptr[CFloatComplex]): CFloat

    Permalink
    Annotations
    @name( name = "scalanative_cimagf" )
  29. def clog(complex: Ptr[CDoubleComplex], result: Ptr[CDoubleComplex]): Ptr[CDoubleComplex]

    Permalink
    Annotations
    @name( name = "scalanative_clog" )
  30. def clogf(complex: Ptr[CFloatComplex], result: Ptr[CFloatComplex]): Ptr[CFloatComplex]

    Permalink
    Annotations
    @name( name = "scalanative_clogf" )
  31. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  32. def conj(complex: Ptr[CDoubleComplex], result: Ptr[CDoubleComplex]): Ptr[CDoubleComplex]

    Permalink
    Annotations
    @name( name = "scalanative_conj" )
  33. def conjf(complex: Ptr[CFloatComplex], result: Ptr[CFloatComplex]): Ptr[CFloatComplex]

    Permalink
    Annotations
    @name( name = "scalanative_conjf" )
  34. def cpow(x: Ptr[CDoubleComplex], y: Ptr[CDoubleComplex], result: Ptr[CDoubleComplex]): Ptr[CDoubleComplex]

    Permalink
    Annotations
    @name( name = "scalanative_cpow" )
  35. def cpowf(x: Ptr[CFloatComplex], y: Ptr[CFloatComplex], result: Ptr[CFloatComplex]): Ptr[CFloatComplex]

    Permalink
    Annotations
    @name( name = "scalanative_cpowf" )
  36. def cproj(complex: Ptr[CDoubleComplex], result: Ptr[CDoubleComplex]): Ptr[CDoubleComplex]

    Permalink
    Annotations
    @name( name = "scalanative_cproj" )
  37. def cprojf(complex: Ptr[CFloatComplex], result: Ptr[CFloatComplex]): Ptr[CFloatComplex]

    Permalink
    Annotations
    @name( name = "scalanative_cprojf" )
  38. def creal(complex: Ptr[CDoubleComplex]): CDouble

    Permalink
    Annotations
    @name( name = "scalanative_creal" )
  39. def crealf(complex: Ptr[CFloatComplex]): CFloat

    Permalink
    Annotations
    @name( name = "scalanative_crealf" )
  40. def csin(complex: Ptr[CDoubleComplex], result: Ptr[CDoubleComplex]): Ptr[CDoubleComplex]

    Permalink
    Annotations
    @name( name = "scalanative_csin" )
  41. def csinf(complex: Ptr[CFloatComplex], result: Ptr[CFloatComplex]): Ptr[CFloatComplex]

    Permalink
    Annotations
    @name( name = "scalanative_csinf" )
  42. def csinh(complex: Ptr[CDoubleComplex], result: Ptr[CDoubleComplex]): Ptr[CDoubleComplex]

    Permalink
    Annotations
    @name( name = "scalanative_csinh" )
  43. def csinhf(complex: Ptr[CFloatComplex], result: Ptr[CFloatComplex]): Ptr[CFloatComplex]

    Permalink
    Annotations
    @name( name = "scalanative_csinhf" )
  44. def csqrt(complex: Ptr[CDoubleComplex], result: Ptr[CDoubleComplex]): Ptr[CDoubleComplex]

    Permalink
    Annotations
    @name( name = "scalanative_csqrt" )
  45. def csqrtf(complex: Ptr[CFloatComplex], result: Ptr[CFloatComplex]): Ptr[CFloatComplex]

    Permalink
    Annotations
    @name( name = "scalanative_csqrtf" )
  46. def ctan(complex: Ptr[CDoubleComplex], result: Ptr[CDoubleComplex]): Ptr[CDoubleComplex]

    Permalink
    Annotations
    @name( name = "scalanative_ctan" )
  47. def ctanf(complex: Ptr[CFloatComplex], result: Ptr[CFloatComplex]): Ptr[CFloatComplex]

    Permalink
    Annotations
    @name( name = "scalanative_ctanf" )
  48. def ctanh(complex: Ptr[CDoubleComplex], result: Ptr[CDoubleComplex]): Ptr[CDoubleComplex]

    Permalink
    Annotations
    @name( name = "scalanative_ctanh" )
  49. def ctanhf(complex: Ptr[CFloatComplex], result: Ptr[CFloatComplex]): Ptr[CFloatComplex]

    Permalink
    Annotations
    @name( name = "scalanative_ctanhf" )
  50. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  51. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  52. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  53. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  54. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  55. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  56. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  57. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  58. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  59. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  60. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  61. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  62. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  63. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped