📄 complex.c
字号:
#ifndef lintstatic char sccsid[] = "@(#)complex.c 1.1 92/07/30 SMI";#endif/* * Copyright (c) 1988 by Sun Microsystems, Inc. */#include "complex.h"_Fc_div(c, a, b) complex *a, *b, *c;{ register double ar, ai, br, bi; register double den; if (((*(int *) &(b->imag)) & 0x7fffffff) == 0) { /* Check for division by * real. */ c->real = a->real / b->real; c->imag = a->imag / b->real; return; } br = b->real; bi = b->imag; ar = a->real; ai = a->imag; den = bi * bi + br * br; c->real = (ar * br + ai * bi) / den; c->imag = (ai * br - ar * bi) / den;}_Fc_mult(c, a, b) complex *a, *b, *c;{ c->real = (a->real * b->real) - (a->imag * b->imag); c->imag = (a->real * b->imag) + (a->imag * b->real);}_Fc_minus(c, a, b) complex *a, *b, *c;{ c->real = a->real - b->real; c->imag = a->imag - b->imag;}_Fc_add(c, a, b) complex *a, *b, *c;{ c->real = a->real + b->real; c->imag = a->imag + b->imag;}_Fc_neg(c, a) complex *c, *a;{ c->real = -a->real; c->imag = -a->imag;}/* Convert float to complex */void_Ff_conv_c(c, x) complex *c; FLOATPARAMETER x;{ c->real = FLOATPARAMETERVALUE(x); c->imag = 0.0;}/* Convert complex to float */FLOATFUNCTIONTYPE_Fc_conv_f(c) complex *c;{ RETURNFLOAT(c->real);}/* Convert complex to int */int_Fc_conv_i(c) complex *c;{ return (int) c->real;}/* Convert int to complex */void_Fi_conv_c(c, i) complex *c; int i;{ c->real = (float) i; c->imag = 0.0;}/* Convert complex to double */double_Fc_conv_d(c) complex *c;{ return (double) c->real;}/* Convert double to complex */void_Fd_conv_c(c, x) complex *c; double x;{ c->real = (float) (x); c->imag = 0.0;}/* Convert complex to double complex */void_Fc_conv_z(result, c) dcomplex *result; complex *c;{ result->dreal = (double) c->real; result->dimag = (double) c->imag;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -