{"action":"closed","issue":{"url":"https://api.github.com/repos/cusplibrary/cusplibrary/issues/70","repository_url":"https://api.github.com/repos/cusplibrary/cusplibrary","labels_url":"https://api.github.com/repos/cusplibrary/cusplibrary/issues/70/labels{/name}","comments_url":"https://api.github.com/repos/cusplibrary/cusplibrary/issues/70/comments","events_url":"https://api.github.com/repos/cusplibrary/cusplibrary/issues/70/events","html_url":"https://github.com/cusplibrary/cusplibrary/issues/70","id":161961977,"number":70,"title":"Mixed real-complex matrix multiply","user":{"login":"marcsous","id":17042435,"avatar_url":"https://avatars.githubusercontent.com/u/17042435?v=3","gravatar_id":"","url":"https://api.github.com/users/marcsous","html_url":"https://github.com/marcsous","followers_url":"https://api.github.com/users/marcsous/followers","following_url":"https://api.github.com/users/marcsous/following{/other_user}","gists_url":"https://api.github.com/users/marcsous/gists{/gist_id}","starred_url":"https://api.github.com/users/marcsous/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marcsous/subscriptions","organizations_url":"https://api.github.com/users/marcsous/orgs","repos_url":"https://api.github.com/users/marcsous/repos","events_url":"https://api.github.com/users/marcsous/events{/privacy}","received_events_url":"https://api.github.com/users/marcsous/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2016-06-23T16:08:36Z","updated_at":"2016-06-27T19:04:04Z","closed_at":"2016-06-27T19:04:03Z","body":"I would like to multiply a real matrix and a complex vector. The multiply.cu code from [here](https://cusplibrary.github.io/multiply_8cu-example.html) works if all arrays are real and also if they are all are complex, but not for the mixed case. Is there any prospect of cusp::multiply(A, x, y) adding support for mixed operations?\r\n\r\nCompilation error:\r\n```\r\n/usr/local/cuda/bin/nvcc -O2 testMultiply.cu\r\n/usr/include/cusp/system/detail/sequential/multiply/array2d_mv.h(57): error: function \"cusp::constant_functor<T>::operator() [with T=float]\" cannot be called with the given argument list\r\n            argument types are: (thrust::complex<float>)\r\n            object type is: cusp::constant_functor<float>\r\n```\r\n\r\nCode testMultiply.cu:\r\n```\r\n#include <cusp/array1d.h>\r\n#include <cusp/array2d.h>\r\n#include <cusp/multiply.h>\r\n#include <cusp/print.h>\r\n#include <cusp/complex.h>\r\nint main(void)\r\n{\r\n    // initialize matrix\r\n    //cusp::array2d<cusp::complex<float>, cusp::host_memory> A(2,2);\r\n    cusp::array2d<float, cusp::host_memory> A(2,2);\r\n    A(0,0) = 10;  A(0,1) = 20;\r\n    A(1,0) = 40;  A(1,1) = 50;\r\n    // initialize input vector\r\n    cusp::array1d<cusp::complex<float>, cusp::host_memory> x(2);\r\n    x[0] = 1;\r\n    x[1] = 2;\r\n    // allocate output vector\r\n    cusp::array1d<cusp::complex<float>, cusp::host_memory> y(2);\r\n    // compute y = A * x\r\n    cusp::multiply(A, x, y);\r\n    // print y\r\n    cusp::print(y);\r\n    return 0;\r\n}\r\n```"}}
{"actor":{"display_login":"sdalton1"}}