Complex_multiplication_bybuf   xtlang


Defined in:  https://github.com/digego/extempore/tree/v0.8.9/libs/core/math.xtm

Implementation

(bind-func Complex_multiplication_bybuf
  (let ((dd:/4,float/* (alloc)))
    (vfill! dd -1.0 1.0 -1.0 1.0)
    (lambda (a:Complexf* b:Complexf* c:Complexf* len:i64)
      (if (evenp len)
          (let ((j 0)
                (aa:/4,float/* (cast a))
                (bb:/4,float/* (cast b))
                (cc:/4,float/* (cast c)))
            (dotimes (j (/ len 2))
              (pset! cc j
                     (+ (* (vshuffle (pref-ptr aa j) null 0 0 2 2)
                           (vshuffle (pref-ptr bb j) null 0 1 2 3))
                        (* (* (vshuffle (pref-ptr aa j) null 1 1 3 3)
                              (vshuffle (pref-ptr bb j) null 1 0 3 2))
                           dd))))
            void)
          (let ((i 0))
            (dotimes (i len)
              (tset! (pref-ptr c i) 0
                     (- (* (tref (pref-ptr a i) 0)
                           (tref (pref-ptr b i) 0))
                        (* (tref (pref-ptr a i) 1)
                           (tref (pref-ptr b i) 1))))
              (tset! (pref-ptr c i) 1
                     (+ (* (tref (pref-ptr a i) 0)
                           (tref (pref-ptr b i) 1))
                        (* (tref (pref-ptr a i) 1)
                           (tref (pref-ptr b i) 0)))))
            void)))))


Back to Index

Similar Entries

  • Complex_addition_bybuf    xtlang    /digego/extempore/tree/v0.8.9/libs/core/math.xtm
  • Complex_addition_bybuf    xtlang    /digego/extempore/tree/v0.8.9/libs/core/math.xtm
  • Complex_bufferize    xtlang    /digego/extempore/tree/v0.8.9/libs/core/math.xtm
  • Complex_bufferize    xtlang    /digego/extempore/tree/v0.8.9/libs/core/math.xtm
  • Complex_bufferize    xtlang    /digego/extempore/tree/v0.8.9/libs/core/math.xtm
  • Complex_bufferize    xtlang    /digego/extempore/tree/v0.8.9/libs/core/math.xtm
  • Complex_conj    xtlang    /digego/extempore/tree/v0.8.9/libs/core/math.xtm
  • Complex_conj    xtlang    /digego/extempore/tree/v0.8.9/libs/core/math.xtm
  • Complex_division_bybuf    xtlang    /digego/extempore/tree/v0.8.9/libs/core/math.xtm
  • Complex_division_bybuf    xtlang    /digego/extempore/tree/v0.8.9/libs/core/math.xtm
  • Complex_mag    xtlang    /digego/extempore/tree/v0.8.9/libs/core/math.xtm
  • Complex_mag    xtlang    /digego/extempore/tree/v0.8.9/libs/core/math.xtm
  • Complex_multiplication_bybuf    xtlang    /digego/extempore/tree/v0.8.9/libs/core/math.xtm
  • Complex_multiplication_polar    xtlang    /digego/extempore/tree/v0.8.9/libs/contrib/TSM_library.xtm
  • Complex_phase    xtlang    /digego/extempore/tree/v0.8.9/libs/core/math.xtm
  • Complex_phase    xtlang    /digego/extempore/tree/v0.8.9/libs/core/math.xtm
  • Complex_phase2    xtlang    /digego/extempore/tree/v0.8.9/libs/contrib/TSM_library.xtm
  • Complex_subtraction_bybuf    xtlang    /digego/extempore/tree/v0.8.9/libs/core/math.xtm
  • Complex_subtraction_bybuf    xtlang    /digego/extempore/tree/v0.8.9/libs/core/math.xtm
  • Complex_unbufferize    xtlang    /digego/extempore/tree/v0.8.9/libs/core/math.xtm
  • Complex_unbufferize    xtlang    /digego/extempore/tree/v0.8.9/libs/core/math.xtm
  • Complex_unbufferize    xtlang    /digego/extempore/tree/v0.8.9/libs/core/math.xtm
  • Complex_unbufferize    xtlang    /digego/extempore/tree/v0.8.9/libs/core/math.xtm
  • GSL_SET_COMPLEX    xtlang    /digego/extempore/tree/v0.8.9/libs/contrib/gsl.xtm
  • complex?    scheme    /digego/extempore/tree/v0.8.9/runtime/init.xtm
  • impc:ir:complex-type?    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmir.xtm
  • impc:ti:complex-type?    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmti.xtm
  • impc:ti:complex-unify    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmti.xtm
  • xtm_multiplication    xtlang    /digego/extempore/tree/v0.8.9/libs/core/rational.xtm
  • xtm_multiplication    xtlang    /digego/extempore/tree/v0.8.9/libs/core/rational.xtm
  • xtm_multiplication    xtlang    /digego/extempore/tree/v0.8.9/libs/core/rational.xtm
  • xtm_multiplication    xtlang    /digego/extempore/tree/v0.8.9/libs/core/rational.xtm
  • xtm_multiplication    xtlang    /digego/extempore/tree/v0.8.9/libs/core/rational.xtm
  • xtm_multiplication    xtlang    /digego/extempore/tree/v0.8.9/libs/core/rational.xtm
  • xtm_multiplication    xtlang    /digego/extempore/tree/v0.8.9/libs/core/rational.xtm
  • xtm_multiplication    xtlang    /digego/extempore/tree/v0.8.9/libs/core/rational.xtm
  • xtm_multiplication    xtlang    /digego/extempore/tree/v0.8.9/libs/core/rational.xtm
  • xtm_multiplication    xtlang    /digego/extempore/tree/v0.8.9/libs/core/rational.xtm
  • xtm_multiplication    xtlang    /digego/extempore/tree/v0.8.9/libs/core/rational.xtm
  • xtm_multiplication    xtlang    /digego/extempore/tree/v0.8.9/libs/core/rational.xtm
  • xtm_multiplication    xtlang    /digego/extempore/tree/v0.8.9/libs/core/rational.xtm
  • xtm_multiplication    xtlang    /digego/extempore/tree/v0.8.9/libs/core/math.xtm
  • xtm_multiplication    xtlang    /digego/extempore/tree/v0.8.9/libs/core/math.xtm
  • xtm_multiplication    xtlang    /digego/extempore/tree/v0.8.9/libs/core/math.xtm
  • xtm_multiplication    xtlang    /digego/extempore/tree/v0.8.9/libs/core/math.xtm
  • xtm_multiplication    xtlang    /digego/extempore/tree/v0.8.9/libs/core/math.xtm
  • xtm_multiplication    xtlang    /digego/extempore/tree/v0.8.9/libs/core/math.xtm
  • xtm_multiplication    xtlang    /digego/extempore/tree/v0.8.9/libs/core/math_ext.xtm
  • xtm_multiplication    xtlang    /digego/extempore/tree/v0.8.9/libs/core/math_ext.xtm
  • xtm_multiplication    xtlang    /digego/extempore/tree/v0.8.9/libs/core/math_ext.xtm
  • xtm_multiplication    xtlang    /digego/extempore/tree/v0.8.9/libs/core/math_ext.xtm
  • xtm_multiplication    xtlang    /digego/extempore/tree/v0.8.9/libs/core/math_ext.xtm
  • xtm_multiplication    xtlang    /digego/extempore/tree/v0.8.9/libs/core/math_ext.xtm
  • xtm_multiplication    xtlang    /digego/extempore/tree/v0.8.9/libs/core/math_ext.xtm
  • xtm_multiplication    xtlang    /digego/extempore/tree/v0.8.9/libs/core/math_ext.xtm