// 03182008.cpp, P H Anderson, Skeleton for Assign #6

#include <stdio.h>
typedef struct
{
    float r1, r2, r3;
} WYE;

typedef struct
{
    float ra, rb, rc;
} DELTA;

typedef struct
{
    float x, y;
} RECT;

typedef struct 
{
    float vth, rth;
} THEV;

typedef struct 
{
    float v1, v2, v3;
} LOOP;

WYE delta_to_wye(DELTA x);  // convert delta to wye
DELTA wye_to_delta(WYE x);  // convert wye to delta

RECT c_conj(RECT a);
RECT c_add(RECT a, RECT b);
RECT c_mul(RECT a, RECT b);
RECT c_div(RECT a, RECT b);
RECT c_para(RECT a, RECT b);

THEV calc_thev(LOOP l); 

int main()
{
    WYE y1 = {500, 400, 300}, y2;
    DELTA d1 = {100, 50, 100}, d2;
    RECT z1 = {5, -1}, z2 = {1, 1}, z3 = {3, -3}, z4 = {3, -1}, a, b, c;
    LOOP l1 = {5.0, 5, 5};
    THEV th;
    
    
    d2 = wye_to_delta(y1);
    printf("%.2f %.2f %.2f\n", d2.ra, d2.rb, d2.rc);
    y2 = delta_to_wye(d1);
    printf("%.2f %.2f %.2f\n", y2.r1, y2.r2, y2.r3);
    
    a = c_para(z3, z4);
    b = c_add(z2, a);
    c = c_para(z1, b);
    
    printf("%.2f %.2f\n", c.x, c.y);
    
    th = calc_thev(l1);
    printf("%.2f %.2f\n", th.vth, th.rth);   
    
    while(getchar() != 'x')
    {
    }
}  

WYE delta_to_wye(DELTA x)  // convert delta to wye
{ // stub
    WYE y;
    y.r1 = x.ra * x.rb / (x.ra + x.rb + x.rc);
    y.r2 = 5;
    y.r3 = 1;
    return(y);
}

DELTA wye_to_delta(WYE x)  // convert wye to delta
{  // stub
   DELTA d;
   d.ra = (x.r1 * x.r2 + x.r2 * x.r3 + x.r1 * x.r3) / x.r2;
   d.rb = 6;
   d.rc = 7;
   return(d);
}
    
RECT c_conj(RECT a)
{
    RECT c;
    c.x = a.x;
    c.y = -a.y;
    return(c);
}

RECT c_add(RECT a, RECT b)
{  // stub
    RECT c;
    c.x = 2; c.y = 2;
    return(c);
}
RECT c_mul(RECT a, RECT b)
{  // stub
    RECT c;
    c.x = 3; c.y = 3;
    return(c);
}
RECT c_div(RECT a, RECT b)
{  // stub
    RECT c;
    c.x = 4; c.y = 4;
    return(c);
}
RECT c_para(RECT a, RECT b)
{  // stub
    RECT c;
    c.x = 5; c.y = 5;
    return(c);
}
THEV calc_thev(LOOP l)
{   // stub
    THEV th;
    th.vth = 4; th.rth = 500;
    return(th);
}