/*======================================================
//函數名:c_comp_product
//功能描述:求複數的乘法
//輸入參數:a1(第一個乘數a的結構體)
// a2(第二個乘數b的結構體)
// c(計算結果的結構體)
//返回值:0(失敗),1(成功)
=========================================================*/
#include "stdio.h"
#include "stdlib.h"
#include "math.h"
struct c_comp{
double rmz;
double imz;
} c_comp;
int c_comp_product( a1, a2, c)
struct c_comp * a1,* a2,* c;
{
double p, q, s;
if ( a1 == NULL || a2 == NULL || c == NULL)
{
printf ( "(c_comp_product)The c_comp pointer is NULL!\n " ) ; return ( 0 ) ;
}
p = a1-> rmz* a2-> rmz;
q = a1-> imz* a2-> imz;
s = ( a1-> rmz + a1-> imz) * ( a2-> rmz + a2-> imz) ;
c-> rmz = p - q;
c-> imz = s - p - q;
return ( 1 ) ;
}
Lyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLy/lh73mlbjlkI3vvJpjX2NvbXBfcHJvZHVjdAovL+WKn+iDveaPj+i/sO+8muaxguikh+aVuOeahOS5mOazlQovL+i8uOWFpeWPg+aVuO+8mmEx77yI56ys5LiA5YCL5LmY5pW4YeeahOe1kOani+mrlO+8iQovL+OAgOOAgOOAgOOAgOOAgGEy77yI56ys5LqM5YCL5LmY5pW4YueahOe1kOani+mrlO+8iQovL+OAgOOAgOOAgOOAgOOAgGPvvIjoqIjnrpfntZDmnpznmoTntZDmp4vpq5TvvIkKLy/ov5Tlm57lgLzvvJow77yI5aSx5pWX77yJ77yMMe+8iOaIkOWKn++8iQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwojaW5jbHVkZSAic3RkaW8uaCIKI2luY2x1ZGUgInN0ZGxpYi5oIgojaW5jbHVkZSAibWF0aC5oIgpzdHJ1Y3QgY19jb21wewogICAgICAgIGRvdWJsZSBybXo7CiAgICAgICAgZG91YmxlIGltejsKfWNfY29tcDsKaW50IGNfY29tcF9wcm9kdWN0KGExLGEyLGMpCnN0cnVjdCBjX2NvbXAgKmExLCphMiwqYzsKewogICAgICAgIGRvdWJsZSBwLHEsczsKICAgICAgICBpZihhMSA9PSBOVUxMIHx8IGEyID09IE5VTEwgfHwgYyA9PSBOVUxMKQogICAgICAgIHsKICAgICAgICAgICAgICAgIHByaW50ZigiKGNfY29tcF9wcm9kdWN0KVRoZSBjX2NvbXAgcG9pbnRlciBpcyBOVUxMIVxuIik7CiAgICAgICAgICAgICAgICByZXR1cm4oMCk7CiAgICAgICAgfQogICAgICAgIHAgPSBhMS0+cm16KmEyLT5ybXo7CiAgICAgICAgcSA9IGExLT5pbXoqYTItPmltejsKICAgICAgICBzID0gKGExLT5ybXogKyBhMS0+aW16KSooYTItPnJteiArIGEyLT5pbXopOwogICAgICAgIGMtPnJteiA9IHAgLSBxOwogICAgICAgIGMtPmlteiA9IHMgLSBwIC0gcTsKICAgICAgICByZXR1cm4oMSk7Cn0K