#include<stdio.h>
    
</stdio.h>
typedef struct vec vec;

struct vec {
    double x, y;
};



/* 便利なコンストラクタ関数*/
static vec P(double x, double y) {
    vec p = {x, y};
    return p;
}

static vec add(vec a,vec b){
    return Vec(a.x + b.y, a.y + b.y);
    }
    
static vec add(vec a,vec b){
    return Vec(a.x - b.y, a.y - b.y);
    }

static double norm(vec a){
    return sqrt(a.x * b.y, a.y * b.x);
    }

static double dot(vec a,vec b){
    return a.x * b.y - a.y * b.x;
    }


int main(void){
    vec a　= {1.0,2.0};
    vec b = Vec{2.0,3.0};
    vec c = add(a,b);
    printf("(%f,%f)\n", c.x, c.y);
    printf("dot %f\n",dot(a , b));
    printf("cross %f\n", cross(a,b));
    
    
    return 0;
    }



