$NetBSD: patch-ab,v 1.2 2002/05/12 23:21:54 dmcmahill Exp $ adds physical constants: k,q,e0,mu0,c. *** button_def.c.orig Wed Apr 3 22:46:10 2002 --- button_def.c Fri Apr 26 10:56:28 2002 *************** *** 34,39 **** --- 34,49 ---- extern void baseCmdCB(GtkWidget *, gpointer); FuncInfo invisible1[] = { + { "k", "k", "Boltzmann's constant (Joules/Kelvin).", + genericButtonCB, (void *)BoltzmannStack }, + { "q", "q", "Electron Charge (coulomb).", + genericButtonCB, (void *)ChargeStack }, + { "e0", "e0", "Free space permitivitty (Farads/meter).", + genericButtonCB, (void *)E0Stack }, + { "mu0", "mu0", "Free space permeability (Henries/meter).", + genericButtonCB, (void *)Mu0Stack }, + { "c", "c", "Free space speed of light (meters/second).", + genericButtonCB, (void *)LightSpeedStack }, { "Hex", "hex", "Hexidecimal display mode.", baseCmdCB, (void *)HEXIDECIMAL }, { "Dec", "dec", "Decimal display mode.", *************** *** 137,143 **** { 8, 8, num456 }, { 8, 8, num123 }, { 8, 8, num0 }, ! { 14, 0, invisible1 } }; --- 147,153 ---- { 8, 8, num456 }, { 8, 8, num123 }, { 8, 8, num0 }, ! { 19, 0, invisible1 } }; *** constant.c.orig Wed Apr 3 22:46:11 2002 --- constant.c Fri Apr 26 10:51:06 2002 *************** *** 24,29 **** --- 24,34 ---- #include "real.h" #include "complex.h" + Real *realBoltzmann; + Real *realCharge; + Real *realE0; + Real *realMu0; + Real *realLightSpeed; Real *realPi; Real *realPi2; Real *realZero; *************** *** 35,43 **** --- 40,56 ---- Real *real180Pi; Cmplx *cmplxI; + #define LIGHTSPEED 2.997923e8 + #define MU0 (4*M_PI*1.0e-7) + void setup_constant(){ Real *tmp; + realBoltzmann = setRealDouble(newReal(), 1.380622e-23); + realCharge = setRealDouble(newReal(), 1.6021917e-19); + realE0 = setRealDouble(newReal(), 1.0/(LIGHTSPEED*LIGHTSPEED*MU0)); + realMu0 = setRealDouble(newReal(), MU0); + realLightSpeed = setRealDouble(newReal(), LIGHTSPEED); realPi = setRealDouble(newReal(), M_PI); realPi2 = setRealDouble(newReal(), M_PI/2.0); realZero = setRealDouble(newReal(), 0.0); *** constant.h.orig Wed Apr 3 22:46:11 2002 --- constant.h Fri Apr 26 10:55:24 2002 *************** *** 22,27 **** --- 22,32 ---- #ifndef __CONSTANT_H #define __CONSTANT_H + extern Real *realBoltzmann; + extern Real *realCharge; + extern Real *realE0; + extern Real *realMu0; + extern Real *realLightSpeed; extern Real *realPi; extern Real *realPi2; extern Real *realZero; *** funcs.c.orig Wed Apr 3 22:46:11 2002 --- funcs.c Fri Apr 26 10:39:46 2002 *************** *** 95,100 **** --- 95,165 ---- } + void BoltzmannStack(){ + Number *n1; + + finishEditor(); + + SaveStackState(0); + + n1 = setNumberReal(newNumber(), realBoltzmann); + Push(n1); + + UndoStackState(1); + } + + void ChargeStack(){ + Number *n1; + + finishEditor(); + + SaveStackState(0); + + n1 = setNumberReal(newNumber(), realCharge); + Push(n1); + + UndoStackState(1); + } + + void E0Stack(){ + Number *n1; + + finishEditor(); + + SaveStackState(0); + + n1 = setNumberReal(newNumber(), realE0); + Push(n1); + + UndoStackState(1); + } + + void Mu0Stack(){ + Number *n1; + + finishEditor(); + + SaveStackState(0); + + n1 = setNumberReal(newNumber(), realMu0); + Push(n1); + + UndoStackState(1); + } + + void LightSpeedStack(){ + Number *n1; + + finishEditor(); + + SaveStackState(0); + + n1 = setNumberReal(newNumber(), realLightSpeed); + Push(n1); + + UndoStackState(1); + } + void PiStack(){ Number *n1; *** funcs.h.orig Wed Apr 3 22:46:11 2002 --- funcs.h Fri Apr 26 10:40:27 2002 *************** *** 41,46 **** --- 41,51 ---- void PopStack(); void PushStack(); + void BoltzmannStack(); + void ChargeStack(); + void E0Stack(); + void Mu0Stack(); + void LightSpeedStack(); void PiStack(); void NegStack(); *** CHANGES.orig Wed Apr 3 22:37:30 2002 --- CHANGES Fri Apr 26 16:46:35 2002 *************** *** 29,31 **** --- 29,38 ---- v1.1.2 Add db10 and db20 commands. + + v1.1.2nb1 + Add k,q,e0,mu0, and c commands for Boltzmann's constant + (Joules/Kelvin), electron charge (coulomb), free space + permitivitty (Farads/meter), free space permeability + (Henries/meter), and the speed of light in a vacuum + (meters/second). *** help.c.orig Wed Apr 3 22:46:11 2002 --- help.c Fri Apr 26 16:47:46 2002 *************** *** 28,34 **** #define HELP_TXT \ "\n\ ! GRPN v1.1.2\n\ \n\ By: Paul Wilkins\n\ paul.wilkins@analog.com\n\ --- 28,34 ---- #define HELP_TXT \ "\n\ ! GRPN v1.1.2nb1\n\ \n\ By: Paul Wilkins\n\ paul.wilkins@analog.com\n\