13 #include "cln/rational.h"
15 #include "cln/integer.h"
18 #include "cln/sfloat.h"
20 #include "cln/ffloat.h"
22 #include "cln/dfloat.h"
24 #include "cln/lfloat.h"
30 ALL_cl_LF_OPERATIONS_SAME_PRECISION()
32 const cl_R operator/ (const cl_R& x, const cl_R& y)
35 // 0 / y = exakte 0, außer wenn y=0
37 { throw division_by_0_exception(); }
46 , /* I */ return div(x,y);
47 , /* RT */ return div(x,y);
48 , /* SF */ return div(cl_I_to_SF(x),y);
49 , /* FF */ return div(cl_I_to_FF(x),y);
50 , /* DF */ return div(cl_I_to_DF(x),y);
51 , /* LF */ return div(cl_I_to_LF(x,LFlen0(y)),y); // cf. cl_I_LF_div
55 , /* I */ return div(x,y);
56 , /* RT */ return div(x,y);
57 , /* SF */ return div(cl_RA_to_SF(x),y);
58 , /* FF */ return div(cl_RA_to_FF(x),y);
59 , /* DF */ return div(cl_RA_to_DF(x),y);
60 , /* LF */ return cl_RA_LF_div(x,y);
64 , /* I */ return div(x,cl_I_to_SF(y));
65 , /* RT */ return div(x,cl_RA_to_SF(y));
66 , /* SF */ return div(x,y);
67 , /* FF */ return cl_FF_to_SF(div(cl_SF_to_FF(x),y));
68 , /* DF */ return cl_DF_to_SF(div(cl_SF_to_DF(x),y));
69 , /* LF */ return cl_LF_to_SF(div(cl_SF_to_LF(x,LFlen0(y)),y));
73 , /* I */ return div(x,cl_I_to_FF(y));
74 , /* RT */ return div(x,cl_RA_to_FF(y));
75 , /* SF */ return cl_FF_to_SF(div(x,cl_SF_to_FF(y)));
76 , /* FF */ return div(x,y);
77 , /* DF */ return cl_DF_to_FF(div(cl_FF_to_DF(x),y));
78 , /* LF */ return cl_LF_to_FF(div(cl_FF_to_LF(x,LFlen0(y)),y));
82 , /* I */ return div(x,cl_I_to_DF(y));
83 , /* RT */ return div(x,cl_RA_to_DF(y));
84 , /* SF */ return cl_DF_to_SF(div(x,cl_SF_to_DF(y)));
85 , /* FF */ return cl_DF_to_FF(div(x,cl_FF_to_DF(y)));
86 , /* DF */ return div(x,y);
87 , /* LF */ return cl_LF_to_DF(div(cl_DF_to_LF(x,LFlen0(y)),y));
91 , /* I */ return cl_LF_I_div(x,y);
92 , /* RT */ return cl_LF_RA_div(x,y);
93 , /* SF */ return cl_LF_to_SF(div(x,cl_SF_to_LF(y,LFlen0(x))));
94 , /* FF */ return cl_LF_to_FF(div(x,cl_FF_to_LF(y,LFlen0(x))));
95 , /* DF */ return cl_LF_to_DF(div(x,cl_DF_to_LF(y,LFlen0(x))));
96 , /* LF */ return div(x,y);