├── .github └── workflows │ └── ci-pipeline.yml ├── .gitignore ├── .travis.yml ├── ABOUT-NLS ├── AUTHORS ├── COPYING ├── ChangeLog ├── INSTALL ├── Makefile.am ├── NEWS ├── README ├── README-to-release ├── README.newmodel ├── README.win32 ├── TODO ├── acinclude.m4 ├── autogen.sh ├── benchmarks ├── Makefile.am ├── freefem │ ├── .gitignore │ ├── Makefile.am │ ├── README.md │ ├── coplanar.dat │ ├── coplanar.edp │ ├── coupled_microstrip.edp │ ├── extract_coplanar.awk │ ├── extract_stripline.awk │ ├── io_example.edp │ ├── microstrip.dat │ ├── microstrip.edp │ ├── stripline.dat │ ├── stripline.edp │ ├── utils.edp │ └── wcalc_vs_freefem.ipynb └── mmtl │ ├── coupled_microstrip.xsctn │ ├── microstrip.xsctn.in │ └── sweep_microstrip.sh.in ├── cgi-wcalc ├── .gitignore ├── Makefile.am ├── TODO ├── air_coil.cgi.c ├── air_coil.html ├── alert.c ├── bars.cgi.c ├── bars.html ├── capture.c ├── cgi-common.c ├── cgi-common.h ├── cgi-units.c ├── cgi-units.h ├── cgic.c ├── cgic.h ├── coax.cgi.c ├── coax.html ├── cookie.c ├── cookie.cgi.c ├── cookie.h ├── coplanar.cgi.c ├── coplanar.html ├── copying.html ├── coupled_microstrip.cgi.c ├── coupled_microstrip.html ├── coupled_stripline.cgi.c ├── coupled_stripline.html ├── footer.html ├── header.html ├── ic_microstrip.cgi.c ├── ic_microstrip.html ├── license.txt ├── microstrip.cgi.c ├── microstrip.html ├── parallel_rc.cgi.c ├── parallel_rc.html ├── parallel_rl.cgi.c ├── parallel_rl.html ├── rods.cgi.c ├── rods.html ├── run_tests.sh ├── run_weblint ├── stripline.cgi.c └── stripline.html ├── ci-scripts ├── install-pstoedit.sh ├── install-tgif.sh └── xvfb-run ├── config.rpath ├── configure.ac ├── docs ├── coax │ ├── .gitignore │ ├── Makefile │ ├── bib.tex │ ├── coax_waveguide.tex │ └── refs.bib └── htmltex ├── fastlc ├── .gitignore └── cpw_fastcap ├── gettext.h ├── gtk-wcalc ├── .gitignore ├── Makefile.am ├── about.c ├── about.h ├── air_coil.wc ├── air_coil_gui.c ├── air_coil_gui.h ├── alert.c ├── bars.wc ├── bars_gui.c ├── bars_gui.h ├── coax.wc ├── coax_gui.c ├── coax_gui.h ├── coplanar.wc ├── coplanar_gui.c ├── coplanar_gui.h ├── coupled_microstrip.wc ├── coupled_microstrip_gui.c ├── coupled_microstrip_gui.h ├── coupled_stripline.wc ├── coupled_stripline_gui.c ├── coupled_stripline_gui.h ├── files.c ├── files.h ├── gtk-units.c ├── gtk-units.h ├── ic_microstrip.wc ├── ic_microstrip_gui.c ├── ic_microstrip_gui.h ├── icon_bitmap ├── menus.c ├── menus.h ├── microstrip.wc ├── microstrip_gui.c ├── microstrip_gui.h ├── newprint.c ├── newprint.h ├── parallel_rc.wc ├── parallel_rc_gui.c ├── parallel_rc_gui.h ├── parallel_rl.wc ├── parallel_rl_gui.c ├── parallel_rl_gui.h ├── permeability.asciitab ├── permitivity.asciitab ├── resistivity.asciitab ├── rods.wc ├── rods_gui.c ├── rods_gui.h ├── runwcalc.in ├── start.c ├── start.h ├── stripline.wc ├── stripline_gui.c ├── stripline_gui.h ├── symbols.h ├── units.asciitab ├── utils.c ├── utils.h ├── version.c ├── wcalc.1 ├── wcalc.c ├── wcalc.h ├── wcalc.rc └── wcwindow.h ├── htdocs ├── .gitignore ├── AWG.shtml ├── Makefile.am ├── about.shtml ├── air_coil.shtml ├── bars.shtml ├── bugs.shtml ├── cgi-wcalc.shtml ├── coax.shtml ├── common-man.mk ├── coplanar.shtml ├── coupled_microstrip.shtml ├── coupled_stripline.shtml ├── disclaimer_properties.incl ├── faq.shtml ├── favicon.xpm ├── gtk-wcalc.shtml ├── ic_microstrip.shtml ├── index.shtml ├── left_column.incl ├── main_footer.incl ├── mex-man │ ├── Makefile.am │ ├── man_end.incl │ └── man_start.incl ├── mex-wcalc.shtml ├── microstrip.shtml ├── news.shtml ├── obtaining.shtml ├── octave-man │ ├── Makefile.am │ ├── man_end.incl │ └── man_start.incl ├── octave-wcalc.shtml ├── page_start.incl ├── parallel_rc.shtml ├── parallel_rl.shtml ├── permeability.shtml ├── permitivity.shtml ├── projects.shtml ├── resistivity.shtml ├── rods.shtml ├── sci-man │ ├── Makefile.am │ ├── man_end.incl │ └── man_start.incl ├── sci-wcalc.shtml ├── screen1-thumb.png ├── screen1.png ├── screen2-thumb.png ├── screen2.png ├── shtml.mk ├── stdio-man │ ├── Makefile.am │ ├── man_end.incl │ └── man_start.incl ├── stdio-wcalc.shtml ├── stripline.shtml ├── tech.shtml ├── units.shtml └── upload ├── include ├── .gitignore ├── Makefile.am └── alert.h ├── libwcalc ├── .gitignore ├── Makefile.am ├── NOTES.txt ├── air_coil.c ├── air_coil.h ├── air_coil_loadsave.c ├── air_coil_loadsave.h ├── alert.c ├── bars.c ├── bars.h ├── bars_loadsave.c ├── bars_loadsave.h ├── bars_test.c ├── coax.c ├── coax.h ├── coax_loadsave.c ├── coax_loadsave.h ├── coax_test.c ├── coplanar.c ├── coplanar.h ├── coplanar_loadsave.c ├── coplanar_loadsave.h ├── coplanar_test.c ├── coupled_microstrip.c ├── coupled_microstrip.data ├── coupled_microstrip.h ├── coupled_microstrip_loadsave.c ├── coupled_microstrip_loadsave.h ├── coupled_microstrip_test.c ├── coupled_stripline.c ├── coupled_stripline.h ├── coupled_stripline_loadsave.c ├── coupled_stripline_loadsave.h ├── defaults.c ├── defaults.h ├── ic_microstrip.c ├── ic_microstrip.h ├── ic_microstrip_loadsave.c ├── ic_microstrip_loadsave.h ├── ic_microstrip_test.c ├── libwcalc.h ├── make_defaults.c ├── mathutil.c ├── mathutil.h ├── mathutil_test.c ├── messages.c ├── messages.h ├── microstrip.c ├── microstrip.h ├── microstrip_loadsave.c ├── microstrip_loadsave.h ├── microstrip_test.c ├── misc.c ├── misc.h ├── parallel_rc.c ├── parallel_rc.h ├── parallel_rc_loadsave.c ├── parallel_rc_loadsave.h ├── parallel_rl.c ├── parallel_rl.h ├── parallel_rl_loadsave.c ├── parallel_rl_loadsave.h ├── physconst.h ├── rods.c ├── rods.h ├── rods_loadsave.c ├── rods_loadsave.h ├── rods_test.c ├── stripline.c ├── stripline.h ├── stripline_loadsave.c ├── stripline_loadsave.h ├── units.c ├── units.h ├── units_test.c ├── wcalc-config.in ├── wcalc.pc.in ├── wcalc_loadsave.c └── wcalc_loadsave.h ├── ltcf-c.sh ├── ltconfig ├── m4 ├── .gitignore ├── ChangeLog ├── Makefile.am ├── ax_pkg_swig.m4 ├── codeset.m4 ├── extern-inline.m4 ├── fcntl-o.m4 ├── gettext.m4 ├── glibc2.m4 ├── glibc21.m4 ├── iconv.m4 ├── intdiv0.m4 ├── intl.m4 ├── intldir.m4 ├── intlmacosx.m4 ├── intmax.m4 ├── inttypes-pri.m4 ├── inttypes.m4 ├── inttypes_h.m4 ├── isc-posix.m4 ├── lcmessage.m4 ├── lib-ld.m4 ├── lib-link.m4 ├── lib-prefix.m4 ├── lock.m4 ├── longdouble.m4 ├── longlong.m4 ├── nls.m4 ├── po.m4 ├── printf-posix.m4 ├── progtest.m4 ├── signed.m4 ├── size_max.m4 ├── stdint_h.m4 ├── threadlib.m4 ├── uintmax_t.m4 ├── ulonglong.m4 ├── visibility.m4 ├── wchar_t.m4 ├── wint_t.m4 └── xsize.m4 ├── mex-wcalc ├── .gitignore ├── Makefile.am ├── alert.c ├── copyright.m ├── matlab_startup.m.in ├── mexlink ├── mexopts.sh.in └── runmatlab.in ├── octave-wcalc ├── .gitignore ├── Makefile.am ├── alert.c ├── copyright.m ├── octaverc.in └── runoctave.in ├── pixmaps ├── .gitignore ├── Makefile.am ├── Xdefaults.tgif ├── air_coil.eps ├── air_coil.obj ├── air_coil.png ├── air_coil.xpm ├── alert_fig.eps ├── alert_fig.obj ├── alert_fig.png ├── alert_fig.xpm ├── bars_fig.eps ├── bars_fig.obj ├── bars_fig.png ├── bars_fig.xpm ├── coax.eps ├── coax.obj ├── coax.png ├── coax.xpm ├── coax_model.eps ├── coax_model.obj ├── coax_model.png ├── coax_model.xpm ├── coplanar.eps ├── coplanar.obj ├── coplanar.png ├── coplanar.xpm ├── coplanar_model.eps ├── coplanar_model.obj ├── coplanar_model.png ├── coplanar_model.xpm ├── coupled_microstrip.eps ├── coupled_microstrip.obj ├── coupled_microstrip.png ├── coupled_microstrip.xpm ├── coupled_stripline.eps ├── coupled_stripline.obj ├── coupled_stripline.png ├── coupled_stripline.xpm ├── figure_air_coil.c ├── figure_air_coil.h ├── figure_alert_fig.c ├── figure_alert_fig.h ├── figure_bars_fig.c ├── figure_bars_fig.h ├── figure_coax.c ├── figure_coax.h ├── figure_coax_model.c ├── figure_coax_model.h ├── figure_coplanar.c ├── figure_coplanar.h ├── figure_coplanar_model.c ├── figure_coplanar_model.h ├── figure_coupled_microstrip.c ├── figure_coupled_microstrip.h ├── figure_coupled_stripline.c ├── figure_coupled_stripline.h ├── figure_ic_microstrip.c ├── figure_ic_microstrip.h ├── figure_ic_microstrip_model.c ├── figure_ic_microstrip_model.h ├── figure_logo.c ├── figure_logo.h ├── figure_microstrip.c ├── figure_microstrip.h ├── figure_microstrip_model.c ├── figure_microstrip_model.h ├── figure_rc.c ├── figure_rc.h ├── figure_rl.c ├── figure_rl.h ├── figure_rods_fig.c ├── figure_rods_fig.h ├── figure_splash.c ├── figure_splash.h ├── figure_stripline.c ├── figure_stripline.h ├── figure_stripline_model.c ├── figure_stripline_model.h ├── ic_microstrip.eps ├── ic_microstrip.obj ├── ic_microstrip.png ├── ic_microstrip.xpm ├── ic_microstrip_model.eps ├── ic_microstrip_model.obj ├── ic_microstrip_model.png ├── ic_microstrip_model.xpm ├── logo.eps ├── logo.obj ├── logo.png ├── logo.xpm ├── microstrip.eps ├── microstrip.obj ├── microstrip.png ├── microstrip.xpm ├── microstrip_model.eps ├── microstrip_model.obj ├── microstrip_model.png ├── microstrip_model.xpm ├── rc.eps ├── rc.obj ├── rc.png ├── rc.xpm ├── regen.mk ├── regen_files ├── rl.eps ├── rl.obj ├── rl.png ├── rl.xpm ├── rods_fig.eps ├── rods_fig.obj ├── rods_fig.png ├── rods_fig.xpm ├── splash.eps ├── splash.obj ├── splash.png ├── splash.xpm ├── stripline.eps ├── stripline.obj ├── stripline.png ├── stripline.xpm ├── stripline_model.eps ├── stripline_model.obj ├── stripline_model.png └── stripline_model.xpm ├── po ├── .gitignore ├── ChangeLog ├── LINGUAS ├── Makefile.in.in ├── Makevars ├── Makevars.template ├── POTFILES.in ├── Rules-quot ├── boldquot.sed ├── en.po ├── en@boldquot.header ├── en@quot.header ├── es.po ├── insert-header.sin ├── nl.po ├── quot.sed ├── remove-potcdate.sin └── wcalc.pot ├── references └── README ├── sci-wcalc ├── .gitignore ├── Makefile.am ├── README.newmodel ├── air_coil_calc.c ├── air_coil_calc.dem ├── air_coil_calc.dia.ref ├── air_coil_calc.tst ├── air_coil_calc.xml ├── air_coil_syn.c ├── air_coil_syn.dem ├── air_coil_syn.dia.ref ├── air_coil_syn.tst ├── air_coil_syn.xml ├── alert.c ├── bars_calc.c ├── bars_calc.dem ├── bars_calc.dia.ref ├── bars_calc.tst ├── bars_calc.xml ├── coax_calc.c ├── coax_calc.dia.ref ├── coax_calc.tst ├── coax_calc.xml ├── coax_examples.sce ├── coax_syn.c ├── coax_syn.dia.ref ├── coax_syn.tst ├── coax_syn.xml ├── coplanar_calc.c ├── coplanar_calc.dia.ref ├── coplanar_calc.tst ├── coplanar_calc.xml ├── coplanar_syn.c ├── coplanar_syn.dia.ref ├── coplanar_syn.tst ├── coplanar_syn.xml ├── coupled_microstrip_calc.c ├── coupled_microstrip_calc.dia.ref ├── coupled_microstrip_calc.tst ├── coupled_microstrip_calc.xml ├── coupled_microstrip_syn.c ├── coupled_microstrip_syn.dia.ref ├── coupled_microstrip_syn.tst ├── coupled_microstrip_syn.xml ├── coupled_stripline_calc.c ├── coupled_stripline_calc.dem ├── coupled_stripline_calc.dia.ref ├── coupled_stripline_calc.tst ├── coupled_stripline_calc.xml ├── coupled_stripline_syn.c ├── coupled_stripline_syn.dia.ref ├── coupled_stripline_syn.tst ├── coupled_stripline_syn.xml ├── demo.sce ├── dot_scilab.in ├── htmlpage.xsl ├── ic_microstrip_calc.c ├── ic_microstrip_calc.dia.ref ├── ic_microstrip_calc.tst ├── ic_microstrip_calc.xml ├── ic_microstrip_syn.c ├── ic_microstrip_syn.dia.ref ├── ic_microstrip_syn.tst ├── ic_microstrip_syn.xml ├── man.dtd ├── manpage.xsl ├── mex-alert.c ├── mex.mk ├── microstrip_calc.c ├── microstrip_calc.dia.ref ├── microstrip_calc.tst ├── microstrip_calc.xml ├── microstrip_compare.sce ├── microstrip_syn.c ├── microstrip_syn.dia.ref ├── microstrip_syn.tst ├── microstrip_syn.xml ├── parallel_rc.dem ├── parallel_rc_p2s.c ├── parallel_rc_p2s.dia.ref ├── parallel_rc_p2s.tst ├── parallel_rc_p2s.xml ├── parallel_rc_s2p.c ├── parallel_rc_s2p.dia.ref ├── parallel_rc_s2p.tst ├── parallel_rc_s2p.xml ├── parallel_rl.dem ├── parallel_rl_p2s.c ├── parallel_rl_p2s.dia.ref ├── parallel_rl_p2s.tst ├── parallel_rl_p2s.xml ├── parallel_rl_s2p.c ├── parallel_rl_s2p.dia.ref ├── parallel_rl_s2p.tst ├── parallel_rl_s2p.xml ├── rods_calc.c ├── rods_calc.dem ├── rods_calc.dia.ref ├── rods_calc.tst ├── rods_calc.xml ├── run_tests.sh ├── sciman.mk ├── see_also.xml ├── stripline_calc.c ├── stripline_calc.dem ├── stripline_calc.dia.ref ├── stripline_calc.tst ├── stripline_calc.xml ├── stripline_syn.c ├── stripline_syn.dia.ref ├── stripline_syn.tst ├── stripline_syn.xml ├── wcalc-demo.dem ├── wcalc.xml ├── wcalc_test.sce ├── wcalc_test.sci.in └── whatis.xsl ├── stdio-wcalc ├── .gitignore ├── Makefile.am ├── air_coil.dat ├── air_coil.ref ├── alert.c ├── bars.dat ├── bars.ref ├── coax.dat ├── coax.ref ├── coplanar.dat ├── coplanar.ref ├── coupled_microstrip.dat ├── coupled_microstrip.ref ├── coupled_stripline.dat ├── coupled_stripline.ref ├── ic_microstrip.dat ├── ic_microstrip.ref ├── main.c ├── microstrip.dat ├── microstrip.ref ├── parallel_rc.dat ├── parallel_rc.ref ├── parallel_rl.dat ├── parallel_rl.ref ├── rods.dat ├── rods.ref ├── run_tests.sh ├── stdio-wcalc.1 ├── stripline.dat ├── stripline.ref └── tests.list ├── swig └── wcalc.i ├── utils ├── .gitignore ├── Makefile.am ├── build_sf ├── eps2c ├── epslint ├── format_tab ├── html2c └── shtml2html └── win32 ├── .gitignore ├── Makefile.am ├── Readme.txt ├── build_wcalc ├── config.mk ├── licenses ├── LICENSE-expat ├── LICENSE-fontconfig ├── LICENSE-gpl2 ├── LICENSE-gpl3 ├── LICENSE-lgpl2 ├── LICENSE-lgpl2-1 ├── LICENSE-libpng ├── LICENSE-pixman └── LICENSE-zlib ├── mingw_required_pkgs ├── registerExtension.nsh ├── setup ├── atk.distinfo ├── atk.mk ├── cairo.distinfo ├── cairo.mk ├── expat.distinfo ├── expat.mk ├── fontconfig.distinfo ├── fontconfig.mk ├── freetype.distinfo ├── freetype.mk ├── gdk-pixbuf.distinfo ├── gdk-pixbuf.mk ├── gettext.distinfo ├── gettext.mk ├── glib.distinfo ├── glib.mk ├── gtk+.distinfo ├── gtk+.mk ├── intltool.distinfo ├── intltool.mk ├── libpng.distinfo ├── libpng.mk ├── pango.distinfo ├── pango.mk ├── pixman.distinfo ├── pixman.mk ├── pkg-config.distinfo ├── pkg-config.mk ├── zlib.distinfo └── zlib.mk ├── wcalc-win32-deps.mk ├── wcalc.nsi.in ├── wcalc_icon.ico ├── wcalc_icon_big.obj ├── wcalc_icon_med.obj └── wcalc_icon_sml.obj /.gitignore: -------------------------------------------------------------------------------- 1 | # CVS default ignores begin 2 | tags 3 | TAGS 4 | .make.state 5 | .nse_depinfo 6 | *~ 7 | #* 8 | .#* 9 | ,* 10 | _$* 11 | *$ 12 | *.old 13 | *.bak 14 | *.BAK 15 | *.orig 16 | *.rej 17 | .del-* 18 | *.a 19 | *.olb 20 | *.o 21 | *.so 22 | *.exe 23 | *.Z 24 | *.elc 25 | *.ln 26 | core 27 | # CVS default ignores end 28 | *~ 29 | *.cache 30 | *.log 31 | config.h 32 | Makefile.in 33 | Makefile 34 | *.cksum 35 | *.exe 36 | *.tar.gz 37 | aclocal.m4 38 | compile 39 | config.guess 40 | config.h.in 41 | config.rpath 42 | config.status 43 | config.sub 44 | configure 45 | depcomp 46 | install-sh 47 | libtool 48 | ltmain.sh 49 | missing 50 | mkinstalldirs 51 | stamp-h1 52 | 53 | intl/ 54 | test-driver 55 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | #dist: xenial 2 | dist: bionic 3 | 4 | # c++ for pstoedit build 5 | language: c cpp 6 | 7 | os: 8 | - linux 9 | # - osx 10 | # - bsd 11 | 12 | before_install: 13 | - ./travis/install-pstoedit.sh 14 | - ./travis/install-tgif.sh 15 | 16 | install: 17 | - ./autogen.sh 18 | - touch intl/ChangeLog 19 | - bison --version 20 | - export PSTOEDIT=/usr/bin/pstoedit-3.75 ; ./configure 21 | 22 | script: | 23 | if test "${COVERITY_SCAN_BRANCH}" != "1"; then 24 | export PSTOEDIT=/usr/bin/pstoedit-3.75 25 | make 26 | make check 27 | make distcheck 28 | fi 29 | 30 | addons: 31 | apt: 32 | packages: 33 | - autoconf 34 | - automake 35 | - autopoint 36 | - libgettextpo-dev 37 | - libgtk2.0-dev 38 | - netpbm 39 | # need newer version 40 | #- pstoedit 41 | - w3m 42 | - xsltproc 43 | # for tgif 44 | - libxmu-dev 45 | - xfonts-75dpi 46 | - gsfonts-x11 47 | # for pstoedit 48 | - ghostscript 49 | #- gcc-8 50 | #- g++-8 51 | 52 | homebrew: 53 | packages: 54 | - autoconf 55 | - automake 56 | - autopoint 57 | - libgettextpo-dev 58 | - libgtk2.0-dev 59 | - netpbm 60 | - pstoedit 61 | - tgif 62 | - w3m 63 | - xsltproc 64 | 65 | # need an X display for tgif for exporting the various 66 | # graphics. 67 | services: 68 | - xvfb 69 | -------------------------------------------------------------------------------- /AUTHORS: -------------------------------------------------------------------------------- 1 | 2 | wcalc was written by Dan McMahill over the span of several years. 3 | 4 | -------------------------------------------------------------------------------- /Makefile.am: -------------------------------------------------------------------------------- 1 | ## 2 | ## Copyright (C) 2001, 2002, 2003, 2004, 2017, 2020, 2021, 2022 Dan McMahill 3 | ## All rights reserved. 4 | ## 5 | ## 6 | ## This program is free software; you can redistribute it and/or modify 7 | ## it under the terms of the GNU General Public License as published by 8 | ## the Free Software Foundation; version 2 of the License. 9 | ## 10 | ## This program is distributed in the hope that it will be useful, 11 | ## but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | ## GNU General Public License for more details. 14 | ## 15 | ## You should have received a copy of the GNU General Public License 16 | ## along with this program; if not, write to the Free Software 17 | ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 18 | ## 19 | 20 | SUBDIRS= \ 21 | benchmarks \ 22 | m4 include intl po @LIB_WCALC@ @PIXMAPS@ @STDIO_WCALC@ \ 23 | @GTK_WCALC@ @CGI_WCALC@ \ 24 | @OCT_WCALC@ @SCI_WCALC@ @MEX_WCALC@ @HTDOCS@ utils win32 25 | 26 | DIST_SUBDIRS= benchmarks m4 include intl po libwcalc pixmaps stdio-wcalc gtk-wcalc \ 27 | cgi-wcalc octave-wcalc sci-wcalc mex-wcalc htdocs utils win32 28 | 29 | ACLOCAL_AMFLAGS= -I m4 30 | 31 | EXTRA_DIST= config.rpath \ 32 | gettext.h \ 33 | ltcf-c.sh \ 34 | AUTHORS \ 35 | README.newmodel \ 36 | README.win32 \ 37 | TODO 38 | 39 | -------------------------------------------------------------------------------- /README: -------------------------------------------------------------------------------- 1 | 2 | Wcalc is a tool for the analysis and synthesis of transmission line structures and 3 | related components. Wcalc provides the ability to analyze the electrical parameters 4 | of a particular structure based on the physical dimensions and material parameters. 5 | The synthesis portion calculates the required physical parameters to meet desired 6 | electrical specifications. Wcalc includes several models and places an emphasis on 7 | accuracy. Several frontends provide the user with several options for its use. 8 | 9 | Models include: 10 | 11 | - single layer solenoid inductor 12 | - single microstrip and stripline 13 | - coupled microstrip and stripline 14 | - coplanar waveguide 15 | - metal-insulator-semiconductor microstrip 16 | - coaxial cable 17 | - self and mutual inductance of two parallel rectangular bars 18 | - self and mutual inductance of two parallel circular rods 19 | 20 | Frontends include: 21 | 22 | - gtk gui 23 | - web (cgi) 24 | - scilab 25 | - octave 26 | - matlab 27 | - stdio 28 | 29 | See the file INSTALL for building and installation instructions. 30 | 31 | Please report all bugs at the wcalc github project page 32 | at https://github.com/dmcmahill/wcalc 33 | 34 | See the file COPYING for copying conditions. 35 | -------------------------------------------------------------------------------- /benchmarks/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Copyright (C) 2022 Dan McMahill 2 | ## All rights reserved. 3 | ## 4 | ## 5 | ## This program is free software; you can redistribute it and/or modify 6 | ## it under the terms of the GNU General Public License as published by 7 | ## the Free Software Foundation; version 2 of the License. 8 | ## 9 | ## This program is distributed in the hope that it will be useful, 10 | ## but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | ## GNU General Public License for more details. 13 | ## 14 | ## You should have received a copy of the GNU General Public License 15 | ## along with this program; if not, write to the Free Software 16 | ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | ## 18 | 19 | SUBDIRS= \ 20 | freefem 21 | 22 | -------------------------------------------------------------------------------- /benchmarks/freefem/.gitignore: -------------------------------------------------------------------------------- 1 | # output data files from the FreeFEM scripts 2 | coplanar.txt 3 | coupled_microstrip.txt 4 | microstrip.txt 5 | stripline.txt 6 | 7 | # temp files 8 | *.tmp 9 | 10 | # python notebook temp area 11 | .ipynb_checkpoints/ 12 | 13 | -------------------------------------------------------------------------------- /benchmarks/freefem/Makefile.am: -------------------------------------------------------------------------------- 1 | ## 2 | ## Copyright (C) 2022 Dan McMahill 3 | ## All rights reserved. 4 | ## 5 | ## 6 | ## This program is free software; you can redistribute it and/or modify 7 | ## it under the terms of the GNU General Public License as published by 8 | ## the Free Software Foundation; version 2 of the License. 9 | ## 10 | ## This program is distributed in the hope that it will be useful, 11 | ## but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | ## GNU General Public License for more details. 14 | ## 15 | ## You should have received a copy of the GNU General Public License 16 | ## along with this program; if not, write to the Free Software 17 | ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 18 | ## 19 | 20 | DAT_FILES= \ 21 | coplanar.dat \ 22 | microstrip.dat \ 23 | stripline.dat 24 | 25 | EDP_FILES= \ 26 | coplanar.edp \ 27 | coupled_microstrip.edp \ 28 | io_example.edp \ 29 | microstrip.edp \ 30 | stripline.edp \ 31 | utils.edp 32 | 33 | EXTRA_DIST= \ 34 | ${DAT_FILES} \ 35 | ${EDP_FILES} \ 36 | README.md \ 37 | extract_coplanar.awk \ 38 | extract_stripline.awk \ 39 | wcalc_vs_freefem.ipynb 40 | 41 | -------------------------------------------------------------------------------- /benchmarks/freefem/extract_stripline.awk: -------------------------------------------------------------------------------- 1 | #!/usr/bin/awk -f 2 | # 3 | # Copyright (c) 2021, 2022 Dan McMahill 4 | # All rights reserved. 5 | # 6 | # This program is free software; you can redistribute it and/or modify 7 | # it under the terms of the GNU General Public License as published by 8 | # the Free Software Foundation; version 2 of the License. 9 | # 10 | # This program is distributed in the hope that it will be useful, 11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | # GNU General Public License for more details. 14 | # 15 | # You should have received a copy of the GNU General Public License 16 | # along with this program; if not, write to the Free Software 17 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 18 | # 19 | 20 | # extracts the geometries from the stdio-wcalc/stripline.dat 21 | # test config file and formats for the FreeFEM analysis. 22 | 23 | BEGIN { 24 | sf = 1e3; 25 | print "* W H Tmet Er"; 26 | } 27 | 28 | /^[ \t]*$/ { print ; next; } 29 | 30 | /^[ \t]*[*]/ {print ; next; } 31 | 32 | /^[ \t]*stripline_calc/ { 33 | printf("%g %g %g %g\n", $2*sf, $3*sf, $5*sf, $8); 34 | next; 35 | } 36 | 37 | -------------------------------------------------------------------------------- /benchmarks/freefem/microstrip.dat: -------------------------------------------------------------------------------- 1 | * width height metal_thickness dielectric_constant 2 | 3 | * Basic microstrip calculation 4 | * W H Tmet Er 5 | 3.000 3.000 0.03556 4.800 6 | 7 | *************** Table 6.5 From Rosloniec ************ 8 | * 9 | * W H Tmet Er 10 | 11 | * Z0 = 30 Ohms, Keff = 2.228 12 | 5.678 1.0 0.03 2.55 13 | 14 | * Z0 = 30 Ohms, Keff = 2.299 15 | 5.558 1.0 0.03 2.55 16 | 17 | * Z0 = 30 Ohms, Keff = 7.042 18 | 2.395 1.0 0.03 9.60 19 | 20 | * Z0 = 30 Ohms, Keff = 7.772 21 | 2.201 1.0 0.03 9.60 22 | 23 | * Z0 = 50 Ohms, Keff = 2.122 24 | 2.762 1.0 0.03 2.55 25 | 26 | * Z0 = 50 Ohms, Keff = 2.177 27 | 2.705 1.0 0.03 2.55 28 | 29 | * Z0 = 50 Ohms, Keff = 6.448 30 | 0.961 1.0 0.03 9.60 31 | 32 | * Z0 = 50 Ohms, Keff = 6.972 33 | 0.877 1.0 0.03 9.60 34 | 35 | * Z0 = 75 Ohms, Keff = 2.033 36 | 1.379 1.0 0.03 2.55 37 | 38 | * Z0 = 75 Ohms, Keff = 2.073 39 | 1.352 1.0 0.03 2.55 40 | 41 | * Z0 = 75 Ohms, Keff = 6.067 42 | 0.339 1.0 0.03 9.60 43 | 44 | * Z0 = 75 Ohms, Keff = 6.431 45 | 0.307 1.0 0.03 9.60 46 | 47 | ** From LineCalc 48 | * w=0.6mm, L=100mm, H=0.6mm, Tmet=0.025mm, rough=25.4e-6mm 49 | * Line Calc gives 50 | * Z0=48.08720336054 E_EFF=305.9271827158 51 | * K_EFF=6.490417898558 A_DB=0.621663265207 Skin depth=0.002485570190 52 | 53 | * W H Tmet Er 54 | 0.600 0.600 0.025 9.90 55 | 56 | -------------------------------------------------------------------------------- /benchmarks/mmtl/coupled_microstrip.xsctn: -------------------------------------------------------------------------------- 1 | #---------------------------------- 2 | # File: /u2/disk1/dan/wcalc/mmtl/coupled_microstrip.xsctn 3 | # Mon Sep 27 02:04:02 UTC 2004 4 | #---------------------------------- 5 | 6 | package require csdl 7 | 8 | set _title "Coupled Microstrip" 9 | set ::Stackup::couplingLength "0.0254" 10 | set ::Stackup::riseTime "10" 11 | set ::Stackup::frequency "1e9" 12 | set ::Stackup::defaultLengthUnits "mils" 13 | set CSEG 20 14 | set DSEG 20 15 | 16 | GroundPlane GrouPlan1 \ 17 | -thickness 1.4 \ 18 | -yOffset 0.0 \ 19 | -xOffset 0.0 20 | DielectricLayer Substrate \ 21 | -thickness 62 \ 22 | -lossTangent 0.025 \ 23 | -permittivity 4.8 \ 24 | -permeability 1.0 \ 25 | -yOffset 0.0 \ 26 | -xOffset 0.0 27 | RectangleConductors Trace1 \ 28 | -width 50 \ 29 | -pitch 1.0 \ 30 | -conductivity 5.0e7S/m \ 31 | -height 1.4 \ 32 | -number 1 \ 33 | -yOffset 0.0 \ 34 | -xOffset 0.0 35 | RectangleConductors Trace2 \ 36 | -width 50 \ 37 | -pitch 1.0 \ 38 | -conductivity 5.0e7S/m \ 39 | -height 1.4 \ 40 | -number 1 \ 41 | -yOffset 0.0 \ 42 | -xOffset 60 43 | -------------------------------------------------------------------------------- /benchmarks/mmtl/microstrip.xsctn.in: -------------------------------------------------------------------------------- 1 | #---------------------------------- 2 | # File: microstrip.xsctn.in 3 | # Mon Sep 27 01:57:50 UTC 2004 4 | #---------------------------------- 5 | 6 | package require csdl 7 | 8 | set _title "Microstrip Testbench" 9 | set ::Stackup::couplingLength "0.0254" 10 | set ::Stackup::riseTime "10" 11 | set ::Stackup::frequency "1e9" 12 | set ::Stackup::defaultLengthUnits "mils" 13 | set CSEG @CSEG@ 14 | set DSEG @DSEG@ 15 | 16 | GroundPlane GrouPlan1 \ 17 | -thickness 1.4 \ 18 | -yOffset 0.0 \ 19 | -xOffset 0.0 20 | DielectricLayer Substrate \ 21 | -thickness @H@ \ 22 | -lossTangent @TAND@ \ 23 | -permittivity @ER@ \ 24 | -permeability 1.0 \ 25 | -yOffset 0.0 \ 26 | -xOffset 0.0 27 | RectangleConductors Trace1 \ 28 | -width @W@ \ 29 | -pitch 1.0 \ 30 | -conductivity @SIGMA@S/m \ 31 | -height @TMET@ \ 32 | -number 1 \ 33 | -yOffset 0.0 \ 34 | -xOffset 0.0 35 | -------------------------------------------------------------------------------- /benchmarks/mmtl/sweep_microstrip.sh.in: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # 4 | 5 | BEM=bem 6 | 7 | nseg=1 8 | w=12 9 | er=4.8 10 | h=62 11 | tand=0.001 12 | tmet=1.4 13 | wmin=10 14 | wstep=2 15 | wmax=20 16 | sigma=5e7 17 | 18 | nc=250 19 | nd=250 20 | 21 | #w=$wmin 22 | 23 | outf=sweep_microstrip.out 24 | rm -f $outf 25 | #while test $w -le $wmax ; do 26 | while test $nseg -le 100 ; do 27 | echo "---> nseg = $nseg" 28 | nc=$nseg 29 | nd=$nseg 30 | sed \ 31 | -e "s;@W@;$w;g" \ 32 | -e "s;@H@;$h;g" \ 33 | -e "s;@ER@;$er;g" \ 34 | -e "s;@TAND@;$tand;g" \ 35 | -e "s;@SIGMA@;$sigma;g" \ 36 | -e "s;@TMET@;$tmet;g" \ 37 | -e "s;@CSEG@;$nseg;g" \ 38 | -e "s;@DSEG@;$nseg;g" \ 39 | microstrip.xsctn.in > microstrip.xsctn 40 | $BEM microstrip $nc $nd >/dev/null 41 | z0=` awk 'p==1 { print $5; p=2} /Characteristic Impedance/ {p=1}' microstrip.result` 42 | keff=`awk 'p==1 { print (2.99792458e8/$5)^2; p=2} /Propagation Velocity/ {p=1}' microstrip.result` 43 | echo "$w $z0 $keff" >> $outf 44 | #w=`expr $w + $wstep` 45 | nseg=`expr $nseg + 2` 46 | done 47 | 48 | 49 | -------------------------------------------------------------------------------- /cgi-wcalc/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | *.o 3 | *.cgi 4 | *_html.c 5 | *_id.h 6 | Makefile.in 7 | Makefile 8 | .deps 9 | .libs 10 | -------------------------------------------------------------------------------- /cgi-wcalc/TODO: -------------------------------------------------------------------------------- 1 | 2 | TODO 3 | 4 | 5 | -------------------------------------------------------------- 6 | need to fix the build system to extract the sizes of the PNG files and insert them in 7 | the HTML files somehow so I don't have to always remember to do it by hand. 8 | -------------------------------------------------------------- 9 | 10 | 11 | -------------------------------------------------------------------------------- /cgi-wcalc/alert.c: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * Copyright (C) 2001, 2002 Dan McMahill 4 | * All rights reserved. 5 | * 6 | * 7 | * This program is free software; you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation; version 2 of the License. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | * 20 | */ 21 | 22 | #include "config.h" 23 | 24 | #include 25 | #include 26 | #include 27 | #ifdef HAVE_STRING_H 28 | #include 29 | #endif 30 | 31 | #include "alert.h" 32 | #include "cgic.h" 33 | 34 | #ifdef DMALLOC 35 | #include 36 | #endif 37 | 38 | void alert(const char *fmt,...) 39 | { 40 | va_list ap; 41 | 42 | 43 | /* extract the warning string */ 44 | va_start(ap,fmt); 45 | vfprintf(cgiOut,fmt,ap); 46 | va_end(ap); 47 | } 48 | 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /cgi-wcalc/capture.c: -------------------------------------------------------------------------------- 1 | 2 | #include "cgic.h" 3 | 4 | #ifdef DMALLOC 5 | #include 6 | #endif 7 | 8 | int cgiMain() { 9 | cgiWriteEnvironment("/tmp/capcgi.dat"); 10 | cgiHeaderContentType("text/html"); 11 | fprintf(cgiOut, "Captured\n"); 12 | fprintf(cgiOut, "

Captured

\n"); 13 | fprintf(cgiOut, "Your form submission was captured for use in\n"); 14 | fprintf(cgiOut, "debugging CGI code.\n"); 15 | return 0; 16 | } 17 | 18 | -------------------------------------------------------------------------------- /cgi-wcalc/cgi-common.h: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * Copyright (C) 2002, 2005 Dan McMahill 4 | * All rights reserved. 5 | * 6 | * 7 | * This program is free software; you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation; version 2 of the License. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | * 20 | */ 21 | 22 | #ifndef __CGI_COMMON_H__ 23 | #define __CGI_COMMON_H__ 24 | 25 | void printFormError(const char *fmt,...); 26 | void inputErr(int *input_err); 27 | void fixInputMsg(void); 28 | void bugMsg(void); 29 | 30 | /* desired cookie age for all cgi programs here (seconds) */ 31 | #define COOKIE_AGE (60*60*24*180) 32 | 33 | /* XXX find a better way... */ 34 | /* max cookie length */ 35 | #define COOKIE_MAX 512 36 | 37 | #endif /* __CGI_COMMON_H__ */ 38 | 39 | -------------------------------------------------------------------------------- /cgi-wcalc/header.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmcmahill/wcalc/dfee9e48ad8f43668d646d202b3cef41d263a287/cgi-wcalc/header.html -------------------------------------------------------------------------------- /cgi-wcalc/run_weblint: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | for cgi in *.cgi ; do 4 | echo "************ ${cgi} **********" 5 | ./${cgi} | weblint -x Netscape | \ 6 | sed -e '/attribute .DISABLED. for is extended markup/d' \ 7 | -e '/unknown attribute \"\/\" for element <[iI][mM][gG]>/d' 8 | done 9 | 10 | -------------------------------------------------------------------------------- /ci-scripts/install-pstoedit.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | cat < 26 | 27 | void about_popup(void); 28 | void copyright_popup(void); 29 | 30 | /* XXX should move this to a seperate help .c file */ 31 | void asciitab_popup(GtkWidget * (*table_fn)(void), const char *title); 32 | 33 | void AWG_popup(void); 34 | void permeability_popup(void); 35 | void permitivity_popup(void); 36 | void resistivity_popup(void); 37 | void units_popup(void); 38 | 39 | #endif /*__ABOUT_H__*/ 40 | -------------------------------------------------------------------------------- /gtk-wcalc/air_coil.wc: -------------------------------------------------------------------------------- 1 | # 2 | # File: /export/disk1/dan/wcalc/gtk-wcalc/air_coil.wc 3 | # Modified: Tue Jul 27 21:42:35 2004 4 | # Wcalc Version 0.5 5 | 6 | [wcalc] 7 | wcalc_file_version = 0.1 8 | model_name = air_coil 9 | 10 | 11 | [air_coil] 12 | 13 | # Air coil file version 14 | file_version = 0.1 15 | 16 | # Number of turns 17 | Nf = 7 18 | 19 | # Length of coil (meters) 20 | len = 0.00715998463415004 21 | 22 | # Ratio of coil length to close wound length 23 | fill = 1.5 24 | 25 | # Wire size (AWG) 26 | AWGf = 22 27 | 28 | # Wire resistivity (ohms/meter) 29 | rho = 3e-08 30 | 31 | # Inside diameter of coil (meters) 32 | dia = 0.00635 33 | 34 | # Desired Inductance (H) 35 | L = 2.30007185750448e-07 36 | 37 | # Frequency of operation (Hz) 38 | freq = 100000000 39 | 40 | # Use fill to calculate length? 41 | use_fill = 1 42 | 43 | # Desired user units and associated scale factors 44 | 45 | # Length units 46 | units_len = 6 47 | # [inch] 48 | 49 | # Diameter units 50 | units_dia = 6 51 | # [inch] 52 | 53 | # Inductance units 54 | units_L = 1 55 | # [nH] 56 | 57 | # Self resonant frequency units 58 | units_SRF = 4 59 | # [GHz] 60 | 61 | # Resistivity units 62 | units_rho = 2-4 63 | # [Ohm-m] 64 | 65 | # Frequency units 66 | units_freq = 3 67 | # [MHz] 68 | 69 | -------------------------------------------------------------------------------- /gtk-wcalc/bars.wc: -------------------------------------------------------------------------------- 1 | # 2 | # File: /home/dan/src/wcalc/gtk-wcalc/bars.wc 3 | # Modified: Sun Jan 11 10:55:38 2009 4 | # Wcalc Version 1.0A 5 | 6 | [wcalc] 7 | wcalc_file_version = 0.1 8 | model_name = bars 9 | 10 | 11 | [bars] 12 | 13 | # Bars file version 14 | file_version = 0.1 15 | 16 | # Bar #1 width (x-dimension, meters) 17 | a = 10.0e-06 18 | 19 | # Bar #1 height (y-dimension, meters) 20 | b = 1.0e-6 21 | 22 | # Bar #1 length (z-dimension, meters) 23 | l1 = 0.001 24 | 25 | # Bar #2 width (x-dimension, meters) 26 | c = 10.0e-6 27 | 28 | # Bar #2 height (y-dimension, meters) 29 | d = 1.0e-6 30 | 31 | # Bar #2 length (z-dimension, meters) 32 | l2 = 0.001 33 | 34 | # Bar #2 x offset (meters) 35 | E = 12e-6 36 | 37 | # Bar #2 y offset (meters) 38 | P = 0 39 | 40 | # Bar #2 z offset (meters) 41 | l3 = 0 42 | 43 | # Bar #1 self inductance (Henries) 44 | L1 = 1.1408555278201e-09 45 | 46 | # Bar #2 self inductance (Henries) 47 | L2 = 1.01231961137688e-09 48 | 49 | # Mutual inductance (Henries) 50 | M = 7.74563112075552e-10 51 | 52 | # Coupling coefficient 53 | k = 0.720746694857738 54 | 55 | # Frequency of operation (Hz) 56 | freq = 100000000 57 | 58 | # Desired user units and associated scale factors 59 | 60 | # Width/Height units 61 | units_xy = 1 62 | # [um] 63 | 64 | # Inductance units 65 | units_L = 1 66 | # [nH] 67 | 68 | # Frequency units 69 | units_freq = 3 70 | # [MHz] 71 | 72 | -------------------------------------------------------------------------------- /gtk-wcalc/files.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 1999, 2000, 2001, 2002, 2021 Dan McMahill 3 | * All rights reserved. 4 | * 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; version 2 of the License. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 18 | * 19 | */ 20 | 21 | #ifndef __FILES_H__ 22 | #define __FILES_H__ 23 | 24 | void wcalc_save_as(GtkAction *action, gpointer data); 25 | void wcalc_save(GtkAction *action, gpointer data); 26 | void wcalc_open(void); 27 | 28 | #endif /*__FILES_H__*/ 29 | -------------------------------------------------------------------------------- /gtk-wcalc/menus.h: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * Copyright (C) 1999, 2000, 2001, 2002 Dan McMahill 4 | * All rights reserved. 5 | * 6 | * 7 | * This program is free software; you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation; version 2 of the License. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | * 20 | */ 21 | 22 | #ifndef __MENUS_H__ 23 | #define __MENUS_H__ 24 | 25 | #include "wcalc.h" 26 | 27 | void get_main_menu( Wcalc *wcalc, 28 | GtkWidget *window, 29 | GtkWidget **menubar ); 30 | 31 | #endif /*__MENUS_H__*/ 32 | -------------------------------------------------------------------------------- /gtk-wcalc/parallel_rc.wc: -------------------------------------------------------------------------------- 1 | # 2 | # File: parallel_rc.wc 3 | # Modified: Tue Feb 10 19:51:05 2009 4 | # Wcalc Version 1.0A 5 | 6 | [wcalc] 7 | wcalc_file_version = 0.1 8 | model_name = parallel_rc 9 | 10 | 11 | [parallel_rc] 12 | 13 | # Parallel_Rc file version 14 | file_version = 0.1 15 | 16 | # Series capacitance (Farads) 17 | Cs = 8.25474557615585e-11 18 | 19 | # Series resistance (Ohms) 20 | Rs = 40.914317187844 21 | 22 | # Series quality factor 23 | Qs = 0.471238898038469 24 | 25 | # Parallel capacitance (Farads) 26 | Cp = 1.5e-11 27 | 28 | # Parallel resistance (Ohms) 29 | Rp = 50 30 | 31 | # Parallel quality factor 32 | Qp = 0.471238898038469 33 | 34 | # Convert from series to parallel? 35 | series_to_parallel = 0 36 | 37 | # Use Q to calculate resistance? 38 | use_Q = 0 39 | 40 | # Frequency of operation (Hz) 41 | freq = 100000000 42 | 43 | # Desired user units and associated scale factors 44 | 45 | # Capacitance units 46 | units_C = 1 47 | # [pF] 48 | 49 | # Series resistance units 50 | units_Rs = 2 51 | # [Ohm] 52 | 53 | # Parallel resistance units 54 | units_Rp = 2 55 | # [Ohm] 56 | 57 | # Frequency units 58 | units_freq = 3 59 | # [MHz] 60 | 61 | -------------------------------------------------------------------------------- /gtk-wcalc/parallel_rl.wc: -------------------------------------------------------------------------------- 1 | # 2 | # File: parallel_rl.wc 3 | # Modified: Wed Feb 11 13:26:26 2009 4 | # Wcalc Version 1.0A 5 | 6 | [wcalc] 7 | wcalc_file_version = 0.1 8 | model_name = parallel_rl 9 | 10 | 11 | [parallel_rl] 12 | 13 | # Parallel_Rl file version 14 | file_version = 0.1 15 | 16 | # Series inductance (Henries) 17 | Ls = 3.3e-08 18 | 19 | # Series resistance (Ohms) 20 | Rs = 50 21 | 22 | # Series quality factor 23 | Qs = 0.414690230273853 24 | 25 | # Parallel inductance (Henries) 26 | Lp = 2.24896181140791e-07 27 | 28 | # Parallel resistance (Ohms) 29 | Rp = 58.598399354229 30 | 31 | # Parallel quality factor 32 | Qp = 0.414690230273853 33 | 34 | # Convert from series to parallel? 35 | series_to_parallel = 1 36 | 37 | # Use Q to calculate resistance? 38 | use_Q = 0 39 | 40 | # Frequency of operation (Hz) 41 | freq = 100000000 42 | 43 | # Desired user units and associated scale factors 44 | 45 | # Inductance units 46 | units_L = 1 47 | # [nH] 48 | 49 | # Series resistance units 50 | units_Rs = 2 51 | # [Ohm] 52 | 53 | # Parallel resistance units 54 | units_Rp = 2 55 | # [Ohm] 56 | 57 | # Frequency units 58 | units_freq = 3 59 | # [MHz] 60 | 61 | -------------------------------------------------------------------------------- /gtk-wcalc/permeability.asciitab: -------------------------------------------------------------------------------- 1 | Material| |Relative Permeability 2 | 3 | Ferrite|3B7|2300 +/- 20% 4 | |3C3|2200 +/- 20% 5 | |3D3|750 +/- 20% 6 | |4C4|125 +/- 20% 7 | 8 | -------------------------------------------------------------------------------- /gtk-wcalc/permitivity.asciitab: -------------------------------------------------------------------------------- 1 | Material||Relative Permitivitty|Loss Tangent 2 | 3 | Alumina|99.5% Pure|9.8|0.0001 4 | FR4|Fiberglass|4.2-4.9|0.01-0.016 5 | GaAs||12.9|0.002 6 | GML-1000|0.030 inch laminate|3.2 +/- 0.05|.002-.005 7 | GML-1000|0.060 inch laminate|3.05 +/- 0.05|.002-.005 8 | PTFE||2.1|0.0003 9 | Quartz||3.78|0.0001 10 | RO4350B||3.48 +/- 0.05|.0031-.0037 11 | RT/duroid 5870||2.33 +/- 0.02|0.0005 - 0.0012 12 | RT/duroid 5880||2.20 +/- 0.02|0.0004 - 0.0009 13 | Silicon|Si|11.8| 14 | Silicon Dioxide|SiO2|4.5| 15 | Silicon Nitride|Si3N4|7.5| 16 | -------------------------------------------------------------------------------- /gtk-wcalc/resistivity.asciitab: -------------------------------------------------------------------------------- 1 | Material| |Resistivity (Ohm-meter)|Temperature (C)|T.C. 2 | 3 | Aluminum|Al|2.62e-8|20|0.0039 4 | Bismuth|Bi|115e-8|20|0.004 5 | Brass|66 Cu 34 Zn|3.9e-8|20|0.002 6 | Copper|Cu|1.72e-8|20|0.0039 7 | Gold|Au|2.44e-8|20|0.0034 8 | Iron|Fe|9.71e-8|20|0.0052-0.0062 9 | Lead|Pb|21.9e-8|20|0.004 10 | Mercury|Hg|95.8e-8|20|0.00089 11 | Nichrome|65 Ni, 12 Cr, 23 Fe)|100e-8|20|0.00017 12 | Nickel|Ni|6.9e-8|20|0.0047 13 | Platinum|Pt|10.5e-8|20|0.003 14 | Silver|Ag|1.62e-8|20|0.0038 15 | Steel|0.4-0.5 C, balance Fe|13-22e-8|20|0.003 16 | Steel,manganese|13 Mn, 1C, 86 Fe|70e-8|20|0.001 17 | Steel,stainless|0.1 C, 18 Cr, 8 Ni, balance Fe|90e-8|20| 18 | Tungsten|W|5.48e-8|20|0.0045 19 | Zinc||6.0e-8|20|0.0037 -------------------------------------------------------------------------------- /gtk-wcalc/start.h: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * Copyright (C) 2001, 2002 Dan McMahill 4 | * All rights reserved. 5 | * 6 | * 7 | * This program is free software; you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation; version 2 of the License. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | * 20 | */ 21 | 22 | #ifndef __START_H__ 23 | #define __START_H__ 24 | 25 | void start_popup(void); 26 | 27 | #endif /*__START_H__*/ 28 | -------------------------------------------------------------------------------- /gtk-wcalc/units.asciitab: -------------------------------------------------------------------------------- 1 | To Convert From|To|Multiply by|or Divide by 2 | 3 | mil|inches|0.001|1000 4 | mil|um|25.4|0.039370079 5 | mil|mm|0.0254|39.370079 6 | mil|cm|0.00254|393.70079 7 | -------------------------------------------------------------------------------- /gtk-wcalc/version.c: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * Copyright (C) 1999, 2000, 2001, 2002 Dan McMahill 4 | * All rights reserved. 5 | * 6 | * 7 | * This program is free software; you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation; version 2 of the License. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | * 20 | */ 21 | 22 | #ifdef DMALLOC 23 | #include 24 | #endif 25 | 26 | char version[] = "Wcalc, version " VER; 27 | -------------------------------------------------------------------------------- /gtk-wcalc/wcalc.rc: -------------------------------------------------------------------------------- 1 | 1 ICON "wcalc_icon.ico" 2 | -------------------------------------------------------------------------------- /htdocs/AWG.shtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 7 | 8 | 9 | Wire Size Table 10 | 11 | 12 | 18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | Standard Wire Sizes 27 | 28 |
29 |
30 | 31 | 32 | 33 |
34 | 35 |
36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 |

47 | 48 | 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /htdocs/disclaimer_properties.incl: -------------------------------------------------------------------------------- 1 |
2 |


3 |
4 | Disclaimer: While I have tried to ensure that 5 | the material property data contained here is accurate, 6 | I cannot guarantee its accuracy. In no event shall the 7 | provider of this information be held liable in the event 8 | of a mistake in the reported values. 9 |
10 |
11 | 12 | -------------------------------------------------------------------------------- /htdocs/favicon.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * favicon_xpm[] = { 3 | "16 16 4 1", 4 | " c white", 5 | ". c blue", 6 | "X c black", 7 | "o c red", 8 | " ", 9 | " ", 10 | " ", 11 | " ", 12 | " .... .... ", 13 | " . . . . ", 14 | ". .. .. .. .", 15 | " . . .. . . ", 16 | " . XXXXXX . ", 17 | " . XXXXXX . ", 18 | "oooooooooooooooo", 19 | "oooooooooooooooo", 20 | "oooooooooooooooo", 21 | "oooooooooooooooo", 22 | "XXXXXXXXXXXXXXXX", 23 | "XXXXXXXXXXXXXXXX"}; 24 | -------------------------------------------------------------------------------- /htdocs/main_footer.incl: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 | 7 | 8 | 13 | 14 | 15 | 16 | 17 | 25 | 26 | 27 | 28 | 29 | 34 | 35 | 36 |
  9 | 10 | SourceForge.net Logo 12 |   18 |
19 | 20 | Copyright © 2001, 2002, 2004, 2005, 2006, 2020, 2021 21 | Dan McMahill ALL RIGHTS RESERVED. 22 | 23 |
24 |
  30 | 31 | Support This Project 33 |
37 |
38 | -------------------------------------------------------------------------------- /htdocs/mex-man/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | ## 3 | ## Copyright (C) 2001, 2002, 2005 Dan McMahill 4 | ## All rights reserved. 5 | ## 6 | ## 7 | ## This program is free software; you can redistribute it and/or modify 8 | ## it under the terms of the GNU General Public License as published by 9 | ## the Free Software Foundation; version 2 of the License. 10 | ## 11 | ## This program is distributed in the hope that it will be useful, 12 | ## but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | ## GNU General Public License for more details. 15 | ## 16 | ## You should have received a copy of the GNU General Public License 17 | ## along with this program; if not, write to the Free Software 18 | ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | ## 20 | 21 | 22 | TARGETPROGRAM= matlab 23 | MPATH= mex-man 24 | include $(top_srcdir)/htdocs/common-man.mk 25 | include $(top_srcdir)/sci-wcalc/sciman.mk 26 | include $(top_srcdir)/htdocs/shtml.mk 27 | 28 | -------------------------------------------------------------------------------- /htdocs/mex-man/man_end.incl: -------------------------------------------------------------------------------- 1 | 2 |

Return to the MEX-Wcalc page.

3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |

14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /htdocs/mex-man/man_start.incl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 7 | 8 | 9 | Mex-Wcalc: @fname@ 10 | 11 | 12 | 23 | 24 | 25 | 26 | 27 | 28 | 29 |

30 | 31 | Mex-Wcalc: @fname@ 32 | 33 |
34 |
35 |
36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /htdocs/octave-man/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | ## 3 | ## Copyright (C) 2002, 2004, 2005 Dan McMahill 4 | ## All rights reserved. 5 | ## 6 | ## 7 | ## This program is free software; you can redistribute it and/or modify 8 | ## it under the terms of the GNU General Public License as published by 9 | ## the Free Software Foundation; version 2 of the License. 10 | ## 11 | ## This program is distributed in the hope that it will be useful, 12 | ## but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | ## GNU General Public License for more details. 15 | ## 16 | ## You should have received a copy of the GNU General Public License 17 | ## along with this program; if not, write to the Free Software 18 | ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | ## 20 | 21 | 22 | TARGETPROGRAM= octave 23 | MPATH= octave-man 24 | include $(top_srcdir)/htdocs/common-man.mk 25 | include $(top_srcdir)/sci-wcalc/sciman.mk 26 | include $(top_srcdir)/htdocs/shtml.mk 27 | 28 | -------------------------------------------------------------------------------- /htdocs/octave-man/man_end.incl: -------------------------------------------------------------------------------- 1 | 2 |

Return to the Octave-Wcalc page.

3 |
4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |

14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /htdocs/octave-man/man_start.incl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 7 | 8 | 9 | Octave-Wcalc: @fname@ 10 | 11 | 12 | 23 | 24 | 25 | 26 | 27 | 28 | 29 |

30 | 31 | Octave-Wcalc: @fname@ 32 | 33 |
34 |
35 |
36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /htdocs/page_start.incl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 38 | 39 | 40 | 41 | 42 | 43 | 44 |
8 | 9 | -------------------------------------------------------------------------------- /htdocs/permeability.shtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 7 | 8 | 9 | Permeabilities of Common Materials 10 | 11 | 12 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | Permeabilities of Common Materials 26 | 27 |
28 |
29 | 30 | 31 | 32 |
33 | 34 |
35 | 36 | 37 |
45 |

46 | 47 | 48 | 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /htdocs/permitivity.shtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 7 | 8 | 9 | Permitivities of Common Materials 10 | 11 | 12 | 19 | 20 | 21 | 22 | 23 | 24 | 25 |

26 | 27 | Permitivities of Common Materials 28 | 29 |
30 |
31 | 32 | 33 | 34 |
35 | 36 |
37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 |

48 | 49 | 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /htdocs/resistivity.shtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 7 | 8 | 9 | Resistivities of Common Materials 10 | 11 | 12 | 16 | 17 | 18 | 19 | 20 | 21 | 22 |

23 | 24 | Resistivities of Common Materials 25 | 26 |
27 |
28 | 29 | 30 | 31 |
32 | 33 |
34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 |

45 | 46 | 47 | 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /htdocs/sci-man/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | ## 3 | ## Copyright (C) 2001, 2002, 2005 Dan McMahill 4 | ## All rights reserved. 5 | ## 6 | ## 7 | ## This program is free software; you can redistribute it and/or modify 8 | ## it under the terms of the GNU General Public License as published by 9 | ## the Free Software Foundation; version 2 of the License. 10 | ## 11 | ## This program is distributed in the hope that it will be useful, 12 | ## but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | ## GNU General Public License for more details. 15 | ## 16 | ## You should have received a copy of the GNU General Public License 17 | ## along with this program; if not, write to the Free Software 18 | ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | ## 20 | 21 | 22 | 23 | TARGETPROGRAM= scilab 24 | MPATH= sci-man 25 | include $(top_srcdir)/htdocs/common-man.mk 26 | include $(top_srcdir)/sci-wcalc/sciman.mk 27 | include $(top_srcdir)/htdocs/shtml.mk 28 | 29 | -------------------------------------------------------------------------------- /htdocs/sci-man/man_end.incl: -------------------------------------------------------------------------------- 1 | 2 |

Return to the Sci-Wcalc page.

3 |
4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |

14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /htdocs/sci-man/man_start.incl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 7 | 8 | 9 | Sci-Wcalc: @fname@ 10 | 11 | 12 | 23 | 24 | 25 | 26 | 27 | 28 | 29 |

30 | 31 | Sci-Wcalc: @fname@ 32 | 33 |
34 |
35 |
36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /htdocs/screen1-thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmcmahill/wcalc/dfee9e48ad8f43668d646d202b3cef41d263a287/htdocs/screen1-thumb.png -------------------------------------------------------------------------------- /htdocs/screen1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmcmahill/wcalc/dfee9e48ad8f43668d646d202b3cef41d263a287/htdocs/screen1.png -------------------------------------------------------------------------------- /htdocs/screen2-thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmcmahill/wcalc/dfee9e48ad8f43668d646d202b3cef41d263a287/htdocs/screen2-thumb.png -------------------------------------------------------------------------------- /htdocs/screen2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmcmahill/wcalc/dfee9e48ad8f43668d646d202b3cef41d263a287/htdocs/screen2.png -------------------------------------------------------------------------------- /htdocs/stdio-man/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | ## 3 | ## Copyright (C) 2002, 2004, 2005 Dan McMahill 4 | ## All rights reserved. 5 | ## 6 | ## 7 | ## This program is free software; you can redistribute it and/or modify 8 | ## it under the terms of the GNU General Public License as published by 9 | ## the Free Software Foundation; version 2 of the License. 10 | ## 11 | ## This program is distributed in the hope that it will be useful, 12 | ## but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | ## GNU General Public License for more details. 15 | ## 16 | ## You should have received a copy of the GNU General Public License 17 | ## along with this program; if not, write to the Free Software 18 | ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | ## 20 | 21 | 22 | TARGETPROGRAM= stdio 23 | MPATH= stdio-man 24 | include $(top_srcdir)/htdocs/common-man.mk 25 | include $(top_srcdir)/sci-wcalc/sciman.mk 26 | include $(top_srcdir)/htdocs/shtml.mk 27 | 28 | -------------------------------------------------------------------------------- /htdocs/stdio-man/man_end.incl: -------------------------------------------------------------------------------- 1 | 2 |

Return to the Stdio-Wcalc page.

3 |
4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |

14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /htdocs/stdio-man/man_start.incl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 7 | 8 | 9 | Stdio-Wcalc: @fname@ 10 | 11 | 12 | 23 | 24 | 25 | 26 | 27 | 28 | 29 |

30 | 31 | Stdio-Wcalc: @fname@ 32 | 33 |
34 |
35 |
36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /htdocs/units.shtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 7 | 8 | 9 | Unit Conversion Factors 10 | 11 | 12 | 19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | Unit Conversion Factors 28 | 29 |
30 |
31 | 32 | 33 | 34 |
35 | 36 |
37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 |

48 | 49 | 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /htdocs/upload: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # 4 | 5 | rsync -e ssh -vax --exclude 'CVS/' --include '*/' --include '*.html' --include '*.png' --exclude '*' . mcmahill@bitter.mit.edu:public_html/wcalc 6 | -------------------------------------------------------------------------------- /include/.gitignore: -------------------------------------------------------------------------------- 1 | Makefile 2 | Makefile.in 3 | *~ 4 | -------------------------------------------------------------------------------- /include/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | ## 3 | ## Copyright (C) 2001, 2002 Dan McMahill 4 | ## All rights reserved. 5 | ## 6 | ## 7 | ## This program is free software; you can redistribute it and/or modify 8 | ## it under the terms of the GNU General Public License as published by 9 | ## the Free Software Foundation; version 2 of the License. 10 | ## 11 | ## This program is distributed in the hope that it will be useful, 12 | ## but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | ## GNU General Public License for more details. 15 | ## 16 | ## You should have received a copy of the GNU General Public License 17 | ## along with this program; if not, write to the Free Software 18 | ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | ## 20 | 21 | EXTRA_DIST= alert.h 22 | -------------------------------------------------------------------------------- /include/alert.h: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * Copyright (C) 2001, 2002 Dan McMahill 4 | * All rights reserved. 5 | * 6 | * 7 | * This program is free software; you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation; version 2 of the License. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | * 20 | */ 21 | 22 | #ifndef __ALERT_H__ 23 | #define __ALERT_H__ 24 | 25 | void alert(const char *fmt,...); 26 | 27 | #endif /*__ALERT_H__*/ 28 | -------------------------------------------------------------------------------- /libwcalc/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | Makefile.in 3 | Makefile 4 | *.o 5 | *.lo 6 | .deps 7 | .libs 8 | libwcalc.la 9 | wcalc-config 10 | *_test 11 | *.core 12 | make_defaults 13 | wcalc.pc 14 | -------------------------------------------------------------------------------- /libwcalc/NOTES.txt: -------------------------------------------------------------------------------- 1 | 2 | Notes about various papers and modeling ideas. 3 | 4 | 5 | Coplanar Waveguide 6 | ------------------ 7 | 9. G. Ghione, C. Naldi, "Parameters of Coplanar Waveguide with Lower Ground Plane," 8 | Electronics Letters, Vol.19, No.18 , pp.734-735, Sept. 1, 1983. 9 | 10 | Spiral Inductors 11 | ---------------- 12 | 13 | Snezana Jenei, Bark J. J. C. Nauwelaers, and Stefaan Decoutere, 14 | "Physics-Based Closed-Form Inductance Expression for Compact Modeling 15 | of Integrated Spiral Inductors", JSSC, Vol 37, No 1, Jan 2002, pp 77-80 16 | 17 | 18 | ###################################################################### 19 | # Local Variables: 20 | # mode: Text 21 | # fill-column: 75 22 | # End: 23 | -------------------------------------------------------------------------------- /libwcalc/air_coil_loadsave.h: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * Copyright (C) 2001, 2002 Dan McMahill 4 | * All rights reserved. 5 | * 6 | * 7 | * This program is free software; you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation; version 2 of the License. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | * 20 | */ 21 | 22 | #ifndef __AIR_COIL_LOADSAVE_H__ 23 | #define __AIR_COIL_LOADSAVE_H__ 24 | 25 | /* writes the data from 'coil' to fp */ 26 | void air_coil_save(air_coil_coil *coil, FILE *fp, char *fname); 27 | 28 | /* 29 | * returns 0 on success 30 | */ 31 | int air_coil_load(air_coil_coil *coil, FILE *fp); 32 | 33 | int air_coil_load_string(air_coil_coil *coil, const char *str); 34 | char * air_coil_save_string(air_coil_coil *coil); 35 | 36 | #endif /*__AIR_COIL_LOADSAVE_H__*/ 37 | -------------------------------------------------------------------------------- /libwcalc/alert.c: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * Copyright (C) 2001, 2002 Dan McMahill 4 | * All rights reserved. 5 | * 6 | * 7 | * This program is free software; you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation; version 2 of the License. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | * 20 | */ 21 | 22 | #include "config.h" 23 | 24 | #include 25 | #include 26 | #include 27 | #ifdef HAVE_STRING_H 28 | #include 29 | #endif 30 | 31 | #include "alert.h" 32 | 33 | #ifdef DMALLOC 34 | #include 35 | #endif 36 | 37 | void alert(const char *fmt,...) 38 | { 39 | va_list ap; 40 | 41 | 42 | /* extract the warning string */ 43 | va_start(ap,fmt); 44 | vfprintf(stdout,fmt,ap); 45 | va_end(ap); 46 | } 47 | 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /libwcalc/bars_loadsave.h: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * Copyright (C) 2008 Dan McMahill 4 | * All rights reserved. 5 | * 6 | * 7 | * This program is free software; you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation; version 2 of the License. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | * 20 | */ 21 | 22 | #ifndef __BARS_LOADSAVE_H__ 23 | #define __BARS_LOADSAVE_H__ 24 | 25 | /* writes the data from 'b' to fp */ 26 | void bars_save(bars *b, FILE *fp, char *fname); 27 | 28 | /* 29 | * returns 0 on success 30 | */ 31 | int bars_load(bars *bb, FILE *fp); 32 | 33 | int bars_load_string(bars *b, const char *str); 34 | char * bars_save_string(bars *b); 35 | 36 | #endif /*__BARS_LOADSAVE_H__*/ 37 | -------------------------------------------------------------------------------- /libwcalc/coax_loadsave.h: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * Copyright (C) 2001, 2002 Dan McMahill 4 | * All rights reserved. 5 | * 6 | * 7 | * This program is free software; you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation; version 2 of the License. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | * 20 | */ 21 | 22 | #ifndef __COAX_LOADSAVE_H__ 23 | #define __COAX_LOADSAVE_H__ 24 | 25 | /* writes the data from 'line' to fp */ 26 | void coax_save(coax_line *line, FILE *fp, char *fname); 27 | 28 | /* 29 | * returns 0 on success 30 | */ 31 | int coax_load(coax_line *line, FILE *fp); 32 | 33 | int coax_load_string(coax_line *line, const char *str); 34 | char * coax_save_string(coax_line *line); 35 | 36 | #endif /*__COAX_LOADSAVE_H__*/ 37 | -------------------------------------------------------------------------------- /libwcalc/coplanar_loadsave.h: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * Copyright (C) 2006 Dan McMahill 4 | * All rights reserved. 5 | * 6 | * 7 | * This program is free software; you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation; version 2 of the License. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | * 20 | */ 21 | 22 | #ifndef __COPLANAR_LOADSAVE_H__ 23 | #define __COPLANAR_LOADSAVE_H__ 24 | 25 | void coplanar_save(coplanar_line *line, FILE *fp, char *fname); 26 | int coplanar_load(coplanar_line *line, FILE *fp); 27 | 28 | int coplanar_load_string(coplanar_line *line, const char *str); 29 | char * coplanar_save_string(coplanar_line *line); 30 | 31 | #endif /*__COPLANAR_LOADSAVE_H__*/ 32 | -------------------------------------------------------------------------------- /libwcalc/coupled_microstrip_loadsave.h: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * Copyright (C) 2001, 2002 Dan McMahill 4 | * All rights reserved. 5 | * 6 | * 7 | * This program is free software; you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation; version 2 of the License. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | * 20 | */ 21 | 22 | #ifndef __COUPLED_MICROSTRIP_LOADSAVE_H__ 23 | #define __COUPLED_MICROSTRIP_LOADSAVE_H__ 24 | 25 | void coupled_microstrip_save(coupled_microstrip_line *line, FILE *fp, 26 | char *fname); 27 | int coupled_microstrip_load(coupled_microstrip_line *line, FILE *fp); 28 | 29 | int coupled_microstrip_load_string(coupled_microstrip_line *line, 30 | const char *str); 31 | char * coupled_microstrip_save_string(coupled_microstrip_line *line); 32 | 33 | #endif /*__COUPLED_MICROSTRIP_LOADSAVE_H__*/ 34 | -------------------------------------------------------------------------------- /libwcalc/coupled_stripline_loadsave.h: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * Copyright (C) 2001, 2002, 2006 Dan McMahill 4 | * All rights reserved. 5 | * 6 | * 7 | * This program is free software; you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation; version 2 of the License. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | * 20 | */ 21 | 22 | #ifndef __COUPLED_STRIPLINE_LOADSAVE_H__ 23 | #define __COUPLED_STRIPLINE_LOADSAVE_H__ 24 | 25 | void coupled_stripline_save(coupled_stripline_line *line, FILE *fp, 26 | char *fname); 27 | int coupled_stripline_load(coupled_stripline_line *line, FILE *fp); 28 | 29 | int coupled_stripline_load_string(coupled_stripline_line *line, 30 | const char *str); 31 | char * coupled_stripline_save_string(coupled_stripline_line *line); 32 | 33 | #endif /*__COUPLED_STRIPLINE_LOADSAVE_H__*/ 34 | -------------------------------------------------------------------------------- /libwcalc/defaults.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2004, 2006, 2020 Dan McMahill 3 | * All rights reserved. 4 | * 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; version 2 of the License. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 18 | * 19 | */ 20 | 21 | #ifndef __DEFAULTS_H__ 22 | #define __DEFAULTS_H__ 23 | 24 | extern const char *default_air_coil; 25 | extern const char *default_bars; 26 | extern const char *default_coax; 27 | extern const char *default_coplanar; 28 | extern const char *default_coupled_microstrip; 29 | extern const char *default_coupled_stripline; 30 | extern const char *default_ic_microstrip; 31 | extern const char *default_microstrip; 32 | extern const char *default_parallel_rc; 33 | extern const char *default_parallel_rl; 34 | extern const char *default_rods; 35 | extern const char *default_stripline; 36 | 37 | #endif /* __DEFAULTS_H__ */ 38 | -------------------------------------------------------------------------------- /libwcalc/ic_microstrip_loadsave.h: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * Copyright (C) 2001, 2002, 2004 Dan McMahill 4 | * All rights reserved. 5 | * 6 | * 7 | * This program is free software; you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation; version 2 of the License. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | * 20 | */ 21 | 22 | #ifndef __IC_MICROSTRIP_LOADSAVE_H__ 23 | #define __IC_MICROSTRIP_LOADSAVE_H__ 24 | 25 | void ic_microstrip_save(ic_microstrip_line *line, FILE *fp, char *fname); 26 | int ic_microstrip_load(ic_microstrip_line *line, FILE *fp); 27 | 28 | int ic_microstrip_load_string(ic_microstrip_line *line, const char *str); 29 | char * ic_microstrip_save_string(ic_microstrip_line *line); 30 | 31 | #endif /*__IC_MICROSTRIP_LOADSAVE_H__*/ 32 | -------------------------------------------------------------------------------- /libwcalc/messages.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 Dan McMahill 3 | * All rights reserved. 4 | * 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; version 2 of the License. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 18 | * 19 | */ 20 | 21 | /* 22 | * This contains some convenience routines for some common alert messages. 23 | */ 24 | 25 | #include "alert.h" 26 | #include "config.h" 27 | #include "messages.h" 28 | 29 | #define WC_BUG_MSG "If the input values seem reasonable then please submit a report at " WCALC_BUG_URL "\n" 30 | 31 | void alert_bracket() 32 | { 33 | alert("Could not bracket the solution. Synthesis failed.\n" 34 | "This is typically caused by requesting a value that is not possible.\n" 35 | WC_BUG_MSG); 36 | } 37 | 38 | void alert_bug() 39 | { 40 | alert( WC_BUG_MSG ); 41 | } 42 | 43 | -------------------------------------------------------------------------------- /libwcalc/messages.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2021 Dan McMahill 3 | * All rights reserved. 4 | * 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; version 2 of the License. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 18 | * 19 | */ 20 | 21 | #ifndef __MESSAGES_H__ 22 | #define __MESSAGES_H__ 23 | 24 | void alert_bracket(void); 25 | void alert_bug(void); 26 | 27 | #endif /*__MESSAGES_H__*/ 28 | -------------------------------------------------------------------------------- /libwcalc/microstrip_loadsave.h: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * Copyright (C) 2001, 2002 Dan McMahill 4 | * All rights reserved. 5 | * 6 | * 7 | * This program is free software; you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation; version 2 of the License. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | * 20 | */ 21 | 22 | #ifndef __MICROSTRIP_LOADSAVE_H__ 23 | #define __MICROSTRIP_LOADSAVE_H__ 24 | 25 | void microstrip_save(microstrip_line *line, FILE *fp, char *fname); 26 | int microstrip_load(microstrip_line *line, FILE *fp); 27 | 28 | int microstrip_load_string(microstrip_line *line, const char *str); 29 | char * microstrip_save_string(microstrip_line *line); 30 | 31 | #endif /*__MICROSTRIP_LOADSAVE_H__*/ 32 | -------------------------------------------------------------------------------- /libwcalc/misc.h: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * Copyright (C) 2001, 2002, 2004, 2007 Dan McMahill 4 | * All rights reserved. 5 | * 6 | * 7 | * This program is free software; you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation; version 2 of the License. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | * 20 | */ 21 | 22 | #ifndef __MISC_H__ 23 | #define __MISC_H__ 24 | 25 | double dia2awg(double dia); 26 | double awg2dia(double AWG); 27 | 28 | #ifndef __GNUC__ 29 | #define __FUNCTION1(a,b) a ":" #b 30 | #define __FUNCTION2(a,b) __FUNCTION1(a,b) 31 | #define __FUNCTION__ __FUNCTION2(__FILE__,__LINE__) 32 | #endif 33 | 34 | #endif /*__MISC_H__*/ 35 | -------------------------------------------------------------------------------- /libwcalc/parallel_rc_loadsave.h: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * Copyright (C) 2009 Dan McMahill 4 | * All rights reserved. 5 | * 6 | * 7 | * This program is free software; you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation; version 2 of the License. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | * 20 | */ 21 | 22 | #ifndef __PARALLEL_RC_LOADSAVE_H__ 23 | #define __PARALLEL_RC_LOADSAVE_H__ 24 | 25 | /* writes the data from 'b' to fp */ 26 | void parallel_rc_save(parallel_rc *b, FILE *fp, char *fname); 27 | 28 | /* 29 | * returns 0 on success 30 | */ 31 | int parallel_rc_load(parallel_rc *bb, FILE *fp); 32 | 33 | int parallel_rc_load_string(parallel_rc *b, const char *str); 34 | char * parallel_rc_save_string(parallel_rc *b); 35 | 36 | #endif /*__PARALLEL_RC_LOADSAVE_H__*/ 37 | -------------------------------------------------------------------------------- /libwcalc/parallel_rl_loadsave.h: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * Copyright (C) 2009 Dan McMahill 4 | * All rights reserved. 5 | * 6 | * 7 | * This program is free software; you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation; version 2 of the License. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | * 20 | */ 21 | 22 | #ifndef __PARALLEL_RL_LOADSAVE_H__ 23 | #define __PARALLEL_RL_LOADSAVE_H__ 24 | 25 | /* writes the data from 'b' to fp */ 26 | void parallel_rl_save(parallel_rl *b, FILE *fp, char *fname); 27 | 28 | /* 29 | * returns 0 on success 30 | */ 31 | int parallel_rl_load(parallel_rl *bb, FILE *fp); 32 | 33 | int parallel_rl_load_string(parallel_rl *b, const char *str); 34 | char * parallel_rl_save_string(parallel_rl *b); 35 | 36 | #endif /*__PARALLEL_RL_LOADSAVE_H__*/ 37 | -------------------------------------------------------------------------------- /libwcalc/rods_loadsave.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2020 Dan McMahill 3 | * All rights reserved. 4 | * 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; version 2 of the License. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 18 | * 19 | */ 20 | 21 | #ifndef __RODS_LOADSAVE_H__ 22 | #define __RODS_LOADSAVE_H__ 23 | 24 | /* writes the data from 'b' to fp */ 25 | void rods_save(rods *b, FILE *fp, char *fname); 26 | 27 | /* 28 | * returns 0 on success 29 | */ 30 | int rods_load(rods *bb, FILE *fp); 31 | 32 | int rods_load_string(rods *b, const char *str); 33 | char * rods_save_string(rods *b); 34 | 35 | #endif /*__RODS_LOADSAVE_H__*/ 36 | -------------------------------------------------------------------------------- /libwcalc/stripline_loadsave.h: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * Copyright (C) 2001, 2002, 2004 Dan McMahill 4 | * All rights reserved. 5 | * 6 | * 7 | * This program is free software; you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation; version 2 of the License. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | * 20 | */ 21 | 22 | #ifndef __STRIPLINE_LOADSAVE_H__ 23 | #define __STRIPLINE_LOADSAVE_H__ 24 | 25 | void stripline_save(stripline_line *line, FILE *fp, char *fname); 26 | int stripline_load(stripline_line *line, FILE *fp); 27 | 28 | int stripline_load_string(stripline_line *line, const char *str); 29 | char * stripline_save_string(stripline_line *line); 30 | 31 | #endif /*__STRIPLINE_LOADSAVE_H__*/ 32 | -------------------------------------------------------------------------------- /libwcalc/wcalc.pc.in: -------------------------------------------------------------------------------- 1 | # 2 | 3 | prefix=@prefix@ 4 | exec_prefix=@exec_prefix@ 5 | libdir=@libdir@ 6 | includedir=@includedir@ 7 | pkgincludedir=@includedir@/@PACKAGE@-@VERSION@ 8 | 9 | Name: libwcalc 10 | Description: Core library for Wcalc 11 | Requires: 12 | Version: @VERSION@ 13 | Libs: -L${libdir} -lwcalc -lm 14 | Cflags: -I${pkgincludedir} 15 | -------------------------------------------------------------------------------- /m4/.gitignore: -------------------------------------------------------------------------------- 1 | Makefile 2 | Makefile.in 3 | *~ 4 | 5 | # from libtoolize 6 | libtool.m4 7 | ltoptions.m4 8 | ltsugar.m4 9 | ltversion.m4 10 | lt~obsolete.m4 11 | 12 | -------------------------------------------------------------------------------- /m4/Makefile.am: -------------------------------------------------------------------------------- 1 | EXTRA_DIST = codeset.m4 gettext.m4 glibc21.m4 iconv.m4 intdiv0.m4 inttypes.m4 inttypes_h.m4 inttypes-pri.m4 isc-posix.m4 lcmessage.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 progtest.m4 stdint_h.m4 uintmax_t.m4 ulonglong.m4 2 | -------------------------------------------------------------------------------- /m4/codeset.m4: -------------------------------------------------------------------------------- 1 | # codeset.m4 serial 5 (gettext-0.18.2) 2 | dnl Copyright (C) 2000-2002, 2006, 2008-2014 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | dnl From Bruno Haible. 8 | 9 | AC_DEFUN([AM_LANGINFO_CODESET], 10 | [ 11 | AC_CACHE_CHECK([for nl_langinfo and CODESET], [am_cv_langinfo_codeset], 12 | [AC_LINK_IFELSE( 13 | [AC_LANG_PROGRAM( 14 | [[#include ]], 15 | [[char* cs = nl_langinfo(CODESET); return !cs;]])], 16 | [am_cv_langinfo_codeset=yes], 17 | [am_cv_langinfo_codeset=no]) 18 | ]) 19 | if test $am_cv_langinfo_codeset = yes; then 20 | AC_DEFINE([HAVE_LANGINFO_CODESET], [1], 21 | [Define if you have and nl_langinfo(CODESET).]) 22 | fi 23 | ]) 24 | -------------------------------------------------------------------------------- /m4/glibc2.m4: -------------------------------------------------------------------------------- 1 | # glibc2.m4 serial 3 2 | dnl Copyright (C) 2000-2002, 2004, 2008, 2010-2014 Free Software Foundation, 3 | dnl Inc. 4 | dnl This file is free software; the Free Software Foundation 5 | dnl gives unlimited permission to copy and/or distribute it, 6 | dnl with or without modifications, as long as this notice is preserved. 7 | 8 | # Test for the GNU C Library, version 2.0 or newer. 9 | # From Bruno Haible. 10 | 11 | AC_DEFUN([gt_GLIBC2], 12 | [ 13 | AC_CACHE_CHECK([whether we are using the GNU C Library 2 or newer], 14 | [ac_cv_gnu_library_2], 15 | [AC_EGREP_CPP([Lucky GNU user], 16 | [ 17 | #include 18 | #ifdef __GNU_LIBRARY__ 19 | #if (__GLIBC__ >= 2) && !defined __UCLIBC__ 20 | Lucky GNU user 21 | #endif 22 | #endif 23 | ], 24 | [ac_cv_gnu_library_2=yes], 25 | [ac_cv_gnu_library_2=no]) 26 | ] 27 | ) 28 | AC_SUBST([GLIBC2]) 29 | GLIBC2="$ac_cv_gnu_library_2" 30 | ] 31 | ) 32 | -------------------------------------------------------------------------------- /m4/glibc21.m4: -------------------------------------------------------------------------------- 1 | # glibc21.m4 serial 5 2 | dnl Copyright (C) 2000-2002, 2004, 2008, 2010-2014 Free Software Foundation, 3 | dnl Inc. 4 | dnl This file is free software; the Free Software Foundation 5 | dnl gives unlimited permission to copy and/or distribute it, 6 | dnl with or without modifications, as long as this notice is preserved. 7 | 8 | # Test for the GNU C Library, version 2.1 or newer, or uClibc. 9 | # From Bruno Haible. 10 | 11 | AC_DEFUN([gl_GLIBC21], 12 | [ 13 | AC_CACHE_CHECK([whether we are using the GNU C Library >= 2.1 or uClibc], 14 | [ac_cv_gnu_library_2_1], 15 | [AC_EGREP_CPP([Lucky], 16 | [ 17 | #include 18 | #ifdef __GNU_LIBRARY__ 19 | #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) 20 | Lucky GNU user 21 | #endif 22 | #endif 23 | #ifdef __UCLIBC__ 24 | Lucky user 25 | #endif 26 | ], 27 | [ac_cv_gnu_library_2_1=yes], 28 | [ac_cv_gnu_library_2_1=no]) 29 | ] 30 | ) 31 | AC_SUBST([GLIBC21]) 32 | GLIBC21="$ac_cv_gnu_library_2_1" 33 | ] 34 | ) 35 | -------------------------------------------------------------------------------- /m4/intldir.m4: -------------------------------------------------------------------------------- 1 | # intldir.m4 serial 2 (gettext-0.18) 2 | dnl Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | dnl 7 | dnl This file can can be used in projects which are not available under 8 | dnl the GNU General Public License or the GNU Library General Public 9 | dnl License but which still want to provide support for the GNU gettext 10 | dnl functionality. 11 | dnl Please note that the actual code of the GNU gettext library is covered 12 | dnl by the GNU Library General Public License, and the rest of the GNU 13 | dnl gettext package package is covered by the GNU General Public License. 14 | dnl They are *not* in the public domain. 15 | 16 | AC_PREREQ([2.52]) 17 | 18 | dnl Tells the AM_GNU_GETTEXT macro to consider an intl/ directory. 19 | AC_DEFUN([AM_GNU_GETTEXT_INTL_SUBDIR], []) 20 | -------------------------------------------------------------------------------- /m4/intmax.m4: -------------------------------------------------------------------------------- 1 | # intmax.m4 serial 6 (gettext-0.18.2) 2 | dnl Copyright (C) 2002-2005, 2008-2014 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | dnl From Bruno Haible. 8 | dnl Test whether the system has the 'intmax_t' type, but don't attempt to 9 | dnl find a replacement if it is lacking. 10 | 11 | AC_DEFUN([gt_TYPE_INTMAX_T], 12 | [ 13 | AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) 14 | AC_REQUIRE([gl_AC_HEADER_STDINT_H]) 15 | AC_CACHE_CHECK([for intmax_t], [gt_cv_c_intmax_t], 16 | [AC_COMPILE_IFELSE( 17 | [AC_LANG_PROGRAM( 18 | [[ 19 | #include 20 | #include 21 | #if HAVE_STDINT_H_WITH_UINTMAX 22 | #include 23 | #endif 24 | #if HAVE_INTTYPES_H_WITH_UINTMAX 25 | #include 26 | #endif 27 | ]], 28 | [[intmax_t x = -1; 29 | return !x;]])], 30 | [gt_cv_c_intmax_t=yes], 31 | [gt_cv_c_intmax_t=no])]) 32 | if test $gt_cv_c_intmax_t = yes; then 33 | AC_DEFINE([HAVE_INTMAX_T], [1], 34 | [Define if you have the 'intmax_t' type in or .]) 35 | fi 36 | ]) 37 | -------------------------------------------------------------------------------- /m4/inttypes-pri.m4: -------------------------------------------------------------------------------- 1 | # inttypes-pri.m4 serial 7 (gettext-0.18.2) 2 | dnl Copyright (C) 1997-2002, 2006, 2008-2014 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | dnl From Bruno Haible. 8 | 9 | AC_PREREQ([2.53]) 10 | 11 | # Define PRI_MACROS_BROKEN if exists and defines the PRI* 12 | # macros to non-string values. This is the case on AIX 4.3.3. 13 | 14 | AC_DEFUN([gt_INTTYPES_PRI], 15 | [ 16 | AC_CHECK_HEADERS([inttypes.h]) 17 | if test $ac_cv_header_inttypes_h = yes; then 18 | AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken], 19 | [gt_cv_inttypes_pri_broken], 20 | [ 21 | AC_COMPILE_IFELSE( 22 | [AC_LANG_PROGRAM( 23 | [[ 24 | #include 25 | #ifdef PRId32 26 | char *p = PRId32; 27 | #endif 28 | ]], 29 | [[]])], 30 | [gt_cv_inttypes_pri_broken=no], 31 | [gt_cv_inttypes_pri_broken=yes]) 32 | ]) 33 | fi 34 | if test "$gt_cv_inttypes_pri_broken" = yes; then 35 | AC_DEFINE_UNQUOTED([PRI_MACROS_BROKEN], [1], 36 | [Define if exists and defines unusable PRI* macros.]) 37 | PRI_MACROS_BROKEN=1 38 | else 39 | PRI_MACROS_BROKEN=0 40 | fi 41 | AC_SUBST([PRI_MACROS_BROKEN]) 42 | ]) 43 | -------------------------------------------------------------------------------- /m4/inttypes.m4: -------------------------------------------------------------------------------- 1 | # inttypes.m4 serial 1 (gettext-0.11.4) 2 | dnl Copyright (C) 1997-2002 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | dnl From Paul Eggert. 8 | 9 | # Define HAVE_INTTYPES_H if exists and doesn't clash with 10 | # . 11 | 12 | AC_DEFUN([gt_HEADER_INTTYPES_H], 13 | [ 14 | AC_CACHE_CHECK([for inttypes.h], gt_cv_header_inttypes_h, 15 | [ 16 | AC_TRY_COMPILE( 17 | [#include 18 | #include ], 19 | [], gt_cv_header_inttypes_h=yes, gt_cv_header_inttypes_h=no) 20 | ]) 21 | if test $gt_cv_header_inttypes_h = yes; then 22 | AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H, 1, 23 | [Define if exists and doesn't clash with .]) 24 | fi 25 | ]) 26 | -------------------------------------------------------------------------------- /m4/inttypes_h.m4: -------------------------------------------------------------------------------- 1 | # inttypes_h.m4 serial 10 2 | dnl Copyright (C) 1997-2004, 2006, 2008-2014 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | dnl From Paul Eggert. 8 | 9 | # Define HAVE_INTTYPES_H_WITH_UINTMAX if exists, 10 | # doesn't clash with , and declares uintmax_t. 11 | 12 | AC_DEFUN([gl_AC_HEADER_INTTYPES_H], 13 | [ 14 | AC_CACHE_CHECK([for inttypes.h], [gl_cv_header_inttypes_h], 15 | [AC_COMPILE_IFELSE( 16 | [AC_LANG_PROGRAM( 17 | [[ 18 | #include 19 | #include 20 | ]], 21 | [[uintmax_t i = (uintmax_t) -1; return !i;]])], 22 | [gl_cv_header_inttypes_h=yes], 23 | [gl_cv_header_inttypes_h=no])]) 24 | if test $gl_cv_header_inttypes_h = yes; then 25 | AC_DEFINE_UNQUOTED([HAVE_INTTYPES_H_WITH_UINTMAX], [1], 26 | [Define if exists, doesn't clash with , 27 | and declares uintmax_t. ]) 28 | fi 29 | ]) 30 | -------------------------------------------------------------------------------- /m4/isc-posix.m4: -------------------------------------------------------------------------------- 1 | # isc-posix.m4 serial 2 (gettext-0.11.2) 2 | dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | # This file is not needed with autoconf-2.53 and newer. Remove it in 2005. 8 | 9 | # This test replaces the one in autoconf. 10 | # Currently this macro should have the same name as the autoconf macro 11 | # because gettext's gettext.m4 (distributed in the automake package) 12 | # still uses it. Otherwise, the use in gettext.m4 makes autoheader 13 | # give these diagnostics: 14 | # configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX 15 | # configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX 16 | 17 | undefine([AC_ISC_POSIX]) 18 | 19 | AC_DEFUN([AC_ISC_POSIX], 20 | [ 21 | dnl This test replaces the obsolescent AC_ISC_POSIX kludge. 22 | AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"]) 23 | ] 24 | ) 25 | -------------------------------------------------------------------------------- /m4/lcmessage.m4: -------------------------------------------------------------------------------- 1 | # lcmessage.m4 serial 7 (gettext-0.18.2) 2 | dnl Copyright (C) 1995-2002, 2004-2005, 2008-2014 Free Software Foundation, 3 | dnl Inc. 4 | dnl This file is free software; the Free Software Foundation 5 | dnl gives unlimited permission to copy and/or distribute it, 6 | dnl with or without modifications, as long as this notice is preserved. 7 | dnl 8 | dnl This file can can be used in projects which are not available under 9 | dnl the GNU General Public License or the GNU Library General Public 10 | dnl License but which still want to provide support for the GNU gettext 11 | dnl functionality. 12 | dnl Please note that the actual code of the GNU gettext library is covered 13 | dnl by the GNU Library General Public License, and the rest of the GNU 14 | dnl gettext package package is covered by the GNU General Public License. 15 | dnl They are *not* in the public domain. 16 | 17 | dnl Authors: 18 | dnl Ulrich Drepper , 1995. 19 | 20 | # Check whether LC_MESSAGES is available in . 21 | 22 | AC_DEFUN([gt_LC_MESSAGES], 23 | [ 24 | AC_CACHE_CHECK([for LC_MESSAGES], [gt_cv_val_LC_MESSAGES], 25 | [AC_LINK_IFELSE( 26 | [AC_LANG_PROGRAM( 27 | [[#include ]], 28 | [[return LC_MESSAGES]])], 29 | [gt_cv_val_LC_MESSAGES=yes], 30 | [gt_cv_val_LC_MESSAGES=no])]) 31 | if test $gt_cv_val_LC_MESSAGES = yes; then 32 | AC_DEFINE([HAVE_LC_MESSAGES], [1], 33 | [Define if your file defines LC_MESSAGES.]) 34 | fi 35 | ]) 36 | -------------------------------------------------------------------------------- /m4/longdouble.m4: -------------------------------------------------------------------------------- 1 | # longdouble.m4 serial 1 (gettext-0.12) 2 | dnl Copyright (C) 2002-2003 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | dnl From Bruno Haible. 8 | dnl Test whether the compiler supports the 'long double' type. 9 | dnl Prerequisite: AC_PROG_CC 10 | 11 | AC_DEFUN([gt_TYPE_LONGDOUBLE], 12 | [ 13 | AC_CACHE_CHECK([for long double], gt_cv_c_long_double, 14 | [if test "$GCC" = yes; then 15 | gt_cv_c_long_double=yes 16 | else 17 | AC_TRY_COMPILE([ 18 | /* The Stardent Vistra knows sizeof(long double), but does not support it. */ 19 | long double foo = 0.0; 20 | /* On Ultrix 4.3 cc, long double is 4 and double is 8. */ 21 | int array [2*(sizeof(long double) >= sizeof(double)) - 1]; 22 | ], , 23 | gt_cv_c_long_double=yes, gt_cv_c_long_double=no) 24 | fi]) 25 | if test $gt_cv_c_long_double = yes; then 26 | AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the 'long double' type.]) 27 | fi 28 | ]) 29 | -------------------------------------------------------------------------------- /m4/nls.m4: -------------------------------------------------------------------------------- 1 | # nls.m4 serial 5 (gettext-0.18) 2 | dnl Copyright (C) 1995-2003, 2005-2006, 2008-2014 Free Software Foundation, 3 | dnl Inc. 4 | dnl This file is free software; the Free Software Foundation 5 | dnl gives unlimited permission to copy and/or distribute it, 6 | dnl with or without modifications, as long as this notice is preserved. 7 | dnl 8 | dnl This file can can be used in projects which are not available under 9 | dnl the GNU General Public License or the GNU Library General Public 10 | dnl License but which still want to provide support for the GNU gettext 11 | dnl functionality. 12 | dnl Please note that the actual code of the GNU gettext library is covered 13 | dnl by the GNU Library General Public License, and the rest of the GNU 14 | dnl gettext package package is covered by the GNU General Public License. 15 | dnl They are *not* in the public domain. 16 | 17 | dnl Authors: 18 | dnl Ulrich Drepper , 1995-2000. 19 | dnl Bruno Haible , 2000-2003. 20 | 21 | AC_PREREQ([2.50]) 22 | 23 | AC_DEFUN([AM_NLS], 24 | [ 25 | AC_MSG_CHECKING([whether NLS is requested]) 26 | dnl Default is enabled NLS 27 | AC_ARG_ENABLE([nls], 28 | [ --disable-nls do not use Native Language Support], 29 | USE_NLS=$enableval, USE_NLS=yes) 30 | AC_MSG_RESULT([$USE_NLS]) 31 | AC_SUBST([USE_NLS]) 32 | ]) 33 | -------------------------------------------------------------------------------- /m4/signed.m4: -------------------------------------------------------------------------------- 1 | # signed.m4 serial 1 (gettext-0.10.40) 2 | dnl Copyright (C) 2001-2002 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | dnl From Bruno Haible. 8 | 9 | AC_DEFUN([bh_C_SIGNED], 10 | [ 11 | AC_CACHE_CHECK([for signed], bh_cv_c_signed, 12 | [AC_TRY_COMPILE(, [signed char x;], bh_cv_c_signed=yes, bh_cv_c_signed=no)]) 13 | if test $bh_cv_c_signed = no; then 14 | AC_DEFINE(signed, , 15 | [Define to empty if the C compiler doesn't support this keyword.]) 16 | fi 17 | ]) 18 | -------------------------------------------------------------------------------- /m4/stdint_h.m4: -------------------------------------------------------------------------------- 1 | # stdint_h.m4 serial 9 2 | dnl Copyright (C) 1997-2004, 2006, 2008-2014 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | dnl From Paul Eggert. 8 | 9 | # Define HAVE_STDINT_H_WITH_UINTMAX if exists, 10 | # doesn't clash with , and declares uintmax_t. 11 | 12 | AC_DEFUN([gl_AC_HEADER_STDINT_H], 13 | [ 14 | AC_CACHE_CHECK([for stdint.h], [gl_cv_header_stdint_h], 15 | [AC_COMPILE_IFELSE( 16 | [AC_LANG_PROGRAM( 17 | [[#include 18 | #include ]], 19 | [[uintmax_t i = (uintmax_t) -1; return !i;]])], 20 | [gl_cv_header_stdint_h=yes], 21 | [gl_cv_header_stdint_h=no])]) 22 | if test $gl_cv_header_stdint_h = yes; then 23 | AC_DEFINE_UNQUOTED([HAVE_STDINT_H_WITH_UINTMAX], [1], 24 | [Define if exists, doesn't clash with , 25 | and declares uintmax_t. ]) 26 | fi 27 | ]) 28 | -------------------------------------------------------------------------------- /m4/uintmax_t.m4: -------------------------------------------------------------------------------- 1 | # uintmax_t.m4 serial 12 2 | dnl Copyright (C) 1997-2004, 2007-2014 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | dnl From Paul Eggert. 8 | 9 | AC_PREREQ([2.13]) 10 | 11 | # Define uintmax_t to 'unsigned long' or 'unsigned long long' 12 | # if it is not already defined in or . 13 | 14 | AC_DEFUN([gl_AC_TYPE_UINTMAX_T], 15 | [ 16 | AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) 17 | AC_REQUIRE([gl_AC_HEADER_STDINT_H]) 18 | if test $gl_cv_header_inttypes_h = no && test $gl_cv_header_stdint_h = no; then 19 | AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT]) 20 | test $ac_cv_type_unsigned_long_long_int = yes \ 21 | && ac_type='unsigned long long' \ 22 | || ac_type='unsigned long' 23 | AC_DEFINE_UNQUOTED([uintmax_t], [$ac_type], 24 | [Define to unsigned long or unsigned long long 25 | if and don't define.]) 26 | else 27 | AC_DEFINE([HAVE_UINTMAX_T], [1], 28 | [Define if you have the 'uintmax_t' type in or .]) 29 | fi 30 | ]) 31 | -------------------------------------------------------------------------------- /m4/ulonglong.m4: -------------------------------------------------------------------------------- 1 | # ulonglong.m4 serial 4 2 | dnl Copyright (C) 1999-2004 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | dnl From Paul Eggert. 8 | 9 | # Define HAVE_UNSIGNED_LONG_LONG if 'unsigned long long' works. 10 | 11 | AC_DEFUN([gl_AC_TYPE_UNSIGNED_LONG_LONG], 12 | [ 13 | AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long, 14 | [AC_TRY_LINK([unsigned long long ull = 1ULL; int i = 63;], 15 | [unsigned long long ullmax = (unsigned long long) -1; 16 | return ull << i | ull >> i | ullmax / ull | ullmax % ull;], 17 | ac_cv_type_unsigned_long_long=yes, 18 | ac_cv_type_unsigned_long_long=no)]) 19 | if test $ac_cv_type_unsigned_long_long = yes; then 20 | AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1, 21 | [Define if you have the 'unsigned long long' type.]) 22 | fi 23 | ]) 24 | -------------------------------------------------------------------------------- /m4/wchar_t.m4: -------------------------------------------------------------------------------- 1 | # wchar_t.m4 serial 4 (gettext-0.18.2) 2 | dnl Copyright (C) 2002-2003, 2008-2014 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | dnl From Bruno Haible. 8 | dnl Test whether has the 'wchar_t' type. 9 | dnl Prerequisite: AC_PROG_CC 10 | 11 | AC_DEFUN([gt_TYPE_WCHAR_T], 12 | [ 13 | AC_CACHE_CHECK([for wchar_t], [gt_cv_c_wchar_t], 14 | [AC_COMPILE_IFELSE( 15 | [AC_LANG_PROGRAM( 16 | [[#include 17 | wchar_t foo = (wchar_t)'\0';]], 18 | [[]])], 19 | [gt_cv_c_wchar_t=yes], 20 | [gt_cv_c_wchar_t=no])]) 21 | if test $gt_cv_c_wchar_t = yes; then 22 | AC_DEFINE([HAVE_WCHAR_T], [1], [Define if you have the 'wchar_t' type.]) 23 | fi 24 | ]) 25 | -------------------------------------------------------------------------------- /m4/wint_t.m4: -------------------------------------------------------------------------------- 1 | # wint_t.m4 serial 5 (gettext-0.18.2) 2 | dnl Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | dnl From Bruno Haible. 8 | dnl Test whether has the 'wint_t' type. 9 | dnl Prerequisite: AC_PROG_CC 10 | 11 | AC_DEFUN([gt_TYPE_WINT_T], 12 | [ 13 | AC_CACHE_CHECK([for wint_t], [gt_cv_c_wint_t], 14 | [AC_COMPILE_IFELSE( 15 | [AC_LANG_PROGRAM( 16 | [[ 17 | /* Tru64 with Desktop Toolkit C has a bug: must be included before 18 | . 19 | BSD/OS 4.0.1 has a bug: , and must be included 20 | before . */ 21 | #include 22 | #include 23 | #include 24 | #include 25 | wint_t foo = (wchar_t)'\0';]], 26 | [[]])], 27 | [gt_cv_c_wint_t=yes], 28 | [gt_cv_c_wint_t=no])]) 29 | if test $gt_cv_c_wint_t = yes; then 30 | AC_DEFINE([HAVE_WINT_T], [1], [Define if you have the 'wint_t' type.]) 31 | fi 32 | ]) 33 | -------------------------------------------------------------------------------- /m4/xsize.m4: -------------------------------------------------------------------------------- 1 | # xsize.m4 serial 5 2 | dnl Copyright (C) 2003-2004, 2008-2014 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | AC_DEFUN([gl_XSIZE], 8 | [ 9 | dnl Prerequisites of lib/xsize.h. 10 | AC_REQUIRE([gl_SIZE_MAX]) 11 | AC_CHECK_HEADERS([stdint.h]) 12 | ]) 13 | -------------------------------------------------------------------------------- /mex-wcalc/.gitignore: -------------------------------------------------------------------------------- 1 | Makefile.in 2 | Makefile 3 | *~ 4 | *.m 5 | mexopts.sh 6 | -------------------------------------------------------------------------------- /mex-wcalc/copyright.m: -------------------------------------------------------------------------------- 1 | % Copyright (c) 2001-2012 Dan McMahill 2 | % All rights reserved. 3 | % 4 | % This program is free software; you can redistribute it and/or modify 5 | % it under the terms of the GNU General Public License as published by 6 | % the Free Software Foundation; version 2 of the License. 7 | % 8 | % This program is distributed in the hope that it will be useful, 9 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | % GNU General Public License for more details. 12 | % 13 | % You should have received a copy of the GNU General Public License 14 | % along with this program; if not, write to the Free Software 15 | % Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /mex-wcalc/matlab_startup.m.in: -------------------------------------------------------------------------------- 1 | % 2 | 3 | % 4 | % The following lines should be added to your ~/matlab/startup.m 5 | % to automatically load mex-wcalc on startup 6 | % 7 | 8 | disp('Adding @pkgname@ to your path'); 9 | addpath('@matlabdir@'); 10 | 11 | 12 | -------------------------------------------------------------------------------- /mex-wcalc/mexlink: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # 4 | # Copyright (c) 2004, 2005, 2009 Dan McMahill 5 | # All rights reserved. 6 | # 7 | # This program is free software; you can redistribute it and/or modify 8 | # it under the terms of the GNU General Public License as published by 9 | # the Free Software Foundation; version 2 of the License. 10 | # 11 | # This program is distributed in the hope that it will be useful, 12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | # GNU General Public License for more details. 15 | # 16 | # You should have received a copy of the GNU General Public License 17 | # along with this program; if not, write to the Free Software 18 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | 20 | LIBTOOL=../libtool 21 | CC=$1 22 | libdir=$2 23 | pkglibexecdir=$3 24 | MEXSFX=$4 25 | shift 4 26 | 27 | args="" 28 | 29 | while test $# -ne 0 ; do 30 | case $1 in 31 | -o ) 32 | # some versions of mex may include MEXSFX and others 33 | # may not, so strip that part off and explicitly put it 34 | # back. 35 | args="$args -o `dirname ${2}`/`basename ${2} .${MEXSFX}`.${MEXSFX}.la" 36 | shift 2 37 | ;; 38 | 39 | *.o ) 40 | args="$args `echo $1 | sed 's;\.o;.lo;g'`" 41 | shift 42 | ;; 43 | 44 | * ) 45 | args="$args $1" 46 | shift 47 | ;; 48 | esac 49 | done 50 | 51 | set -x 52 | $LIBTOOL --mode=link $CC -avoid-version -export-dynamic -module -shrext '""' -rpath $pkglibexecdir $args 53 | 54 | -------------------------------------------------------------------------------- /octave-wcalc/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | Makefile.in 3 | Makefile 4 | *.m 5 | -------------------------------------------------------------------------------- /octave-wcalc/copyright.m: -------------------------------------------------------------------------------- 1 | % Copyright (c) 2001-2012 Dan McMahill 2 | % All rights reserved. 3 | % 4 | % This program is free software; you can redistribute it and/or modify 5 | % it under the terms of the GNU General Public License as published by 6 | % the Free Software Foundation; version 2 of the License. 7 | % 8 | % This program is distributed in the hope that it will be useful, 9 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | % GNU General Public License for more details. 12 | % 13 | % You should have received a copy of the GNU General Public License 14 | % along with this program; if not, write to the Free Software 15 | % Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 16 | % 17 | -------------------------------------------------------------------------------- /octave-wcalc/octaverc.in: -------------------------------------------------------------------------------- 1 | % 2 | 3 | % 4 | % If you have installed octave-wcalc outside of your usual octave installation 5 | % hierarchy, you will need to add the following to your ~/.octaverc file: 6 | % 7 | 8 | LOADPATH = [ '@mysiteoct@/:@mysiteoctm@/:', LOADPATH ]; 9 | EXEC_PATH = [ '@mysiteoct@:', EXEC_PATH ]; 10 | 11 | % 12 | % The octave installation paths are: 13 | % 14 | % @siteoct@ 15 | % @siteoctm@ 16 | % 17 | % The octave-wcalc installation paths are: 18 | % 19 | % @mysiteoct@ 20 | % @mysiteoctm@ 21 | % 22 | % 23 | % If the octave paths and octave-wcalc paths are the same, then no modification to 24 | % your ~/.octaverc should be required. 25 | % 26 | 27 | 28 | -------------------------------------------------------------------------------- /octave-wcalc/runoctave.in: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # 3 | # 4 | # Copyright (c) 2002, 2009 Dan McMahill 5 | # All rights reserved. 6 | # 7 | # This program is free software; you can redistribute it and/or modify 8 | # it under the terms of the GNU General Public License as published by 9 | # the Free Software Foundation; version 2 of the License. 10 | # 11 | # This program is distributed in the hope that it will be useful, 12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | # GNU General Public License for more details. 15 | # 16 | # You should have received a copy of the GNU General Public License 17 | # along with this program; if not, write to the Free Software 18 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | # 20 | 21 | # this is a wrapper script used to call octave for testing of octave-wcalc 22 | # before it is installed. 23 | 24 | OCTAVE=${OCTAVE:-octave} 25 | 26 | if test ! -f runoctave ; then 27 | echo "ERROR: runoctave must be run from the octave-wcalc directory" 28 | exit 1 29 | fi 30 | 31 | if test -z "$LD_LIBRARY_PATH" ; then 32 | LD_LIBRARY_PATH=@BUILDDIR@/../libwcalc/.libs:@BUILDDIR@:@BUILDDIR@/.libs 33 | else 34 | LD_LIBRARY_PATH=@BUILDDIR@/../libwcalc/.libs:@BUILDDIR@:@BUILDDIR@/.libs:$LD_LIBRARY_PATH 35 | fi 36 | export LD_LIBRARY_PATH 37 | 38 | ${OCTAVE} $* 39 | 40 | -------------------------------------------------------------------------------- /pixmaps/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | Makefile.in 3 | Makefile 4 | *.o 5 | -------------------------------------------------------------------------------- /pixmaps/Xdefaults.tgif: -------------------------------------------------------------------------------- 1 | 2 | # Needed to ensure the correct XPM version 3 | Tgif.XPmOutputVersion: 3 4 | 5 | Tgif.MaxColors: 25 6 | 7 | # ok, so this is ugly but it worked... 8 | # awk 'END{for(i=1;i<15;i++){c=48 + i; if(i>9){c=87+i} printf("Tgif.Color%d: #%c%c%c%c%c%c\n", i+10, c, c, c, c, c, c)}}' /dev/null >> Xdefaults.tgif 9 | 10 | Tgif.Color11: #111111 11 | Tgif.Color12: #222222 12 | Tgif.Color13: #333333 13 | Tgif.Color14: #444444 14 | Tgif.Color15: #555555 15 | Tgif.Color16: #666666 16 | Tgif.Color17: #777777 17 | Tgif.Color18: #888888 18 | Tgif.Color19: #999999 19 | Tgif.Color20: #aaaaaa 20 | Tgif.Color21: #bbbbbb 21 | Tgif.Color22: #cccccc 22 | Tgif.Color23: #dddddd 23 | Tgif.Color24: #eeeeee 24 | -------------------------------------------------------------------------------- /pixmaps/air_coil.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmcmahill/wcalc/dfee9e48ad8f43668d646d202b3cef41d263a287/pixmaps/air_coil.png -------------------------------------------------------------------------------- /pixmaps/alert_fig.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmcmahill/wcalc/dfee9e48ad8f43668d646d202b3cef41d263a287/pixmaps/alert_fig.png -------------------------------------------------------------------------------- /pixmaps/bars_fig.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmcmahill/wcalc/dfee9e48ad8f43668d646d202b3cef41d263a287/pixmaps/bars_fig.png -------------------------------------------------------------------------------- /pixmaps/coax.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmcmahill/wcalc/dfee9e48ad8f43668d646d202b3cef41d263a287/pixmaps/coax.png -------------------------------------------------------------------------------- /pixmaps/coax_model.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmcmahill/wcalc/dfee9e48ad8f43668d646d202b3cef41d263a287/pixmaps/coax_model.png -------------------------------------------------------------------------------- /pixmaps/coplanar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmcmahill/wcalc/dfee9e48ad8f43668d646d202b3cef41d263a287/pixmaps/coplanar.png -------------------------------------------------------------------------------- /pixmaps/coplanar_model.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmcmahill/wcalc/dfee9e48ad8f43668d646d202b3cef41d263a287/pixmaps/coplanar_model.png -------------------------------------------------------------------------------- /pixmaps/coupled_microstrip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmcmahill/wcalc/dfee9e48ad8f43668d646d202b3cef41d263a287/pixmaps/coupled_microstrip.png -------------------------------------------------------------------------------- /pixmaps/coupled_stripline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmcmahill/wcalc/dfee9e48ad8f43668d646d202b3cef41d263a287/pixmaps/coupled_stripline.png -------------------------------------------------------------------------------- /pixmaps/figure_air_coil.h: -------------------------------------------------------------------------------- 1 | /* figure_air_coil.h */ 2 | /* ***** Generated from pstoedit ***** */ 3 | #ifndef __figure_air_coil_H__ 4 | #define __figure_air_coil_H__ 5 | #include 6 | extern cairo_t * (*figure_air_coil_render[])(cairo_surface_t *, cairo_t *); 7 | extern int figure_air_coil_total_pages; 8 | extern int figure_air_coil_width[]; 9 | extern int figure_air_coil_height[]; 10 | extern void figure_air_coil_init(void); 11 | #endif /* __figure_air_coil_H__ */ 12 | 13 | -------------------------------------------------------------------------------- /pixmaps/figure_alert_fig.h: -------------------------------------------------------------------------------- 1 | /* figure_alert_fig.h */ 2 | /* ***** Generated from pstoedit ***** */ 3 | #ifndef __figure_alert_fig_H__ 4 | #define __figure_alert_fig_H__ 5 | #include 6 | extern cairo_t * (*figure_alert_fig_render[])(cairo_surface_t *, cairo_t *); 7 | extern int figure_alert_fig_total_pages; 8 | extern int figure_alert_fig_width[]; 9 | extern int figure_alert_fig_height[]; 10 | extern void figure_alert_fig_init(void); 11 | #endif /* __figure_alert_fig_H__ */ 12 | 13 | -------------------------------------------------------------------------------- /pixmaps/figure_bars_fig.h: -------------------------------------------------------------------------------- 1 | /* figure_bars_fig.h */ 2 | /* ***** Generated from pstoedit ***** */ 3 | #ifndef __figure_bars_fig_H__ 4 | #define __figure_bars_fig_H__ 5 | #include 6 | extern cairo_t * (*figure_bars_fig_render[])(cairo_surface_t *, cairo_t *); 7 | extern int figure_bars_fig_total_pages; 8 | extern int figure_bars_fig_width[]; 9 | extern int figure_bars_fig_height[]; 10 | extern void figure_bars_fig_init(void); 11 | #endif /* __figure_bars_fig_H__ */ 12 | 13 | -------------------------------------------------------------------------------- /pixmaps/figure_coax.h: -------------------------------------------------------------------------------- 1 | /* figure_coax.h */ 2 | /* ***** Generated from pstoedit ***** */ 3 | #ifndef __figure_coax_H__ 4 | #define __figure_coax_H__ 5 | #include 6 | extern cairo_t * (*figure_coax_render[])(cairo_surface_t *, cairo_t *); 7 | extern int figure_coax_total_pages; 8 | extern int figure_coax_width[]; 9 | extern int figure_coax_height[]; 10 | extern void figure_coax_init(void); 11 | #endif /* __figure_coax_H__ */ 12 | 13 | -------------------------------------------------------------------------------- /pixmaps/figure_coax_model.h: -------------------------------------------------------------------------------- 1 | /* figure_coax_model.h */ 2 | /* ***** Generated from pstoedit ***** */ 3 | #ifndef __figure_coax_model_H__ 4 | #define __figure_coax_model_H__ 5 | #include 6 | extern cairo_t * (*figure_coax_model_render[])(cairo_surface_t *, cairo_t *); 7 | extern int figure_coax_model_total_pages; 8 | extern int figure_coax_model_width[]; 9 | extern int figure_coax_model_height[]; 10 | extern void figure_coax_model_init(void); 11 | #endif /* __figure_coax_model_H__ */ 12 | 13 | -------------------------------------------------------------------------------- /pixmaps/figure_coplanar.h: -------------------------------------------------------------------------------- 1 | /* figure_coplanar.h */ 2 | /* ***** Generated from pstoedit ***** */ 3 | #ifndef __figure_coplanar_H__ 4 | #define __figure_coplanar_H__ 5 | #include 6 | extern cairo_t * (*figure_coplanar_render[])(cairo_surface_t *, cairo_t *); 7 | extern int figure_coplanar_total_pages; 8 | extern int figure_coplanar_width[]; 9 | extern int figure_coplanar_height[]; 10 | extern void figure_coplanar_init(void); 11 | #endif /* __figure_coplanar_H__ */ 12 | 13 | -------------------------------------------------------------------------------- /pixmaps/figure_coplanar_model.h: -------------------------------------------------------------------------------- 1 | /* figure_coplanar_model.h */ 2 | /* ***** Generated from pstoedit ***** */ 3 | #ifndef __figure_coplanar_model_H__ 4 | #define __figure_coplanar_model_H__ 5 | #include 6 | extern cairo_t * (*figure_coplanar_model_render[])(cairo_surface_t *, cairo_t *); 7 | extern int figure_coplanar_model_total_pages; 8 | extern int figure_coplanar_model_width[]; 9 | extern int figure_coplanar_model_height[]; 10 | extern void figure_coplanar_model_init(void); 11 | #endif /* __figure_coplanar_model_H__ */ 12 | 13 | -------------------------------------------------------------------------------- /pixmaps/figure_coupled_microstrip.h: -------------------------------------------------------------------------------- 1 | /* figure_coupled_microstrip.h */ 2 | /* ***** Generated from pstoedit ***** */ 3 | #ifndef __figure_coupled_microstrip_H__ 4 | #define __figure_coupled_microstrip_H__ 5 | #include 6 | extern cairo_t * (*figure_coupled_microstrip_render[])(cairo_surface_t *, cairo_t *); 7 | extern int figure_coupled_microstrip_total_pages; 8 | extern int figure_coupled_microstrip_width[]; 9 | extern int figure_coupled_microstrip_height[]; 10 | extern void figure_coupled_microstrip_init(void); 11 | #endif /* __figure_coupled_microstrip_H__ */ 12 | 13 | -------------------------------------------------------------------------------- /pixmaps/figure_coupled_stripline.h: -------------------------------------------------------------------------------- 1 | /* figure_coupled_stripline.h */ 2 | /* ***** Generated from pstoedit ***** */ 3 | #ifndef __figure_coupled_stripline_H__ 4 | #define __figure_coupled_stripline_H__ 5 | #include 6 | extern cairo_t * (*figure_coupled_stripline_render[])(cairo_surface_t *, cairo_t *); 7 | extern int figure_coupled_stripline_total_pages; 8 | extern int figure_coupled_stripline_width[]; 9 | extern int figure_coupled_stripline_height[]; 10 | extern void figure_coupled_stripline_init(void); 11 | #endif /* __figure_coupled_stripline_H__ */ 12 | 13 | -------------------------------------------------------------------------------- /pixmaps/figure_ic_microstrip.h: -------------------------------------------------------------------------------- 1 | /* figure_ic_microstrip.h */ 2 | /* ***** Generated from pstoedit ***** */ 3 | #ifndef __figure_ic_microstrip_H__ 4 | #define __figure_ic_microstrip_H__ 5 | #include 6 | extern cairo_t * (*figure_ic_microstrip_render[])(cairo_surface_t *, cairo_t *); 7 | extern int figure_ic_microstrip_total_pages; 8 | extern int figure_ic_microstrip_width[]; 9 | extern int figure_ic_microstrip_height[]; 10 | extern void figure_ic_microstrip_init(void); 11 | #endif /* __figure_ic_microstrip_H__ */ 12 | 13 | -------------------------------------------------------------------------------- /pixmaps/figure_ic_microstrip_model.h: -------------------------------------------------------------------------------- 1 | /* figure_ic_microstrip_model.h */ 2 | /* ***** Generated from pstoedit ***** */ 3 | #ifndef __figure_ic_microstrip_model_H__ 4 | #define __figure_ic_microstrip_model_H__ 5 | #include 6 | extern cairo_t * (*figure_ic_microstrip_model_render[])(cairo_surface_t *, cairo_t *); 7 | extern int figure_ic_microstrip_model_total_pages; 8 | extern int figure_ic_microstrip_model_width[]; 9 | extern int figure_ic_microstrip_model_height[]; 10 | extern void figure_ic_microstrip_model_init(void); 11 | #endif /* __figure_ic_microstrip_model_H__ */ 12 | 13 | -------------------------------------------------------------------------------- /pixmaps/figure_logo.h: -------------------------------------------------------------------------------- 1 | /* figure_logo.h */ 2 | /* ***** Generated from pstoedit ***** */ 3 | #ifndef __figure_logo_H__ 4 | #define __figure_logo_H__ 5 | #include 6 | extern cairo_t * (*figure_logo_render[])(cairo_surface_t *, cairo_t *); 7 | extern int figure_logo_total_pages; 8 | extern int figure_logo_width[]; 9 | extern int figure_logo_height[]; 10 | extern void figure_logo_init(void); 11 | #endif /* __figure_logo_H__ */ 12 | 13 | -------------------------------------------------------------------------------- /pixmaps/figure_microstrip.h: -------------------------------------------------------------------------------- 1 | /* figure_microstrip.h */ 2 | /* ***** Generated from pstoedit ***** */ 3 | #ifndef __figure_microstrip_H__ 4 | #define __figure_microstrip_H__ 5 | #include 6 | extern cairo_t * (*figure_microstrip_render[])(cairo_surface_t *, cairo_t *); 7 | extern int figure_microstrip_total_pages; 8 | extern int figure_microstrip_width[]; 9 | extern int figure_microstrip_height[]; 10 | extern void figure_microstrip_init(void); 11 | #endif /* __figure_microstrip_H__ */ 12 | 13 | -------------------------------------------------------------------------------- /pixmaps/figure_microstrip_model.h: -------------------------------------------------------------------------------- 1 | /* figure_microstrip_model.h */ 2 | /* ***** Generated from pstoedit ***** */ 3 | #ifndef __figure_microstrip_model_H__ 4 | #define __figure_microstrip_model_H__ 5 | #include 6 | extern cairo_t * (*figure_microstrip_model_render[])(cairo_surface_t *, cairo_t *); 7 | extern int figure_microstrip_model_total_pages; 8 | extern int figure_microstrip_model_width[]; 9 | extern int figure_microstrip_model_height[]; 10 | extern void figure_microstrip_model_init(void); 11 | #endif /* __figure_microstrip_model_H__ */ 12 | 13 | -------------------------------------------------------------------------------- /pixmaps/figure_rc.h: -------------------------------------------------------------------------------- 1 | /* figure_rc.h */ 2 | /* ***** Generated from pstoedit ***** */ 3 | #ifndef __figure_rc_H__ 4 | #define __figure_rc_H__ 5 | #include 6 | extern cairo_t * (*figure_rc_render[])(cairo_surface_t *, cairo_t *); 7 | extern int figure_rc_total_pages; 8 | extern int figure_rc_width[]; 9 | extern int figure_rc_height[]; 10 | extern void figure_rc_init(void); 11 | #endif /* __figure_rc_H__ */ 12 | 13 | -------------------------------------------------------------------------------- /pixmaps/figure_rl.h: -------------------------------------------------------------------------------- 1 | /* figure_rl.h */ 2 | /* ***** Generated from pstoedit ***** */ 3 | #ifndef __figure_rl_H__ 4 | #define __figure_rl_H__ 5 | #include 6 | extern cairo_t * (*figure_rl_render[])(cairo_surface_t *, cairo_t *); 7 | extern int figure_rl_total_pages; 8 | extern int figure_rl_width[]; 9 | extern int figure_rl_height[]; 10 | extern void figure_rl_init(void); 11 | #endif /* __figure_rl_H__ */ 12 | 13 | -------------------------------------------------------------------------------- /pixmaps/figure_rods_fig.h: -------------------------------------------------------------------------------- 1 | /* figure_rods_fig.h */ 2 | /* ***** Generated from pstoedit ***** */ 3 | #ifndef __figure_rods_fig_H__ 4 | #define __figure_rods_fig_H__ 5 | #include 6 | extern cairo_t * (*figure_rods_fig_render[])(cairo_surface_t *, cairo_t *); 7 | extern int figure_rods_fig_total_pages; 8 | extern int figure_rods_fig_width[]; 9 | extern int figure_rods_fig_height[]; 10 | extern void figure_rods_fig_init(void); 11 | #endif /* __figure_rods_fig_H__ */ 12 | 13 | -------------------------------------------------------------------------------- /pixmaps/figure_splash.h: -------------------------------------------------------------------------------- 1 | /* figure_splash.h */ 2 | /* ***** Generated from pstoedit ***** */ 3 | #ifndef __figure_splash_H__ 4 | #define __figure_splash_H__ 5 | #include 6 | extern cairo_t * (*figure_splash_render[])(cairo_surface_t *, cairo_t *); 7 | extern int figure_splash_total_pages; 8 | extern int figure_splash_width[]; 9 | extern int figure_splash_height[]; 10 | extern void figure_splash_init(void); 11 | #endif /* __figure_splash_H__ */ 12 | 13 | -------------------------------------------------------------------------------- /pixmaps/figure_stripline.h: -------------------------------------------------------------------------------- 1 | /* figure_stripline.h */ 2 | /* ***** Generated from pstoedit ***** */ 3 | #ifndef __figure_stripline_H__ 4 | #define __figure_stripline_H__ 5 | #include 6 | extern cairo_t * (*figure_stripline_render[])(cairo_surface_t *, cairo_t *); 7 | extern int figure_stripline_total_pages; 8 | extern int figure_stripline_width[]; 9 | extern int figure_stripline_height[]; 10 | extern void figure_stripline_init(void); 11 | #endif /* __figure_stripline_H__ */ 12 | 13 | -------------------------------------------------------------------------------- /pixmaps/figure_stripline_model.h: -------------------------------------------------------------------------------- 1 | /* figure_stripline_model.h */ 2 | /* ***** Generated from pstoedit ***** */ 3 | #ifndef __figure_stripline_model_H__ 4 | #define __figure_stripline_model_H__ 5 | #include 6 | extern cairo_t * (*figure_stripline_model_render[])(cairo_surface_t *, cairo_t *); 7 | extern int figure_stripline_model_total_pages; 8 | extern int figure_stripline_model_width[]; 9 | extern int figure_stripline_model_height[]; 10 | extern void figure_stripline_model_init(void); 11 | #endif /* __figure_stripline_model_H__ */ 12 | 13 | -------------------------------------------------------------------------------- /pixmaps/ic_microstrip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmcmahill/wcalc/dfee9e48ad8f43668d646d202b3cef41d263a287/pixmaps/ic_microstrip.png -------------------------------------------------------------------------------- /pixmaps/ic_microstrip_model.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmcmahill/wcalc/dfee9e48ad8f43668d646d202b3cef41d263a287/pixmaps/ic_microstrip_model.png -------------------------------------------------------------------------------- /pixmaps/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmcmahill/wcalc/dfee9e48ad8f43668d646d202b3cef41d263a287/pixmaps/logo.png -------------------------------------------------------------------------------- /pixmaps/microstrip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmcmahill/wcalc/dfee9e48ad8f43668d646d202b3cef41d263a287/pixmaps/microstrip.png -------------------------------------------------------------------------------- /pixmaps/microstrip_model.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmcmahill/wcalc/dfee9e48ad8f43668d646d202b3cef41d263a287/pixmaps/microstrip_model.png -------------------------------------------------------------------------------- /pixmaps/rc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmcmahill/wcalc/dfee9e48ad8f43668d646d202b3cef41d263a287/pixmaps/rc.png -------------------------------------------------------------------------------- /pixmaps/regen_files: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # 4 | 5 | MAKE=${MAKE:-make} 6 | echo "Building all generated graphic files" 7 | ${MAKE} -f regen.mk 8 | 9 | -------------------------------------------------------------------------------- /pixmaps/rl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmcmahill/wcalc/dfee9e48ad8f43668d646d202b3cef41d263a287/pixmaps/rl.png -------------------------------------------------------------------------------- /pixmaps/rods_fig.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmcmahill/wcalc/dfee9e48ad8f43668d646d202b3cef41d263a287/pixmaps/rods_fig.png -------------------------------------------------------------------------------- /pixmaps/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmcmahill/wcalc/dfee9e48ad8f43668d646d202b3cef41d263a287/pixmaps/splash.png -------------------------------------------------------------------------------- /pixmaps/stripline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmcmahill/wcalc/dfee9e48ad8f43668d646d202b3cef41d263a287/pixmaps/stripline.png -------------------------------------------------------------------------------- /pixmaps/stripline_model.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmcmahill/wcalc/dfee9e48ad8f43668d646d202b3cef41d263a287/pixmaps/stripline_model.png -------------------------------------------------------------------------------- /po/.gitignore: -------------------------------------------------------------------------------- 1 | Makefile 2 | Makefile.in 3 | POTFILES 4 | es.gmo 5 | nl.gmo 6 | remove-potcdate.sed 7 | stamp-po 8 | *~ 9 | -------------------------------------------------------------------------------- /po/ChangeLog: -------------------------------------------------------------------------------- 1 | 2007-11-27 gettextize 2 | 3 | * Makefile.in.in: Upgrade to gettext-0.14.6. 4 | 5 | 2005-10-12 gettextize 6 | 7 | * Makefile.in.in: Upgrade to gettext-0.14.5. 8 | * Rules-quot: Upgrade to gettext-0.14.5. 9 | 10 | 2002-12-13 gettextize 11 | 12 | * Makefile.in.in: Upgrade to gettext-0.11.5. 13 | * Rules-quot: New file, from gettext-0.11.5. 14 | * boldquot.sed: New file, from gettext-0.11.5. 15 | * en@boldquot.header: New file, from gettext-0.11.5. 16 | * en@quot.header: New file, from gettext-0.11.5. 17 | * insert-header.sin: New file, from gettext-0.11.5. 18 | * quot.sed: New file, from gettext-0.11.5. 19 | * remove-potcdate.sin: New file, from gettext-0.11.5. 20 | * cat-id-tbl.c: Remove file. 21 | * stamp-cat-id: Remove file. 22 | 23 | -------------------------------------------------------------------------------- /po/LINGUAS: -------------------------------------------------------------------------------- 1 | # Set of available languages 2 | es 3 | nl 4 | -------------------------------------------------------------------------------- /po/POTFILES.in: -------------------------------------------------------------------------------- 1 | # 2 | 3 | # gtk-wcalc files 4 | gtk-wcalc/menus.c 5 | gtk-wcalc/start.c 6 | 7 | -------------------------------------------------------------------------------- /po/boldquot.sed: -------------------------------------------------------------------------------- 1 | s/"\([^"]*\)"/“\1”/g 2 | s/`\([^`']*\)'/‘\1’/g 3 | s/ '\([^`']*\)' / ‘\1’ /g 4 | s/ '\([^`']*\)'$/ ‘\1’/g 5 | s/^'\([^`']*\)' /‘\1’ /g 6 | s/“”/""/g 7 | s/“/“/g 8 | s/”/”/g 9 | s/‘/‘/g 10 | s/’/’/g 11 | -------------------------------------------------------------------------------- /po/en@boldquot.header: -------------------------------------------------------------------------------- 1 | # All this catalog "translates" are quotation characters. 2 | # The msgids must be ASCII and therefore cannot contain real quotation 3 | # characters, only substitutes like grave accent (0x60), apostrophe (0x27) 4 | # and double quote (0x22). These substitutes look strange; see 5 | # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html 6 | # 7 | # This catalog translates grave accent (0x60) and apostrophe (0x27) to 8 | # left single quotation mark (U+2018) and right single quotation mark (U+2019). 9 | # It also translates pairs of apostrophe (0x27) to 10 | # left single quotation mark (U+2018) and right single quotation mark (U+2019) 11 | # and pairs of quotation mark (0x22) to 12 | # left double quotation mark (U+201C) and right double quotation mark (U+201D). 13 | # 14 | # When output to an UTF-8 terminal, the quotation characters appear perfectly. 15 | # When output to an ISO-8859-1 terminal, the single quotation marks are 16 | # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to 17 | # grave/acute accent (by libiconv), and the double quotation marks are 18 | # transliterated to 0x22. 19 | # When output to an ASCII terminal, the single quotation marks are 20 | # transliterated to apostrophes, and the double quotation marks are 21 | # transliterated to 0x22. 22 | # 23 | # This catalog furthermore displays the text between the quotation marks in 24 | # bold face, assuming the VT100/XTerm escape sequences. 25 | # 26 | -------------------------------------------------------------------------------- /po/en@quot.header: -------------------------------------------------------------------------------- 1 | # All this catalog "translates" are quotation characters. 2 | # The msgids must be ASCII and therefore cannot contain real quotation 3 | # characters, only substitutes like grave accent (0x60), apostrophe (0x27) 4 | # and double quote (0x22). These substitutes look strange; see 5 | # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html 6 | # 7 | # This catalog translates grave accent (0x60) and apostrophe (0x27) to 8 | # left single quotation mark (U+2018) and right single quotation mark (U+2019). 9 | # It also translates pairs of apostrophe (0x27) to 10 | # left single quotation mark (U+2018) and right single quotation mark (U+2019) 11 | # and pairs of quotation mark (0x22) to 12 | # left double quotation mark (U+201C) and right double quotation mark (U+201D). 13 | # 14 | # When output to an UTF-8 terminal, the quotation characters appear perfectly. 15 | # When output to an ISO-8859-1 terminal, the single quotation marks are 16 | # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to 17 | # grave/acute accent (by libiconv), and the double quotation marks are 18 | # transliterated to 0x22. 19 | # When output to an ASCII terminal, the single quotation marks are 20 | # transliterated to apostrophes, and the double quotation marks are 21 | # transliterated to 0x22. 22 | # 23 | -------------------------------------------------------------------------------- /po/insert-header.sin: -------------------------------------------------------------------------------- 1 | # Sed script that inserts the file called HEADER before the header entry. 2 | # 3 | # At each occurrence of a line starting with "msgid ", we execute the following 4 | # commands. At the first occurrence, insert the file. At the following 5 | # occurrences, do nothing. The distinction between the first and the following 6 | # occurrences is achieved by looking at the hold space. 7 | /^msgid /{ 8 | x 9 | # Test if the hold space is empty. 10 | s/m/m/ 11 | ta 12 | # Yes it was empty. First occurrence. Read the file. 13 | r HEADER 14 | # Output the file's contents by reading the next line. But don't lose the 15 | # current line while doing this. 16 | g 17 | N 18 | bb 19 | :a 20 | # The hold space was nonempty. Following occurrences. Do nothing. 21 | x 22 | :b 23 | } 24 | -------------------------------------------------------------------------------- /po/quot.sed: -------------------------------------------------------------------------------- 1 | s/"\([^"]*\)"/“\1”/g 2 | s/`\([^`']*\)'/‘\1’/g 3 | s/ '\([^`']*\)' / ‘\1’ /g 4 | s/ '\([^`']*\)'$/ ‘\1’/g 5 | s/^'\([^`']*\)' /‘\1’ /g 6 | s/“”/""/g 7 | -------------------------------------------------------------------------------- /po/remove-potcdate.sin: -------------------------------------------------------------------------------- 1 | # Sed script that remove the POT-Creation-Date line in the header entry 2 | # from a POT file. 3 | # 4 | # The distinction between the first and the following occurrences of the 5 | # pattern is achieved by looking at the hold space. 6 | /^"POT-Creation-Date: .*"$/{ 7 | x 8 | # Test if the hold space is empty. 9 | s/P/P/ 10 | ta 11 | # Yes it was empty. First occurrence. Remove the line. 12 | g 13 | d 14 | bb 15 | :a 16 | # The hold space was nonempty. Following occurrences. Do nothing. 17 | x 18 | :b 19 | } 20 | -------------------------------------------------------------------------------- /sci-wcalc/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | *.o 3 | *.lo 4 | *.cat 5 | *.dia 6 | *.htm 7 | *.man 8 | load_wcalc.sce 9 | test_wcalc.sce 10 | load_wcalc.sce.in 11 | whatis 12 | Makefile.in 13 | Makefile 14 | .deps 15 | .libs 16 | libsci_wcalc.c 17 | libsci_wcalc.la 18 | dot_scilab 19 | wcalc_test.sci 20 | .Scilab 21 | -------------------------------------------------------------------------------- /sci-wcalc/air_coil_syn.dem: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2001, 2005 Dan McMahill 3 | // All rights reserved. 4 | // 5 | // This program is free software; you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation; version 2 of the License. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // You should have received a copy of the GNU General Public License 15 | // along with this program; if not, write to the Free Software 16 | // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | 18 | // ----------------------------------------------- 19 | // Air Core Inductor Synthesis 20 | // ----------------------------------------------- 21 | 22 | // synthesize N and len with N minimized 23 | L = 220e-9; // Desired inductance 24 | AWG = 22; // wire size (AWG) 25 | dia = 0.14*sf; // inside diameter of coil 26 | f = 50e6; // operating frequency (Hz) 27 | 28 | 29 | 30 | // synthesize len with N fixed 31 | L = 220e-9; // Desired inductance 32 | N = 8; // Fixed # of turns 33 | AWG = 22; // wire size (AWG) 34 | dia = 0.14; // inside diameter of coil 35 | f = 50e6; // operating frequency (Hz) 36 | 37 | 38 | -------------------------------------------------------------------------------- /sci-wcalc/bars_calc.dia.ref: -------------------------------------------------------------------------------- 1 | 2 | 3 | exec test_wcalc.sce; 4 | shared archive loaded 5 | 6 | 7 | disp('**** bars_calc ****'); 8 | 9 | **** bars_calc **** 10 | 11 | // -------------------------------------------------------- 12 | 13 | // Self and mutual inductance of a pair of rectangular bars 14 | 15 | // -------------------------------------------------------- 16 | 17 | 18 | // dimensions in meters 19 | 20 | a = 10e-6; // Width of bar #1 21 | 22 | b = 1e-6; // Thickness of bar #1 23 | 24 | l1 = 1e-3; // Length of bar #1 25 | 26 | 27 | d = 10e-6; // Width of bar #2 28 | 29 | c = 1e-6; // Thickness of bar #2 30 | 31 | l2 = 1e-3; // Length of bar #2 32 | 33 | 34 | E = 12e-6; // Position of bar #2 in the width direction 35 | 36 | P = 0; // Position of bar #2 in the thickness direction 37 | 38 | l3 = 0; // Position of bar #2 in the length direction 39 | 40 | 41 | f = 1e9; // operating frequency (Hz) 42 | 43 | 44 | [L1, L2, M, k] =0... 45 | bars_calc(a, b, l1, d, c, l2, E, P, l3, f); 46 | 47 | 48 | disp(sprintf("L1 = %g nH\n", L1*1e9)); 49 | 50 | L1 = 1.14086 nH 51 | 52 | disp(sprintf("L2 = %g nH\n", L2*1e9)); 53 | 54 | L2 = 1.14086 nH 55 | 56 | disp(sprintf("M = %g nH\n", M*1e9)); 57 | 58 | M = 0.839194 nH 59 | 60 | disp(sprintf("k = %g\n", k)); 61 | 62 | k = 0.735581 63 | 64 | 65 | -------------------------------------------------------------------------------- /sci-wcalc/bars_calc.tst: -------------------------------------------------------------------------------- 1 | 2 | exec test_wcalc.sce; 3 | 4 | disp('**** bars_calc ****'); 5 | // -------------------------------------------------------- 6 | // Self and mutual inductance of a pair of rectangular bars 7 | // -------------------------------------------------------- 8 | 9 | // dimensions in meters 10 | a = 10e-6; // Width of bar #1 11 | b = 1e-6; // Thickness of bar #1 12 | l1 = 1e-3; // Length of bar #1 13 | 14 | d = 10e-6; // Width of bar #2 15 | c = 1e-6; // Thickness of bar #2 16 | l2 = 1e-3; // Length of bar #2 17 | 18 | E = 12e-6; // Position of bar #2 in the width direction 19 | P = 0; // Position of bar #2 in the thickness direction 20 | l3 = 0; // Position of bar #2 in the length direction 21 | 22 | f = 1e9; // operating frequency (Hz) 23 | 24 | [L1, L2, M, k] = ... 25 | bars_calc(a, b, l1, d, c, l2, E, P, l3, f); 26 | 27 | disp(sprintf("L1 = %g nH\n", L1*1e9)); 28 | disp(sprintf("L2 = %g nH\n", L2*1e9)); 29 | disp(sprintf("M = %g nH\n", M*1e9)); 30 | disp(sprintf("k = %g\n", k)); 31 | 32 | -------------------------------------------------------------------------------- /sci-wcalc/coax_calc.tst: -------------------------------------------------------------------------------- 1 | 2 | exec test_wcalc.sce; 3 | 4 | disp('**** coax_calc ****'); 5 | sf=25.4e-6; // mils to meters conversion factor 6 | a=10.0*sf; // radius of inner conductor 7 | b=100.0*sf; // inner radius of outer conductor 8 | c=0*sf; // offset of inner conductor 9 | t=5.0*sf; // thickness of outer conductor 10 | rho_a=3.5e-8; // resistivity of inner conductor 11 | rho_b=rho_a; // resistivity of outer conductor 12 | er=9.5; // relative permitivitty of dielectric 13 | tand=0.01; // dielectric loss tangent 14 | len=1.0; // length of line 15 | f=100e6; // 100 MHz operation 16 | [z0,elen,loss,L,R,C,G,lc,ld,fc,em] = coax_calc(a,b,c,t,rho_a,rho_b,er,tand,len,f); 17 | disp(sprintf('z0 = %8.4g Ohms',z0)); 18 | disp(sprintf('elen = %8.4g degrees',elen)); 19 | disp(sprintf('loss = %8.4g dB',loss)); 20 | disp(sprintf('L = %8.4g H/m',L)); 21 | disp(sprintf('R = %8.4g Ohms/m',R)); 22 | disp(sprintf('C = %8.4g F/m',C)); 23 | disp(sprintf('G = %8.4g S/m',G)); 24 | disp(sprintf('Conductor loss = %8.4g dB/m', lc)); 25 | disp(sprintf('Dielectric loss = %8.4g dB/m', ld)); 26 | disp(sprintf('TE10 cutoff = %8.4g GHz', fc/1e9)); 27 | disp(sprintf('Max E field = %8.4g kV/m', em/1e3)); 28 | 29 | 30 | -------------------------------------------------------------------------------- /sci-wcalc/coax_examples.sce: -------------------------------------------------------------------------------- 1 | // 2 | 3 | 4 | // sum of inner and outer radii 5 | s=0.01; 6 | m=.003; 7 | 8 | // radius of inner conductor 9 | a=linspace(m/2,s/2 - m,1000); 10 | 11 | // inner radius of outer conductor 12 | b=s-a; 13 | 14 | // offset of inner conductor 15 | c=0; 16 | 17 | // thickness of outer conductor 18 | t=0.01; 19 | 20 | // resistivity of inner conductor 21 | rho_a=3.5e-8; 22 | 23 | // resistivity of outer conductor 24 | rho_b=rho_a; 25 | 26 | 27 | // relative permitivitty of dielectric 28 | er=1.0; 29 | 30 | // dielectric loss tangent 31 | tand=0.0; 32 | 33 | // length of line 34 | len=1.0; 35 | 36 | // frequency of operation 37 | f=100e6; 38 | 39 | [z0,elen,loss,L,R,C,G] = coax_calc(a,b,c,t,rho_a,rho_b,er,tand,len,f); 40 | 41 | plot(z0,loss); 42 | xgrid(4); 43 | tmps=sprintf("Loss vs. Impedance\r\nFixed Cutoff Wavelength"); 44 | xtitle(tmps,"Ohms","dB"); 45 | 46 | b=0.01; 47 | a=linspace(.0022,.0035,1000); 48 | [z0,elen,loss,L,R,C,G] = coax_calc(a,b,c,t,rho_a,rho_b,er,tand,len,f); 49 | 50 | plot(z0,loss); 51 | xgrid(4); 52 | tmps=sprintf("Loss vs. Impedance\r\nFixed outer diameter"); 53 | xtitle(tmps,"Ohms","dB"); 54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /sci-wcalc/coplanar_syn.dia.ref: -------------------------------------------------------------------------------- 1 | 2 | 3 | exec test_wcalc.sce; 4 | shared archive loaded 5 | 6 | 7 | disp('**** coplanar_syn ****'); 8 | 9 | **** coplanar_syn **** 10 | 11 | sf=25.4e-6; // mils to meters conversion factor 12 | 13 | z0=75; // desired impedance 14 | 15 | elen=90; // desired electrical length (degrees) 16 | 17 | w=0; // width (we'll synthesize this) 18 | 19 | h=62*sf; // height 20 | 21 | l=1100*sf; // length 22 | 23 | tmet=1.4*sf; // metal thickness 24 | 25 | rho=1.72e-8; // resitivity 26 | 27 | rough=0.05*sf; // metal surface roughness 28 | 29 | er=4.5; // relative dielectric constant 30 | 31 | tand=0.01; // loss tangent 32 | 33 | f=2.4e9; // frequency 34 | 35 | flag=0; // synthesize width 36 | 37 | [w_out,h_out,l_out,er_out] =0... 38 | coplanar_syn(z0,elen,w,h,l,tmet,rho,rough,er,tand,f,flag); 39 | 40 | disp(sprintf('w=%8.4g mils, l=%8.4g mils',w_out/sf,l_out/sf)); 41 | 42 | w= 45.79 mils, l= 579.6 mils 43 | 44 | disp(sprintf('er=%8.4g',er_out)); 45 | 46 | er= 4.5 47 | 48 | disp(sprintf('z0=%8.4g ohms, length=%8.4g degrees',z0,elen)); 49 | 50 | z0= 75 ohms, length= 90 degrees 51 | 52 | 53 | -------------------------------------------------------------------------------- /sci-wcalc/coplanar_syn.tst: -------------------------------------------------------------------------------- 1 | 2 | exec test_wcalc.sce; 3 | 4 | disp('**** coplanar_syn ****'); 5 | sf=25.4e-6; // mils to meters conversion factor 6 | z0=75; // desired impedance 7 | elen=90; // desired electrical length (degrees) 8 | w=0; // width (we'll synthesize this) 9 | h=62*sf; // height 10 | l=1100*sf; // length 11 | tmet=1.4*sf; // metal thickness 12 | rho=1.72e-8; // resitivity 13 | rough=0.05*sf; // metal surface roughness 14 | er=4.5; // relative dielectric constant 15 | tand=0.01; // loss tangent 16 | f=2.4e9; // frequency 17 | flag=0; // synthesize width 18 | [w_out,h_out,l_out,er_out] = ... 19 | coplanar_syn(z0,elen,w,h,l,tmet,rho,rough,er,tand,f,flag); 20 | disp(sprintf('w=%8.4g mils, l=%8.4g mils',w_out/sf,l_out/sf)); 21 | disp(sprintf('er=%8.4g',er_out)); 22 | disp(sprintf('z0=%8.4g ohms, length=%8.4g degrees',z0,elen)); 23 | 24 | -------------------------------------------------------------------------------- /sci-wcalc/coupled_microstrip_calc.dia.ref: -------------------------------------------------------------------------------- 1 | 2 | 3 | exec test_wcalc.sce; 4 | shared archive loaded 5 | 6 | 7 | disp('**** coupled_microstrip_calc ****'); 8 | 9 | **** coupled_microstrip_calc **** 10 | 11 | sf=25.4e-6; // mils to meters conversion factor 12 | 13 | w=20*sf; // width 14 | 15 | s=8*sf; // spacing 16 | 17 | h=15*sf; // height 18 | 19 | l=1100*sf; // length 20 | 21 | tmet=1.4*sf; // metal thickness 22 | 23 | rho=1.72e-8; // resitivity of copper 24 | 25 | rough=0.05*sf; // metal surface roughness 26 | 27 | er=4.5; // relative dielectric constant 28 | 29 | tand=0.01; // loss tangent 30 | 31 | f=2.4e9; // frequency 32 | 33 | [z0,k,z0e,z0o,kev,kodd,losse,losso,deltale,deltalo] =0... 34 | coupled_microstrip_calc(w,s,h,l,tmet,rho,rough,er,tand,f); 35 | 36 | disp(sprintf('z0=%8.4g Ohms, k=%8.4g',z0,k)); 37 | 38 | z0= 58.33 Ohms, k= 0.2145 39 | 40 | disp(sprintf('z0e=%8.4g Ohms, z0o=%8.4g Ohms',z0e,z0o)); 41 | 42 | z0e= 72.53 Ohms, z0o= 46.91 Ohms 43 | 44 | disp(sprintf('kev=%8.4g, kodd=%8.4g',kev,kodd)); 45 | 46 | kev= 3.546, kodd= 2.934 47 | 48 | disp(sprintf('losse=%8.4g dB, losso=%8.4g dB',losse,losso)); 49 | 50 | losse= 0.1629 dB, losso= 0.142 dB 51 | 52 | disp(sprintf('deltale=%8.4g mils, deltalo=%8.4g mils', deltale/sf, deltalo/sf)); 53 | 54 | deltale= 6.716 mils, deltalo= 4.257 mils 55 | 56 | 57 | -------------------------------------------------------------------------------- /sci-wcalc/coupled_microstrip_calc.tst: -------------------------------------------------------------------------------- 1 | 2 | exec test_wcalc.sce; 3 | 4 | disp('**** coupled_microstrip_calc ****'); 5 | sf=25.4e-6; // mils to meters conversion factor 6 | w=20*sf; // width 7 | s=8*sf; // spacing 8 | h=15*sf; // height 9 | l=1100*sf; // length 10 | tmet=1.4*sf; // metal thickness 11 | rho=1.72e-8; // resitivity of copper 12 | rough=0.05*sf; // metal surface roughness 13 | er=4.5; // relative dielectric constant 14 | tand=0.01; // loss tangent 15 | f=2.4e9; // frequency 16 | [z0,k,z0e,z0o,kev,kodd,losse,losso,deltale,deltalo] = ... 17 | coupled_microstrip_calc(w,s,h,l,tmet,rho,rough,er,tand,f); 18 | disp(sprintf('z0=%8.4g Ohms, k=%8.4g',z0,k)); 19 | disp(sprintf('z0e=%8.4g Ohms, z0o=%8.4g Ohms',z0e,z0o)); 20 | disp(sprintf('kev=%8.4g, kodd=%8.4g',kev,kodd)); 21 | disp(sprintf('losse=%8.4g dB, losso=%8.4g dB',losse,losso)); 22 | disp(sprintf('deltale=%8.4g mils, deltalo=%8.4g mils', deltale/sf, deltalo/sf)); 23 | 24 | -------------------------------------------------------------------------------- /sci-wcalc/coupled_microstrip_syn.dia.ref: -------------------------------------------------------------------------------- 1 | 2 | 3 | exec test_wcalc.sce; 4 | shared archive loaded 5 | 6 | 7 | disp('**** coupled_microstrip_syn ****'); 8 | 9 | **** coupled_microstrip_syn **** 10 | 11 | sf=25.4e-6; // mils to meters conversion factor 12 | 13 | z0=75; // desired impedance 14 | 15 | k=0.3; // desired coupling 16 | 17 | elen=90; // desired electrical length (degrees) 18 | 19 | w=0; // width (we'll synthesize this) 20 | 21 | s=0; // spacing (we'll synthesize this) 22 | 23 | h=15*sf; // height 24 | 25 | l=1100*sf; // length 26 | 27 | tmet=1.4*sf; // metal thickness 28 | 29 | rho=1.72e-8; // resistivity in ohm-meter 30 | 31 | rough=0.05*sf; // metal surface roughness 32 | 33 | er=4.5; // relative dielectric constant 34 | 35 | tand=0.01; // loss tangent 36 | 37 | f=2.4e9; // frequency 38 | 39 | flag=1; // synthesize from z0 and k (instead 40 | 41 | // of z0e and z0o) 42 | 43 | [w_out,s_out,l_out] =0... 44 | coupled_microstrip_syn(z0,k,elen,w,s,h,l,tmet,rho,rough,er,tand,f,flag); 45 | 46 | disp(sprintf('w=%8.4g mils, s=%8.4g mils, l=%8.4g mils',w_out/sf,s_out/sf,l_out/sf)); 47 | 48 | w= 11.21 mils, s= 5.549 mils, l= 698.9 mils 49 | 50 | 51 | -------------------------------------------------------------------------------- /sci-wcalc/coupled_microstrip_syn.tst: -------------------------------------------------------------------------------- 1 | 2 | exec test_wcalc.sce; 3 | 4 | disp('**** coupled_microstrip_syn ****'); 5 | sf=25.4e-6; // mils to meters conversion factor 6 | z0=75; // desired impedance 7 | k=0.3; // desired coupling 8 | elen=90; // desired electrical length (degrees) 9 | w=0; // width (we'll synthesize this) 10 | s=0; // spacing (we'll synthesize this) 11 | h=15*sf; // height 12 | l=1100*sf; // length 13 | tmet=1.4*sf; // metal thickness 14 | rho=1.72e-8; // resistivity in ohm-meter 15 | rough=0.05*sf; // metal surface roughness 16 | er=4.5; // relative dielectric constant 17 | tand=0.01; // loss tangent 18 | f=2.4e9; // frequency 19 | flag=1; // synthesize from z0 and k (instead 20 | // of z0e and z0o) 21 | [w_out,s_out,l_out] = ... 22 | coupled_microstrip_syn(z0,k,elen,w,s,h,l,tmet,rho,rough,er,tand,f,flag); 23 | disp(sprintf('w=%8.4g mils, s=%8.4g mils, l=%8.4g mils',w_out/sf,s_out/sf,l_out/sf)); 24 | 25 | -------------------------------------------------------------------------------- /sci-wcalc/coupled_stripline_calc.dia.ref: -------------------------------------------------------------------------------- 1 | 2 | 3 | exec test_wcalc.sce; 4 | shared archive loaded 5 | 6 | 7 | disp('**** coupled_stripline_calc ****'); 8 | 9 | **** coupled_stripline_calc **** 10 | 11 | sf=25.4e-6; // mils to meters conversion factor 12 | 13 | w=20*sf; // width 14 | 15 | s=8*sf; // spacing 16 | 17 | h=15*sf; // height 18 | 19 | l=1100*sf; // length 20 | 21 | tmet=1.4*sf; // metal thickness 22 | 23 | rho=1.72e-8; // resitivity of copper 24 | 25 | rough=0.05*sf; // metal surface roughness 26 | 27 | er=4.5; // relative dielectric constant 28 | 29 | tand=0.01; // loss tangent 30 | 31 | f=2.4e9; // frequency 32 | 33 | [z0,k,z0e,z0o,kev,kodd,losse,losso,deltale,deltalo] =0... 34 | coupled_stripline_calc(w,s,h,l,tmet,rho,rough,er,tand,f); 35 | 36 | disp(sprintf('z0=%8.4g Ohms, k=%8.4g',z0,k)); 37 | 38 | z0= 21.59 Ohms, k= 0.03798 39 | 40 | disp(sprintf('z0e=%8.4g Ohms, z0o=%8.4g Ohms',z0e,z0o)); 41 | 42 | z0e= 22.42 Ohms, z0o= 20.78 Ohms 43 | 44 | disp(sprintf('kev=%8.4g, kodd=%8.4g',kev,kodd)); 45 | 46 | kev= 4.5, kodd= 4.5 47 | 48 | disp(sprintf('losse=%8.4g dB, losso=%8.4g dB',losse,losso)); 49 | 50 | losse= 0.3281 dB, losso= 0.3186 dB 51 | 52 | disp(sprintf('deltale=%8.4g mils, deltalo=%8.4g mils', deltale/sf, deltalo/sf)); 53 | 54 | deltale= 0 mils, deltalo= 0 mils 55 | 56 | 57 | -------------------------------------------------------------------------------- /sci-wcalc/coupled_stripline_calc.tst: -------------------------------------------------------------------------------- 1 | 2 | exec test_wcalc.sce; 3 | 4 | disp('**** coupled_stripline_calc ****'); 5 | sf=25.4e-6; // mils to meters conversion factor 6 | w=20*sf; // width 7 | s=8*sf; // spacing 8 | h=15*sf; // height 9 | l=1100*sf; // length 10 | tmet=1.4*sf; // metal thickness 11 | rho=1.72e-8; // resitivity of copper 12 | rough=0.05*sf; // metal surface roughness 13 | er=4.5; // relative dielectric constant 14 | tand=0.01; // loss tangent 15 | f=2.4e9; // frequency 16 | [z0,k,z0e,z0o,kev,kodd,losse,losso,deltale,deltalo] = ... 17 | coupled_stripline_calc(w,s,h,l,tmet,rho,rough,er,tand,f); 18 | disp(sprintf('z0=%8.4g Ohms, k=%8.4g',z0,k)); 19 | disp(sprintf('z0e=%8.4g Ohms, z0o=%8.4g Ohms',z0e,z0o)); 20 | disp(sprintf('kev=%8.4g, kodd=%8.4g',kev,kodd)); 21 | disp(sprintf('losse=%8.4g dB, losso=%8.4g dB',losse,losso)); 22 | disp(sprintf('deltale=%8.4g mils, deltalo=%8.4g mils', deltale/sf, deltalo/sf)); 23 | 24 | -------------------------------------------------------------------------------- /sci-wcalc/coupled_stripline_syn.dia.ref: -------------------------------------------------------------------------------- 1 | 2 | 3 | exec test_wcalc.sce; 4 | shared archive loaded 5 | 6 | 7 | disp('**** coupled_stripline_syn ****'); 8 | 9 | **** coupled_stripline_syn **** 10 | 11 | sf=25.4e-6; // mils to meters conversion factor 12 | 13 | z0=50; // desired impedance 14 | 15 | k=0.1; // desired coupling 16 | 17 | elen=90; // desired electrical length (degrees) 18 | 19 | w=0; // width (we'll synthesize this) 20 | 21 | s=0; // spacing (we'll synthesize this) 22 | 23 | h=31*sf; // height 24 | 25 | l=1100*sf; // length 26 | 27 | tmet=1.4*sf; // metal thickness 28 | 29 | rho=1.72e-8; // resistivity in ohm-meter 30 | 31 | rough=0.05*sf; // metal surface roughness 32 | 33 | er=4.5; // relative dielectric constant 34 | 35 | tand=0.01; // loss tangent 36 | 37 | f=2.4e9; // frequency 38 | 39 | flag=1; // synthesize from z0 and k (instead 40 | 41 | // of z0e and z0o) 42 | 43 | [w_out,s_out,l_out] =0... 44 | coupled_stripline_syn(z0,k,elen,w,s,h,l,tmet,rho,rough,er,tand,f,flag); 45 | 46 | disp(sprintf('w=%8.4g mils, s=%8.4g mils, l=%8.4g mils',w_out/sf,s_out/sf,l_out/sf)); 47 | 48 | w= 11.09 mils, s= 13.71 mils, l= 579.6 mils 49 | 50 | 51 | -------------------------------------------------------------------------------- /sci-wcalc/coupled_stripline_syn.tst: -------------------------------------------------------------------------------- 1 | 2 | exec test_wcalc.sce; 3 | 4 | disp('**** coupled_stripline_syn ****'); 5 | sf=25.4e-6; // mils to meters conversion factor 6 | z0=50; // desired impedance 7 | k=0.1; // desired coupling 8 | elen=90; // desired electrical length (degrees) 9 | w=0; // width (we'll synthesize this) 10 | s=0; // spacing (we'll synthesize this) 11 | h=31*sf; // height 12 | l=1100*sf; // length 13 | tmet=1.4*sf; // metal thickness 14 | rho=1.72e-8; // resistivity in ohm-meter 15 | rough=0.05*sf; // metal surface roughness 16 | er=4.5; // relative dielectric constant 17 | tand=0.01; // loss tangent 18 | f=2.4e9; // frequency 19 | flag=1; // synthesize from z0 and k (instead 20 | // of z0e and z0o) 21 | [w_out,s_out,l_out] = ... 22 | coupled_stripline_syn(z0,k,elen,w,s,h,l,tmet,rho,rough,er,tand,f,flag); 23 | disp(sprintf('w=%8.4g mils, s=%8.4g mils, l=%8.4g mils',w_out/sf,s_out/sf,l_out/sf)); 24 | 25 | -------------------------------------------------------------------------------- /sci-wcalc/dot_scilab.in: -------------------------------------------------------------------------------- 1 | // 2 | 3 | // 4 | // Place the following in your ~/.scilab file to automatically 5 | // load sci-wcalc on scilab startup. 6 | // 7 | 8 | 9 | write(%io(2),'Loading @pkgname@'); 10 | exec('@scidir@/load_wcalc.sce'); 11 | 12 | -------------------------------------------------------------------------------- /sci-wcalc/ic_microstrip_calc.tst: -------------------------------------------------------------------------------- 1 | 2 | exec test_wcalc.sce; 3 | 4 | disp('**** ic_microstrip_calc ****'); 5 | w=150e-6; // width 6 | h=250e-6; // substrate height 7 | l=1000e-6; // length 8 | es=11.8; // substrate permitivitty 9 | sigmas=0.5; // substrate conductivity 10 | tox=1.5e-6; // oxide thickness 11 | eox=4; // oxide permitivitty 12 | tmet=0.8e-6; // metal thickenss 13 | rho=3.0e-8; // metal resitivity 14 | rough=0.0; // metal surface roughness 15 | f=2.4e9; // frequency 16 | [z0,keff,elen,loss,L,R,C,G] = ic_microstrip_calc(w,l,tox,eox,h,es,sigmas,tmet,rho,rough,f); 17 | disp(sprintf('z0 = %8.4g + j %8.4g Ohms', real(z0), imag(z0) )); 18 | disp(sprintf('keff = %8.4g ',keff)); 19 | disp(sprintf('elen = %8.4g degrees',elen)); 20 | disp(sprintf('loss = %8.4g dB',loss)); 21 | disp(sprintf('L = %8.4g nH/mm', L*1e6)); 22 | disp(sprintf('R = %8.4g Ohm/mm', R*1e-3)); 23 | disp(sprintf('C = %8.4g fF/mm', C*1e12)); 24 | disp(sprintf('G = %8.4g uMho/mm', G*1e3)); 25 | 26 | -------------------------------------------------------------------------------- /sci-wcalc/ic_microstrip_syn.dia.ref: -------------------------------------------------------------------------------- 1 | 2 | 3 | exec test_wcalc.sce; 4 | shared archive loaded 5 | 6 | 7 | disp('**** ic_microstrip_syn ****'); 8 | 9 | **** ic_microstrip_syn **** 10 | 11 | z0=75; // desired impedance 12 | 13 | elen=90; // desired electrical length (degrees) 14 | 15 | sf=1.0e-6; // micron to meters conversion factor 16 | 17 | w=160e-6; // width 18 | 19 | l=1000e-6; // length 20 | 21 | tox=1.0e-6; // oxide thickness 22 | 23 | eox=4.0; // oxide relative dielectric constant 24 | 25 | h=250e-6; // substrate thickness 26 | 27 | es=11.8; // substrate relative dielectric constant 28 | 29 | sigmas=10; // substrate conductivity (1/(ohm-m)) 30 | 31 | tmet=1.6e-6; // metal thickness 32 | 33 | rho=3e-8; // metal resitivity (ohm-m) 34 | 35 | rough=0; // metal surface roughness 36 | 37 | f=2.4e9; // frequency 38 | 39 | flag=0; // synthesize width 40 | 41 | [w_out, h_out, tox_out, l_out] =0... 42 | ic_microstrip_syn(z0,elen,w,l,tox,eox,h,es,sigmas,tmet,rho,rough,f,flag); 43 | 44 | disp(sprintf('w = %8.3g um', w_out*1e6)); 45 | 46 | w = 6.63 um 47 | 48 | disp(sprintf('h = %8.3g um', h_out*1e6)); 49 | 50 | h = 250 um 51 | 52 | disp(sprintf('tox = %8.3g um', tox_out*1e6)); 53 | 54 | tox = 1 um 55 | 56 | disp(sprintf('l = %8.3g um', l_out*1e6)); 57 | 58 | l = 6.32e+03 um 59 | 60 | 61 | -------------------------------------------------------------------------------- /sci-wcalc/ic_microstrip_syn.tst: -------------------------------------------------------------------------------- 1 | 2 | exec test_wcalc.sce; 3 | 4 | disp('**** ic_microstrip_syn ****'); 5 | z0=75; // desired impedance 6 | elen=90; // desired electrical length (degrees) 7 | sf=1.0e-6; // micron to meters conversion factor 8 | w=160e-6; // width 9 | l=1000e-6; // length 10 | tox=1.0e-6; // oxide thickness 11 | eox=4.0; // oxide relative dielectric constant 12 | h=250e-6; // substrate thickness 13 | es=11.8; // substrate relative dielectric constant 14 | sigmas=10; // substrate conductivity (1/(ohm-m)) 15 | tmet=1.6e-6; // metal thickness 16 | rho=3e-8; // metal resitivity (ohm-m) 17 | rough=0; // metal surface roughness 18 | f=2.4e9; // frequency 19 | flag=0; // synthesize width 20 | [w_out, h_out, tox_out, l_out] = ... 21 | ic_microstrip_syn(z0,elen,w,l,tox,eox,h,es,sigmas,tmet,rho,rough,f,flag); 22 | disp(sprintf('w = %8.3g um', w_out*1e6)); 23 | disp(sprintf('h = %8.3g um', h_out*1e6)); 24 | disp(sprintf('tox = %8.3g um', tox_out*1e6)); 25 | disp(sprintf('l = %8.3g um', l_out*1e6)); 26 | 27 | -------------------------------------------------------------------------------- /sci-wcalc/man.dtd: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /sci-wcalc/mex.mk: -------------------------------------------------------------------------------- 1 | ## Copyright (c) 2001, 2006, 2009, 2020 Dan McMahill 2 | ## All rights reserved. 3 | ## 4 | ## This program is free software; you can redistribute it and/or modify 5 | ## it under the terms of the GNU General Public License as published by 6 | ## the Free Software Foundation; version 2 of the License. 7 | ## 8 | ## This program is distributed in the hope that it will be useful, 9 | ## but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | ## GNU General Public License for more details. 12 | ## 13 | ## You should have received a copy of the GNU General Public License 14 | ## along with this program; if not, write to the Free Software 15 | ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 16 | 17 | MEX_SRCS= \ 18 | air_coil_calc.c \ 19 | air_coil_syn.c \ 20 | bars_calc.c \ 21 | coax_calc.c \ 22 | coax_syn.c \ 23 | coplanar_calc.c \ 24 | coplanar_syn.c \ 25 | coupled_microstrip_calc.c \ 26 | coupled_microstrip_syn.c \ 27 | coupled_stripline_calc.c \ 28 | coupled_stripline_syn.c \ 29 | ic_microstrip_calc.c \ 30 | ic_microstrip_syn.c \ 31 | microstrip_calc.c \ 32 | microstrip_syn.c \ 33 | parallel_rc_p2s.c \ 34 | parallel_rc_s2p.c \ 35 | parallel_rl_p2s.c \ 36 | parallel_rl_s2p.c \ 37 | rods_calc.c \ 38 | stripline_calc.c \ 39 | stripline_syn.c 40 | 41 | -------------------------------------------------------------------------------- /sci-wcalc/microstrip_calc.tst: -------------------------------------------------------------------------------- 1 | 2 | exec test_wcalc.sce; 3 | 4 | disp('**** microstrip_calc ****'); 5 | sf=25.4e-6; // mils to meters conversion factor 6 | w=20*sf; // width 7 | h=15*sf; // height 8 | l=1100*sf; // length 9 | tmet=1.4*sf; // metal thickness 10 | rho=1.72e-8; // resitivity 11 | rough=0.05*sf; // metal surface roughness 12 | er=4.5; // relative dielectric constant 13 | tand=0.01; // loss tangent 14 | f=2.4e9; // frequency 15 | [z0,keff,elen,loss,L,R,C,G,lc,ld,deltal,depth] = microstrip_calc(w,h,l,tmet,rho,rough,er,tand,f); 16 | disp(sprintf('z0 = %8.4g Ohms',z0)); 17 | disp(sprintf('keff = %8.4g ',keff)); 18 | disp(sprintf('elen = %8.4g degrees',elen)); 19 | disp(sprintf('loss = %8.4g dB',loss)); 20 | disp(sprintf('L = %8.4g H/m',L)); 21 | disp(sprintf('R = %8.4g Ohms/m',R)); 22 | disp(sprintf('C = %8.4g F/m',C)); 23 | disp(sprintf('G = %8.4g S/m',G)); 24 | disp(sprintf('lc = %8.4g dB/m',lc)); 25 | disp(sprintf('ld = %8.4g dB/m',ld)); 26 | disp(sprintf('open end correction = %8.4g mil', deltal/sf)); 27 | disp(sprintf('skin depth = %8.4g um', depth*1e6)); 28 | 29 | 30 | -------------------------------------------------------------------------------- /sci-wcalc/microstrip_syn.dia.ref: -------------------------------------------------------------------------------- 1 | 2 | 3 | exec test_wcalc.sce; 4 | shared archive loaded 5 | 6 | 7 | disp('**** microstrip_syn ****'); 8 | 9 | **** microstrip_syn **** 10 | 11 | sf=25.4e-6; // mils to meters conversion factor 12 | 13 | z0=75; // desired impedance 14 | 15 | elen=90; // desired electrical length (degrees) 16 | 17 | w=0; // width (we'll synthesize this) 18 | 19 | h=62*sf; // height 20 | 21 | l=1100*sf; // length 22 | 23 | tmet=1.4*sf; // metal thickness 24 | 25 | rho=1.72e-8; // resitivity 26 | 27 | rough=0.05*sf; // metal surface roughness 28 | 29 | er=4.5; // relative dielectric constant 30 | 31 | tand=0.01; // loss tangent 32 | 33 | f=2.4e9; // frequency 34 | 35 | flag=0; // synthesize width 36 | 37 | [w_out,h_out,l_out,er_out] =0... 38 | microstrip_syn(z0,elen,w,h,l,tmet,rho,rough,er,tand,f,flag); 39 | 40 | disp(sprintf('w=%8.4g mils, l=%8.4g mils',w_out/sf,l_out/sf)); 41 | 42 | w= 52.33 mils, l= 688.5 mils 43 | 44 | disp(sprintf('er=%8.4g',er_out)); 45 | 46 | er= 4.5 47 | 48 | disp(sprintf('z0=%8.4g ohms, length=%8.4g degrees',z0,elen)); 49 | 50 | z0= 75 ohms, length= 90 degrees 51 | 52 | 53 | -------------------------------------------------------------------------------- /sci-wcalc/microstrip_syn.tst: -------------------------------------------------------------------------------- 1 | 2 | exec test_wcalc.sce; 3 | 4 | disp('**** microstrip_syn ****'); 5 | sf=25.4e-6; // mils to meters conversion factor 6 | z0=75; // desired impedance 7 | elen=90; // desired electrical length (degrees) 8 | w=0; // width (we'll synthesize this) 9 | h=62*sf; // height 10 | l=1100*sf; // length 11 | tmet=1.4*sf; // metal thickness 12 | rho=1.72e-8; // resitivity 13 | rough=0.05*sf; // metal surface roughness 14 | er=4.5; // relative dielectric constant 15 | tand=0.01; // loss tangent 16 | f=2.4e9; // frequency 17 | flag=0; // synthesize width 18 | [w_out,h_out,l_out,er_out] = ... 19 | microstrip_syn(z0,elen,w,h,l,tmet,rho,rough,er,tand,f,flag); 20 | disp(sprintf('w=%8.4g mils, l=%8.4g mils',w_out/sf,l_out/sf)); 21 | disp(sprintf('er=%8.4g',er_out)); 22 | disp(sprintf('z0=%8.4g ohms, length=%8.4g degrees',z0,elen)); 23 | 24 | -------------------------------------------------------------------------------- /sci-wcalc/parallel_rc_p2s.dia.ref: -------------------------------------------------------------------------------- 1 | 2 | 3 | exec test_wcalc.sce; 4 | shared archive loaded 5 | 6 | 7 | disp('**** parallel_rc_p2s ****'); 8 | 9 | **** parallel_rc_p2s **** 10 | 11 | // -------------------------------------------------------- 12 | 13 | // Calculate series equivalent RC network from parallel network 14 | 15 | // -------------------------------------------------------- 16 | 17 | 18 | 19 | // 10 pF 20 | 21 | Cp=10e-12; 22 | 23 | 24 | // 5 kOhms 25 | 26 | Rp=5e3; 27 | 28 | 29 | // This value will be replaced 30 | 31 | Qp=100; 32 | 33 | 34 | // 100 MHz operation 35 | 36 | f=100e6; 37 | 38 | 39 | // Use Rp (and calculate Qp) 40 | 41 | flag=0; 42 | 43 | 44 | [Cs, Rs, Qs, Cp, Rp, Qp] = parallel_rc_p2s(Cp, Rp,Qp, f, flag); 45 | 46 | 47 | disp(sprintf('Equivalent series C = %g pF', Cs/1e-12)); 48 | 49 | Equivalent series C = 10.0101 pF 50 | 51 | disp(sprintf('Equivalent series R = %g Ohm', Rs)); 52 | 53 | Equivalent series R = 5.06093 Ohm 54 | 55 | disp(sprintf('Quality factor =%g',Qs)); 56 | 57 | Quality factor =31.4159 58 | 59 | -------------------------------------------------------------------------------- /sci-wcalc/parallel_rc_p2s.tst: -------------------------------------------------------------------------------- 1 | 2 | exec test_wcalc.sce; 3 | 4 | disp('**** parallel_rc_p2s ****'); 5 | // -------------------------------------------------------- 6 | // Calculate series equivalent RC network from parallel network 7 | // -------------------------------------------------------- 8 | 9 | 10 | // 10 pF 11 | Cp=10e-12; 12 | 13 | // 5 kOhms 14 | Rp=5e3; 15 | 16 | // This value will be replaced 17 | Qp=100; 18 | 19 | // 100 MHz operation 20 | f=100e6; 21 | 22 | // Use Rp (and calculate Qp) 23 | flag=0; 24 | 25 | [Cs, Rs, Qs, Cp, Rp, Qp] = parallel_rc_p2s(Cp, Rp,Qp, f, flag); 26 | 27 | disp(sprintf('Equivalent series C = %g pF', Cs/1e-12)); 28 | disp(sprintf('Equivalent series R = %g Ohm', Rs)); 29 | disp(sprintf('Quality factor =%g',Qs)); 30 | -------------------------------------------------------------------------------- /sci-wcalc/parallel_rc_s2p.dia.ref: -------------------------------------------------------------------------------- 1 | 2 | 3 | exec test_wcalc.sce; 4 | shared archive loaded 5 | 6 | 7 | disp('**** parallel_rc_s2p ****'); 8 | 9 | **** parallel_rc_s2p **** 10 | 11 | // -------------------------------------------------------- 12 | 13 | // Calculate parallel equivalent RC network from series network 14 | 15 | // -------------------------------------------------------- 16 | 17 | 18 | // 10 pF 19 | 20 | Cs=10e-12; 21 | 22 | 23 | // 0.5 Ohms 24 | 25 | Rs=0.5; 26 | 27 | 28 | // This value will be replaced 29 | 30 | Qs=100; 31 | 32 | 33 | // 100 MHz operation 34 | 35 | f=100e6; 36 | 37 | 38 | // Use Rs (and calculate Qs) 39 | 40 | flag=0; 41 | 42 | 43 | [Cs, Rs, Qs, Cp, Rp, Qp] = parallel_rc_s2p(Cs, Rs, Qs, f, flag); 44 | 45 | 46 | disp(sprintf('Equivalent parallel C = %g pF', Cp/1e-12)); 47 | 48 | Equivalent parallel C = 9.9999 pF 49 | 50 | disp(sprintf('Equivalent parallel R = %g kOhm', Rp/1e3)); 51 | 52 | Equivalent parallel R = 50.6611 kOhm 53 | 54 | disp(sprintf('Quality factor =%g',Qp)); 55 | 56 | Quality factor =318.31 57 | 58 | -------------------------------------------------------------------------------- /sci-wcalc/parallel_rc_s2p.tst: -------------------------------------------------------------------------------- 1 | 2 | exec test_wcalc.sce; 3 | 4 | disp('**** parallel_rc_s2p ****'); 5 | // -------------------------------------------------------- 6 | // Calculate parallel equivalent RC network from series network 7 | // -------------------------------------------------------- 8 | 9 | // 10 pF 10 | Cs=10e-12; 11 | 12 | // 0.5 Ohms 13 | Rs=0.5; 14 | 15 | // This value will be replaced 16 | Qs=100; 17 | 18 | // 100 MHz operation 19 | f=100e6; 20 | 21 | // Use Rs (and calculate Qs) 22 | flag=0; 23 | 24 | [Cs, Rs, Qs, Cp, Rp, Qp] = parallel_rc_s2p(Cs, Rs, Qs, f, flag); 25 | 26 | disp(sprintf('Equivalent parallel C = %g pF', Cp/1e-12)); 27 | disp(sprintf('Equivalent parallel R = %g kOhm', Rp/1e3)); 28 | disp(sprintf('Quality factor =%g',Qp)); 29 | -------------------------------------------------------------------------------- /sci-wcalc/parallel_rl_p2s.dia.ref: -------------------------------------------------------------------------------- 1 | 2 | 3 | exec test_wcalc.sce; 4 | shared archive loaded 5 | 6 | 7 | disp('**** parallel_rl_p2s ****'); 8 | 9 | **** parallel_rl_p2s **** 10 | 11 | // -------------------------------------------------------- 12 | 13 | // Calculate series equivalent RL network from parallel network 14 | 15 | // -------------------------------------------------------- 16 | 17 | 18 | 19 | // 10 nH 20 | 21 | Lp=10e-9; 22 | 23 | 24 | // 5 kOhms 25 | 26 | Rp=5e3; 27 | 28 | 29 | // This value will be replaced 30 | 31 | Qp=100; 32 | 33 | 34 | // 100 MHz operation 35 | 36 | f=100e6; 37 | 38 | 39 | // Use Rp (and calculate Qp) 40 | 41 | flag=0; 42 | 43 | 44 | [Ls, Rs, Qs, Lp, Rp, Qp] = parallel_rl_p2s(Lp, Rp,Qp, f, flag); 45 | 46 | 47 | disp(sprintf('Equivalent series L = %g nH', Ls/1e-9)); 48 | 49 | Equivalent series L = 9.99998 nH 50 | 51 | disp(sprintf('Equivalent series R = %g Ohm', Rs)); 52 | 53 | Equivalent series R = 0.00789567 Ohm 54 | 55 | disp(sprintf('Quality factor =%g',Qs)); 56 | 57 | Quality factor =795.775 58 | 59 | -------------------------------------------------------------------------------- /sci-wcalc/parallel_rl_p2s.tst: -------------------------------------------------------------------------------- 1 | 2 | exec test_wcalc.sce; 3 | 4 | disp('**** parallel_rl_p2s ****'); 5 | // -------------------------------------------------------- 6 | // Calculate series equivalent RL network from parallel network 7 | // -------------------------------------------------------- 8 | 9 | 10 | // 10 nH 11 | Lp=10e-9; 12 | 13 | // 5 kOhms 14 | Rp=5e3; 15 | 16 | // This value will be replaced 17 | Qp=100; 18 | 19 | // 100 MHz operation 20 | f=100e6; 21 | 22 | // Use Rp (and calculate Qp) 23 | flag=0; 24 | 25 | [Ls, Rs, Qs, Lp, Rp, Qp] = parallel_rl_p2s(Lp, Rp,Qp, f, flag); 26 | 27 | disp(sprintf('Equivalent series L = %g nH', Ls/1e-9)); 28 | disp(sprintf('Equivalent series R = %g Ohm', Rs)); 29 | disp(sprintf('Quality factor =%g',Qs)); 30 | -------------------------------------------------------------------------------- /sci-wcalc/parallel_rl_s2p.dia.ref: -------------------------------------------------------------------------------- 1 | 2 | 3 | exec test_wcalc.sce; 4 | shared archive loaded 5 | 6 | 7 | disp('**** parallel_rl_s2p ****'); 8 | 9 | **** parallel_rl_s2p **** 10 | 11 | // -------------------------------------------------------- 12 | 13 | // Calculate parallel equivalent RL network from series network 14 | 15 | // -------------------------------------------------------- 16 | 17 | 18 | // 10 nH 19 | 20 | Ls=10e-9; 21 | 22 | 23 | // 0.5 Ohms 24 | 25 | Rs=0.5; 26 | 27 | 28 | // This value will be replaced 29 | 30 | Qs=100; 31 | 32 | 33 | // 100 MHz operation 34 | 35 | f=100e6; 36 | 37 | 38 | // Use Rs (and calculate Qs) 39 | 40 | flag=0; 41 | 42 | 43 | [Ls, Rs, Qs, Lp, Rp, Qp] = parallel_rl_s2p(Ls, Rs, Qs, f, flag); 44 | 45 | 46 | disp(sprintf('Equivalent parallel L = %g nH', Lp/1e-9)); 47 | 48 | Equivalent parallel L = 10.0633 nH 49 | 50 | disp(sprintf('Equivalent parallel R = %g kOhm', Rp/1e3)); 51 | 52 | Equivalent parallel R = 0.0794568 kOhm 53 | 54 | disp(sprintf('Quality factor =%g',Qp)); 55 | 56 | Quality factor =12.5664 57 | 58 | -------------------------------------------------------------------------------- /sci-wcalc/parallel_rl_s2p.tst: -------------------------------------------------------------------------------- 1 | 2 | exec test_wcalc.sce; 3 | 4 | disp('**** parallel_rl_s2p ****'); 5 | // -------------------------------------------------------- 6 | // Calculate parallel equivalent RL network from series network 7 | // -------------------------------------------------------- 8 | 9 | // 10 nH 10 | Ls=10e-9; 11 | 12 | // 0.5 Ohms 13 | Rs=0.5; 14 | 15 | // This value will be replaced 16 | Qs=100; 17 | 18 | // 100 MHz operation 19 | f=100e6; 20 | 21 | // Use Rs (and calculate Qs) 22 | flag=0; 23 | 24 | [Ls, Rs, Qs, Lp, Rp, Qp] = parallel_rl_s2p(Ls, Rs, Qs, f, flag); 25 | 26 | disp(sprintf('Equivalent parallel L = %g nH', Lp/1e-9)); 27 | disp(sprintf('Equivalent parallel R = %g kOhm', Rp/1e3)); 28 | disp(sprintf('Quality factor =%g',Qp)); 29 | -------------------------------------------------------------------------------- /sci-wcalc/rods_calc.dia.ref: -------------------------------------------------------------------------------- 1 | 2 | 3 | exec test_wcalc.sce; 4 | shared archive loaded 5 | 6 | 7 | disp('**** rods_calc ****'); 8 | 9 | **** rods_calc **** 10 | 11 | // -------------------------------------------------------- 12 | 13 | // Self and mutual inductance of a pair of circular wires 14 | 15 | // -------------------------------------------------------- 16 | 17 | 18 | // dimensions in meters 19 | 20 | d1 = 1e-3; // Diameter of wire #1 21 | 22 | l1 = 10e-3; // Length of wire #1 23 | 24 | 25 | d2 = 1e-3; // Diameter of wire #2 26 | 27 | l2 = 10e-3; // Length of wire #2 28 | 29 | 30 | dist = 3e-3; // Radial distance between wire centers 31 | 32 | ofs = 0; // Axial offset between wire ends 33 | 34 | 35 | rho = 1.72e-8; // resistivity (Ohm-meter) 36 | 37 | f = 1e9; // operating frequency (Hz) 38 | 39 | 40 | [L1, L2, M, k, R1, R2] = ... 41 | rods_calc(d1, l1, d2, l2, dist, ofs, rho, f); 42 | 43 | 44 | disp(sprintf("L1 = %g nH\n", L1*1e9)); 45 | 46 | L1 = 5.50258 nH 47 | 48 | disp(sprintf("L2 = %g nH\n", L2*1e9)); 49 | 50 | L2 = 5.50258 nH 51 | 52 | disp(sprintf("M = %g nH\n", M*1e9)); 53 | 54 | M = 2.3527 nH 55 | 56 | disp(sprintf("k = %g\n", k)); 57 | 58 | k = 0.427563 59 | 60 | disp(sprintf("R1 = %g Ohm\n", R1)); 61 | 62 | R1 = 2.2e-3 Ohm 63 | 64 | disp(sprintf("R2 = %g Ohm\n", R2)); 65 | 66 | R2 = 2.2e-3 Ohm 67 | 68 | -------------------------------------------------------------------------------- /sci-wcalc/rods_calc.tst: -------------------------------------------------------------------------------- 1 | 2 | exec test_wcalc.sce; 3 | 4 | disp('**** rods_calc ****'); 5 | // -------------------------------------------------------- 6 | // Self and mutual inductance of a pair of circular wires 7 | // -------------------------------------------------------- 8 | 9 | // dimensions in meters 10 | d1 = 1e-3; // Diameter of wire #1 11 | l1 = 10e-3; // Length of wire #1 12 | 13 | d2 = 1e-3; // Diameter of wire #2 14 | l2 = 10e-3; // Length of wire #2 15 | 16 | dist = 3e-3; // Radial distance between wire centers 17 | ofs = 0; // Axial offset between wire ends 18 | 19 | rho = 1.72e-8; // resistivity (Ohm-meter) 20 | f = 1e9; // operating frequency (Hz) 21 | 22 | [L1, L2, M, k, R1, R2] = ... 23 | rods_calc(d1, l1, d2, l2, dist, ofs, rho, f); 24 | 25 | disp(sprintf("L1 = %g nH\n", L1*1e9)); 26 | disp(sprintf("L2 = %g nH\n", L2*1e9)); 27 | disp(sprintf("M = %g nH\n", M*1e9)); 28 | disp(sprintf("k = %g\n", k)); 29 | disp(sprintf("R1 = %g Ohm\n", R1)); 30 | disp(sprintf("R2 = %g Ohm\n", R2)); 31 | 32 | -------------------------------------------------------------------------------- /sci-wcalc/run_tests.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # 4 | 5 | SCILAB=${SCILAB:-scilab} 6 | srcdir=${srcdir:-`pwd`} 7 | 8 | HOME=$srcdir 9 | 10 | ${SCILAB} -nw -f ${srcdir}/wcalc_test.sce 11 | 12 | 13 | -------------------------------------------------------------------------------- /sci-wcalc/stripline_calc.tst: -------------------------------------------------------------------------------- 1 | 2 | exec test_wcalc.sce; 3 | 4 | disp('**** stripline_calc ****'); 5 | sf=25.4e-6; // mils to meters conversion factor 6 | w=20*sf; // width 7 | h=15*sf; // height 8 | l=1100*sf; // length 9 | tmet=1.4*sf; // metal thickness 10 | rho=1.72e-8; // resitivity 11 | rough=0.05*sf; // metal surface roughness 12 | er=4.5; // relative dielectric constant 13 | tand=0.01; // loss tangent 14 | f=2.4e9; // frequency 15 | [z0,elen,loss,L,R,C,G,lc,ld,deltal,depth] = stripline_calc(w,h,l,tmet,rho,rough,er,tand,f); 16 | disp(sprintf('z0 = %8.4g Ohms',z0)); 17 | disp(sprintf('elen = %8.4g degrees',elen)); 18 | disp(sprintf('loss = %8.4g dB',loss)); 19 | disp(sprintf('L = %8.4g H/m',L)); 20 | disp(sprintf('R = %8.4g Ohms/m',R)); 21 | disp(sprintf('C = %8.4g F/m',C)); 22 | disp(sprintf('G = %8.4g S/m',G)); 23 | disp(sprintf('lc = %8.4g dB/m',lc)); 24 | disp(sprintf('ld = %8.4g dB/m',ld)); 25 | disp(sprintf('open end correction = %8.4g mil', deltal/sf)); 26 | disp(sprintf('skin depth = %8.4g um', depth*1e6)); 27 | 28 | 29 | -------------------------------------------------------------------------------- /sci-wcalc/stripline_syn.dia.ref: -------------------------------------------------------------------------------- 1 | 2 | 3 | exec test_wcalc.sce; 4 | shared archive loaded 5 | 6 | 7 | disp('**** stripline_syn ****'); 8 | 9 | **** stripline_syn **** 10 | 11 | sf=25.4e-6; // mils to meters conversion factor 12 | 13 | z0=75; // desired impedance 14 | 15 | elen=90; // desired electrical length (degrees) 16 | 17 | w=0; // width (we'll synthesize this) 18 | 19 | h=62*sf; // height 20 | 21 | l=1100*sf; // length 22 | 23 | tmet=1.4*sf; // metal thickness 24 | 25 | rho=1.72e-8; // resitivity 26 | 27 | rough=0.05*sf; // metal surface roughness 28 | 29 | er=4.5; // relative dielectric constant 30 | 31 | tand=0.01; // loss tangent 32 | 33 | f=2.4e9; // frequency 34 | 35 | flag=0; // synthesize width 36 | 37 | [w_out,h_out,l_out,er_out] =0... 38 | stripline_syn(z0,elen,w,h,l,tmet,rho,rough,er,tand,f,flag); 39 | 40 | disp(sprintf('w=%8.4g mils, l=%8.4g mils',w_out/sf,l_out/sf)); 41 | 42 | w= 8.675 mils, l= 579.6 mils 43 | 44 | disp(sprintf('er=%8.4g',er_out)); 45 | 46 | er= 4.5 47 | 48 | disp(sprintf('z0=%8.4g ohms, length=%8.4g degrees',z0,elen)); 49 | 50 | z0= 75 ohms, length= 90 degrees 51 | 52 | -------------------------------------------------------------------------------- /sci-wcalc/stripline_syn.tst: -------------------------------------------------------------------------------- 1 | 2 | exec test_wcalc.sce; 3 | 4 | disp('**** stripline_syn ****'); 5 | sf=25.4e-6; // mils to meters conversion factor 6 | z0=75; // desired impedance 7 | elen=90; // desired electrical length (degrees) 8 | w=0; // width (we'll synthesize this) 9 | h=62*sf; // height 10 | l=1100*sf; // length 11 | tmet=1.4*sf; // metal thickness 12 | rho=1.72e-8; // resitivity 13 | rough=0.05*sf; // metal surface roughness 14 | er=4.5; // relative dielectric constant 15 | tand=0.01; // loss tangent 16 | f=2.4e9; // frequency 17 | flag=0; // synthesize width 18 | [w_out,h_out,l_out,er_out] = ... 19 | stripline_syn(z0,elen,w,h,l,tmet,rho,rough,er,tand,f,flag); 20 | disp(sprintf('w=%8.4g mils, l=%8.4g mils',w_out/sf,l_out/sf)); 21 | disp(sprintf('er=%8.4g',er_out)); 22 | disp(sprintf('z0=%8.4g ohms, length=%8.4g degrees',z0,elen)); 23 | -------------------------------------------------------------------------------- /sci-wcalc/wcalc-demo.dem: -------------------------------------------------------------------------------- 1 | // -*- scilab -*- 2 | // 3 | // Copyright (c) 2002, 2005, 2009 Dan McMahill 4 | // All rights reserved. 5 | // 6 | // This program is free software; you can redistribute it and/or modify 7 | // it under the terms of the GNU General Public License as published by 8 | // the Free Software Foundation; version 2 of the License. 9 | // 10 | // This program is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with this program; if not, write to the Free Software 17 | // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | mode(-1) 20 | oldln=lines();lines(0) 21 | deff('[]=demoex(num)','execstr(demolist(num,2))') 22 | deff('[]=notimpl()','printf(""Demo not implemented yet\n"");') 23 | 24 | 25 | demolist=[ 26 | 'Air Core Inductor Analysis','air_coil_calc.dem'; 27 | 'Coupled Stripline Analysis','coupled_stripline_calc.dem'; 28 | 'Parallel Rectangular Bars Analysis','bars_calc.dem'; 29 | 'Stripline Analysis','stripline_calc.dem'; 30 | 'Coupled Microstrip Synthesis','xbasc();notimpl();']; 31 | 32 | while %t then 33 | num=x_choose(demolist(:,1),'Wcalc Demos'); 34 | if num==0 then 35 | lines(oldln(1)) 36 | return 37 | else 38 | demoex(num) 39 | end, 40 | end 41 | 42 | -------------------------------------------------------------------------------- /sci-wcalc/wcalc_test.sce: -------------------------------------------------------------------------------- 1 | // 2 | 3 | exec('wcalc_test.sci', -1); 4 | wcalc_test() 5 | quit 6 | 7 | -------------------------------------------------------------------------------- /sci-wcalc/whatis.xsl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | htm 7 | 8 | 11 | 12 |

-
13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /stdio-wcalc/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | Makefile.in 3 | Makefile 4 | *core 5 | *.dia 6 | *.n 7 | *.o 8 | .deps 9 | .libs 10 | stdio-wcalc 11 | run_tests.sh.trs 12 | -------------------------------------------------------------------------------- /stdio-wcalc/alert.c: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * Copyright (C) 2004 Dan McMahill 4 | * All rights reserved. 5 | * 6 | * 7 | * This program is free software; you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation; version 2 of the License. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | * 20 | */ 21 | 22 | #include "config.h" 23 | 24 | #include 25 | #include 26 | #include 27 | #ifdef HAVE_STRING_H 28 | #include 29 | #endif 30 | 31 | #include "alert.h" 32 | 33 | #ifdef DMALLOC 34 | #include 35 | #endif 36 | 37 | void alert(const char *fmt,...) 38 | { 39 | va_list ap; 40 | 41 | 42 | /* extract the warning string */ 43 | va_start(ap,fmt); 44 | vfprintf(stderr,fmt,ap); 45 | va_end(ap); 46 | } 47 | 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /stdio-wcalc/bars.dat: -------------------------------------------------------------------------------- 1 | # 2 | # bars test data 3 | # 4 | 5 | * 6 | * [L1, L2, M, k] = 7 | * bars_calc(a, b, l1, d, c, l2, E, P, l3, freq); 8 | * 9 | 10 | * 11 | * Bars calculation. Two conductors, 1 um thick, 10 um wide, 2um gap, 1mm long 12 | * 13 | bars_calc 10e-6 1e-6 1e-3 10e-6 1e-6 1e-3 12e-6 0 0 1e9 14 | * 15 | * same thing but the second bar is moved to the other side of the 16 | * first. The answer should be the same. 17 | bars_calc 10e-6 1e-6 1e-3 10e-6 1e-6 1e-3 -12e-6 0 0 1e9 18 | * 19 | -------------------------------------------------------------------------------- /stdio-wcalc/bars.ref: -------------------------------------------------------------------------------- 1 | * 2 | * [L1, L2, M, k] = 3 | * bars_calc(a, b, l1, d, c, l2, E, P, l3, freq); 4 | * 5 | * 6 | * Bars calculation. Two conductors, 1 um thick, 10 um wide, 2um gap, 1mm long 7 | * 8 | --> bars_calc 10e-6 1e-6 1e-3 10e-6 1e-6 1e-3 12e-6 0 0 1e9 9 | 1.14086e-09 1.14086e-09 8.39194e-10 0.735581 10 | * 11 | * same thing but the second bar is moved to the other side of the 12 | * first. The answer should be the same. 13 | --> bars_calc 10e-6 1e-6 1e-3 10e-6 1e-6 1e-3 -12e-6 0 0 1e9 14 | 1.14086e-09 1.14086e-09 8.39194e-10 0.735581 15 | * 16 | -------------------------------------------------------------------------------- /stdio-wcalc/ic_microstrip.dat: -------------------------------------------------------------------------------- 1 | # 2 | # I.C. microstrip test data 3 | # 4 | # 5 | ***************************************** 6 | * 7 | * Analysis 8 | * 9 | ***************************************** 10 | * [Ro, Xo, keff, elen, loss, L, R, C, G] = 11 | * ic_microstrip_calc(w, l, tox, eox, h, es, sigmas, tmet, rho, rough, f); 12 | * 13 | 14 | * MIS microstrip calculation 15 | ic_microstrip_calc 50e-6 1e-3 1.0e-6 4.5 200e-6 9.6 0.1 1.0e-6 3.0e-8 0.1e-6 2.4e9 16 | 17 | ***************************************** 18 | * 19 | * Synthesis 20 | * 21 | ***************************************** 22 | * 23 | * [w_out, h_out, tox_out, l_out] = ... 24 | * ic_microstrip_syn(z0,elen,w,l,tox,eox,h,es,sigmas,tmet,rho,rough,f,flag); 25 | * 26 | ic_microstrip_syn 50.00 90.0 50e-6 1e-3 1.0e-6 4.5 200e-6 9.6 0.1 1.0e-6 3.0e-8 0.1e-6 2.4e9 0 27 | ic_microstrip_syn 50.00 90.0 50e-6 1e-3 1.0e-6 4.5 200e-6 9.6 0.1 1.0e-6 3.0e-8 0.1e-6 2.4e9 1 28 | ic_microstrip_syn 100.0 90.0 50e-6 1e-3 1.0e-6 4.5 200e-6 9.6 0.1 1.0e-6 3.0e-8 0.1e-6 2.4e9 2 29 | 30 | -------------------------------------------------------------------------------- /stdio-wcalc/ic_microstrip.ref: -------------------------------------------------------------------------------- 1 | ***************************************** 2 | * 3 | * Analysis 4 | * 5 | ***************************************** 6 | * [Ro, Xo, keff, elen, loss, L, R, C, G] = 7 | * ic_microstrip_calc(w, l, tox, eox, h, es, sigmas, tmet, rho, rough, f); 8 | * 9 | * MIS microstrip calculation 10 | --> ic_microstrip_calc 50e-6 1e-3 1.0e-6 4.5 200e-6 9.6 0.1 1.0e-6 3.0e-8 0.1e-6 2.4e9 11 | 87.3526 0.766429 5.75403 6.9132 0 6.99345e-07 600.062 9.15389e-11 0.102871 12 | ***************************************** 13 | * 14 | * Synthesis 15 | * 16 | ***************************************** 17 | * 18 | * [w_out, h_out, tox_out, l_out] = ... 19 | * ic_microstrip_syn(z0,elen,w,l,tox,eox,h,es,sigmas,tmet,rho,rough,f,flag); 20 | * 21 | --> ic_microstrip_syn 50.00 90.0 50e-6 1e-3 1.0e-6 4.5 200e-6 9.6 0.1 1.0e-6 3.0e-8 0.1e-6 2.4e9 0 22 | 0.000198897 0.0002 1e-06 0.0125692 23 | --> ic_microstrip_syn 50.00 90.0 50e-6 1e-3 1.0e-6 4.5 200e-6 9.6 0.1 1.0e-6 3.0e-8 0.1e-6 2.4e9 1 24 | 5e-05 4.48527e-05 1e-06 0.0125877 25 | --> ic_microstrip_syn 100.0 90.0 50e-6 1e-3 1.0e-6 4.5 200e-6 9.6 0.1 1.0e-6 3.0e-8 0.1e-6 2.4e9 2 26 | 5e-05 0.0002 4.86004e-06 0.0130859 27 | -------------------------------------------------------------------------------- /stdio-wcalc/parallel_rc.dat: -------------------------------------------------------------------------------- 1 | # 2 | # parallel_rc test data 3 | # 4 | 5 | * 6 | * [Cs, Rs, Qs, Cp, Rp, Qp] = parallel_rc_p2s(Cp, Rp, Qp, freq, flag) 7 | * [Cs, Rs, Qs, Cp, Rp, Qp] = parallel_rc_s2p(Cs, Rs, Qs, freq, flag) 8 | * 9 | 10 | * 11 | * Series to parallel using Q 12 | * 13 | parallel_rc_s2p 10.0e-12 0.1 100.0 100e6 1 14 | 15 | 16 | * 17 | * Series to parallel using R 18 | * 19 | parallel_rc_s2p 10.0e-12 0.1 100.0 100e6 0 20 | 21 | 22 | * 23 | * Parallel to series using Q 24 | * 25 | parallel_rc_p2s 10.0e-12 10e3 100.0 100e6 1 26 | 27 | 28 | * 29 | * Parallel to series using R 30 | * 31 | parallel_rc_p2s 10.0e-12 10e3 100.0 100e6 0 32 | 33 | 34 | -------------------------------------------------------------------------------- /stdio-wcalc/parallel_rc.ref: -------------------------------------------------------------------------------- 1 | * 2 | * [Cs, Rs, Qs, Cp, Rp, Qp] = parallel_rc_p2s(Cp, Rp, Qp, freq, flag) 3 | * [Cs, Rs, Qs, Cp, Rp, Qp] = parallel_rc_s2p(Cs, Rs, Qs, freq, flag) 4 | * 5 | * 6 | * Series to parallel using Q 7 | * 8 | --> parallel_rc_s2p 10.0e-12 0.1 100.0 100e6 1 9 | 1e-11 1.59155 100 9.999e-12 15917.1 100 10 | * 11 | * Series to parallel using R 12 | * 13 | --> parallel_rc_s2p 10.0e-12 0.1 100.0 100e6 0 14 | 1e-11 0.1 1591.55 1e-11 253303 1591.55 15 | * 16 | * Parallel to series using Q 17 | * 18 | --> parallel_rc_p2s 10.0e-12 10e3 100.0 100e6 1 19 | 1.0001e-11 1.59139 100 1e-11 15915.5 100 20 | * 21 | * Parallel to series using R 22 | * 23 | --> parallel_rc_p2s 10.0e-12 10e3 100.0 100e6 0 24 | 1.00025e-11 2.53239 62.8319 1e-11 10000 62.8319 25 | -------------------------------------------------------------------------------- /stdio-wcalc/parallel_rl.dat: -------------------------------------------------------------------------------- 1 | # 2 | # parallel_rl test data 3 | # 4 | 5 | * 6 | * [Ls, Rs, Qs, Lp, Rp, Qp] = parallel_rl_p2s(Lp, Rp, Qp, freq, flag) 7 | * [Ls, Rs, Qs, Lp, Rp, Qp] = parallel_rl_s2p(Ls, Rs, Qs, freq, flag) 8 | * 9 | 10 | * 11 | * Series to parallel using Q 12 | * 13 | parallel_rl_s2p 10.0e-9 0.1 0.5 100e6 1 14 | 15 | 16 | * 17 | * Series to parallel using R 18 | * 19 | parallel_rl_s2p 10.0e-9 50.0 100.0 100e6 0 20 | 21 | 22 | * 23 | * Parallel to series using Q 24 | * 25 | parallel_rl_p2s 200.0e-9 10e3 0.5 100e6 1 26 | 27 | 28 | * 29 | * Parallel to series using R 30 | * 31 | parallel_rl_p2s 200.0e-9 50.0 100.0 100e6 0 32 | 33 | 34 | -------------------------------------------------------------------------------- /stdio-wcalc/parallel_rl.ref: -------------------------------------------------------------------------------- 1 | * 2 | * [Ls, Rs, Qs, Lp, Rp, Qp] = parallel_rl_p2s(Lp, Rp, Qp, freq, flag) 3 | * [Ls, Rs, Qs, Lp, Rp, Qp] = parallel_rl_s2p(Ls, Rs, Qs, freq, flag) 4 | * 5 | * 6 | * Series to parallel using Q 7 | * 8 | --> parallel_rl_s2p 10.0e-9 0.1 0.5 100e6 1 9 | 1e-08 12.5664 0.5 5e-08 15.708 0.5 10 | * 11 | * Series to parallel using R 12 | * 13 | --> parallel_rl_s2p 10.0e-9 50.0 100.0 100e6 0 14 | 1e-08 50 0.125664 6.43257e-07 50.7896 0.125664 15 | * 16 | * Parallel to series using Q 17 | * 18 | --> parallel_rl_p2s 200.0e-9 10e3 0.5 100e6 1 19 | 4e-08 50.2655 0.5 2e-07 62.8319 0.5 20 | * 21 | * Parallel to series using R 22 | * 23 | --> parallel_rl_p2s 200.0e-9 50.0 100.0 100e6 0 24 | 2.73353e-08 43.1662 0.397887 2e-07 50 0.397887 25 | -------------------------------------------------------------------------------- /stdio-wcalc/rods.dat: -------------------------------------------------------------------------------- 1 | # 2 | # rods test data 3 | # 4 | 5 | * 6 | * [L1, L2, M, k, R1, R2] = 7 | * rods_calc(d1, l1, d2, distance, offset, rho, freq); 8 | * 9 | 10 | * 11 | * Rods calculation. Two conductors, 1 mm diameter, 10 mm long, 3mm center to center, 12 | * copper conductivity. LF and HF regions 13 | * 14 | rods_calc 1e-3 10e-3 1e-3 10e-3 3e-3 0.0 1.72e-8 1 15 | rods_calc 1e-3 10e-3 1e-3 10e-3 3e-3 0.0 1.72e-8 1e9 16 | * 17 | * shorter length 18 | * 19 | rods_calc 1e-3 1e-3 1e-3 1e-3 1.5e-3 0.0 1.72e-8 1 20 | rods_calc 1e-3 1e-3 1e-3 1e-3 1.5e-3 0.0 1.72e-8 1e9 21 | * 22 | * different diameters 23 | * 24 | rods_calc 2e-3 1e-3 1e-3 1e-3 2.5e-3 0.0 1.72e-8 1 25 | rods_calc 2e-3 1e-3 1e-3 1e-3 2.5e-3 0.0 1.72e-8 1e9 26 | * 27 | -------------------------------------------------------------------------------- /stdio-wcalc/rods.ref: -------------------------------------------------------------------------------- 1 | * 2 | * [L1, L2, M, k, R1, R2] = 3 | * rods_calc(d1, l1, d2, distance, offset, rho, freq); 4 | * 5 | * 6 | * Rods calculation. Two conductors, 1 mm diameter, 10 mm long, 3mm center to center, 7 | * copper conductivity. LF and HF regions 8 | * 9 | --> rods_calc 1e-3 10e-3 1e-3 10e-3 3e-3 0.0 1.72e-8 1 10 | 5.96705e-09 5.96705e-09 2.3527e-09 0.394282 0.000218997 0.000218997 11 | --> rods_calc 1e-3 10e-3 1e-3 10e-3 3e-3 0.0 1.72e-8 1e9 12 | 5.50258e-09 5.50258e-09 2.3527e-09 0.427563 0.000218997 0.000218997 13 | * 14 | * shorter length 15 | * 16 | --> rods_calc 1e-3 1e-3 1e-3 1e-3 1.5e-3 0.0 1.72e-8 1 17 | 2.05898e-10 2.05898e-10 6.60186e-11 0.320638 2.18997e-05 2.18997e-05 18 | --> rods_calc 1e-3 1e-3 1e-3 1e-3 1.5e-3 0.0 1.72e-8 1e9 19 | 1.80933e-10 1.80933e-10 6.60186e-11 0.364879 2.18997e-05 2.18997e-05 20 | * 21 | * different diameters 22 | * 23 | --> rods_calc 2e-3 1e-3 1e-3 1e-3 2.5e-3 0.0 1.72e-8 1 24 | 1.2681e-10 2.05898e-10 4.06001e-11 0.251261 5.47493e-06 2.18997e-05 25 | --> rods_calc 2e-3 1e-3 1e-3 1e-3 2.5e-3 0.0 1.72e-8 1e9 26 | 1.09248e-10 1.80933e-10 4.06001e-11 0.288776 5.47493e-06 2.18997e-05 27 | * 28 | -------------------------------------------------------------------------------- /stdio-wcalc/tests.list: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2004, 2006, 2009, 2020 Dan McMahill 2 | # All rights reserved. 3 | # 4 | # This program is free software; you can redistribute it and/or modify 5 | # it under the terms of the GNU General Public License as published by 6 | # the Free Software Foundation; version 2 of the License. 7 | # 8 | # This program is distributed in the hope that it will be useful, 9 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | # GNU General Public License for more details. 12 | # 13 | # You should have received a copy of the GNU General Public License 14 | # along with this program; if not, write to the Free Software 15 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 16 | 17 | air_coil 18 | bars 19 | coax 20 | coplanar 21 | coupled_microstrip 22 | coupled_stripline 23 | ic_microstrip 24 | microstrip 25 | parallel_rc 26 | parallel_rl 27 | rods 28 | stripline 29 | 30 | -------------------------------------------------------------------------------- /utils/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | Makefile.in 3 | Makefile 4 | -------------------------------------------------------------------------------- /utils/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | ## 3 | ## Copyright (C) 2001, 2002, 2009 Dan McMahill 4 | ## All rights reserved. 5 | ## 6 | ## 7 | ## This program is free software; you can redistribute it and/or modify 8 | ## it under the terms of the GNU General Public License as published by 9 | ## the Free Software Foundation; version 2 of the License. 10 | ## 11 | ## This program is distributed in the hope that it will be useful, 12 | ## but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | ## GNU General Public License for more details. 15 | ## 16 | ## You should have received a copy of the GNU General Public License 17 | ## along with this program; if not, write to the Free Software 18 | ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | ## 20 | 21 | EXTRA_DIST= build_sf eps2c epslint format_tab html2c shtml2html 22 | 23 | -------------------------------------------------------------------------------- /utils/build_sf: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Copyright (C) 2009 Dan McMahill 4 | # All rights reserved. 5 | # 6 | # 7 | # This program is free software; you can redistribute it and/or modify 8 | # it under the terms of the GNU General Public License as published by 9 | # the Free Software Foundation; version 2 of the License. 10 | # 11 | # This program is distributed in the hope that it will be useful, 12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | # GNU General Public License for more details. 15 | # 16 | # You should have received a copy of the GNU General Public License 17 | # along with this program; if not, write to the Free Software 18 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | # 20 | 21 | here=`pwd` 22 | 23 | ./configure \ 24 | --disable-gtk1 \ 25 | --disable-gtk2 \ 26 | --without-scilab \ 27 | --without-octave \ 28 | --without-matlab \ 29 | --disable-stdio \ 30 | --enable-cgi \ 31 | --enable-cgistatic \ 32 | --with-htmlpath="/" \ 33 | --enable-htdocs \ 34 | --with-htmldir=${here}/wcalc-website/htdocs \ 35 | --with-cgibin=${here}/wcalc-website/cgi-bin \ 36 | --enable-sourceforge \ 37 | --prefix=${here}/wcalc-inst 2>&1 | tee c.log 38 | 39 | gmake -j4 2>&1 | tee m.log 40 | gmake -j4 install 2>&1 | tee i.log 41 | 42 | -------------------------------------------------------------------------------- /utils/epslint: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # 3 | # 4 | # Copyright (c) 2001, 2002 Dan McMahill 5 | # All rights reserved. 6 | # 7 | # 8 | # This program is free software; you can redistribute it and/or modify 9 | # it under the terms of the GNU General Public License as published by 10 | # the Free Software Foundation; version 2 of the License. 11 | # 12 | # This program is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | # GNU General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU General Public License 18 | # along with this program; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | # 21 | 22 | 23 | # 24 | # scans for prohibited commands in a .eps file 25 | # 26 | # usage; 27 | # epsline foo.eps 28 | 29 | for fn in grestoreall erasepage nulldevice exitserver initgraphics copypage renderbands setscreen initmatrix banddevice setpageparams settransfer initclip framedevice note 30 | do 31 | grep $fn $1 32 | done 33 | -------------------------------------------------------------------------------- /win32/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | *.core 3 | *.xpm 4 | *.ppm 5 | Makefile.in 6 | Makefile 7 | BUGS.txt 8 | COPYING.txt 9 | license_include.nsh 10 | lic_inst/ 11 | run_install.bat 12 | test_wcalc.bat 13 | wcalc.nsi 14 | wcalc_inst/ 15 | -------------------------------------------------------------------------------- /win32/Readme.txt: -------------------------------------------------------------------------------- 1 | This is the windows port of the wcalc transmission line analysis/synthesis 2 | calculator. Please visit http://wcalc.sourceforge.net for more information 3 | about wcalc and https://github.com/dmcmahill/wcalc for the soure repository. 4 | 5 | The windows port makes use of GTK+ for windows. Please visit 6 | http://www.gtk.org for more information about GTK. Without all the hard 7 | work of the GTK+ authors, wcalc would not exist in its current form. 8 | 9 | The windows installer was created with NSIS. Please visit 10 | http://nsis.sourceforge.net for more information about NSIS. 11 | 12 | -------------------------------------------------------------------------------- /win32/config.mk: -------------------------------------------------------------------------------- 1 | 2 | # directory for download files 3 | DISTDIR?= ${CURDIR}/distfiles 4 | 5 | # directory for library runtime files 6 | RUNTIMEDIR?= ${CURDIR}/gtk_win32_runtime 7 | 8 | # directory for library dev files 9 | DEVTIMEDIR?= ${CURDIR}/gtk_win32_devel 10 | 11 | # unpacked sources 12 | LIBSRCDIR?= ${CURDIR}/gtk_win32_srcs 13 | 14 | STAMPDIR?= ${CURDIR}/gtk_win32_stamps 15 | 16 | # some helper scripts 17 | TOOLSDIR?= ${CURDIR}/tools 18 | 19 | # some common download sites 20 | MASTER_SITE_GNOME_SRC= https://download.gnome.org/sources 21 | MASTER_SITE_GNOME_W32= https://download.gnome.org/binaries/win32 22 | MASTER_SITE_SOURCEFORGE= http://downloads.sourceforge.net/project 23 | 24 | # tools 25 | AWK?= awk 26 | ECHO?= echo 27 | HASHTYPE?= sha1 28 | OPENSSL?= openssl 29 | SED?= sed 30 | WGET?= wget --no-check-certificate 31 | #WGET?= curl 32 | -------------------------------------------------------------------------------- /win32/licenses/LICENSE-expat: -------------------------------------------------------------------------------- 1 | Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd 2 | and Clark Cooper 3 | Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006 Expat maintainers. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | "Software"), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included 14 | in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /win32/licenses/LICENSE-fontconfig: -------------------------------------------------------------------------------- 1 | fontconfig/COPYING 2 | 3 | Copyright © 2001,2003 Keith Packard 4 | 5 | Permission to use, copy, modify, distribute, and sell this software and its 6 | documentation for any purpose is hereby granted without fee, provided that 7 | the above copyright notice appear in all copies and that both that 8 | copyright notice and this permission notice appear in supporting 9 | documentation, and that the name of Keith Packard not be used in 10 | advertising or publicity pertaining to distribution of the software without 11 | specific, written prior permission. Keith Packard makes no 12 | representations about the suitability of this software for any purpose. It 13 | is provided "as is" without express or implied warranty. 14 | 15 | THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 16 | INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO 17 | EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR 18 | CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 19 | DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 20 | TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 21 | PERFORMANCE OF THIS SOFTWARE. 22 | -------------------------------------------------------------------------------- /win32/mingw_required_pkgs: -------------------------------------------------------------------------------- 1 | mingw64-i686-atk1.0 2.26.1-1 OK 2 | mingw64-i686-bzip2 1.0.6-4 OK 3 | mingw64-i686-cairo 1.14.12-1 OK 4 | mingw64-i686-dbus 1.10.22-1 OK 5 | mingw64-i686-expat 2.2.2-1 OK 6 | mingw64-i686-fontconfig 2.12.6-1 OK 7 | mingw64-i686-freetype2 2.6.5-1 OK 8 | mingw64-i686-gcc-core 6.4.0-1 OK 9 | mingw64-i686-gdk-pixbuf2.0 2.36.11-1 OK 10 | mingw64-i686-gettext 0.19.8.1-2 OK 11 | mingw64-i686-glib2.0 2.54.3-1 OK 12 | mingw64-i686-gtk2.0 2.24.31-1 OK 13 | mingw64-i686-harfbuzz 1.7.4-1 OK 14 | mingw64-i686-libffi 3.2.1-1 OK 15 | mingw64-i686-libpng 1.6.34-1 OK 16 | mingw64-i686-pango1.0 1.40.14-1 OK 17 | mingw64-i686-pcre 8.40-3 OK 18 | mingw64-i686-pixman 0.34.0-1 OK 19 | mingw64-i686-win-iconv 0.0.6-2 OK 20 | mingw64-i686-winpthreads 5.0.3-1 OK 21 | mingw64-i686-zlib 1.2.11-1 OK 22 | -------------------------------------------------------------------------------- /win32/setup/atk.distinfo: -------------------------------------------------------------------------------- 1 | 2 | SHA1 (atk-1.32.0.tar.bz2) = 876e88e4259d07bb7905d66c085a50a47e37f9e4 3 | SHA1 (atk-dev_1.32.0-2_win32.zip) = d0b8c53e01e4541d3d3befc82e41fb5b84949030 4 | SHA1 (atk_1.32.0-2_win32.zip) = 3c31c9d6b19af840e2bd8ccbfef4072a6548dc4e 5 | -------------------------------------------------------------------------------- /win32/setup/atk.mk: -------------------------------------------------------------------------------- 1 | NAME= atk 2 | VER= 1.32.0 3 | WVER= 2 4 | LICENSE= lgpl2 5 | DEV_DISTURLS+= ${MASTER_SITE_GNOME_W32}/atk/1.32/atk-dev_1.32.0-2_win32.zip 6 | RUN_DISTURLS+= ${MASTER_SITE_GNOME_W32}/atk/1.32/atk_1.32.0-2_win32.zip 7 | SRC_DISTURLS+= ${MASTER_SITE_GNOME_SRC}/atk/1.32/atk-1.32.0.tar.bz2 8 | -------------------------------------------------------------------------------- /win32/setup/cairo.distinfo: -------------------------------------------------------------------------------- 1 | 2 | SHA1 (cairo-1.10.2.tar.gz) = ccce5ae03f99c505db97c286a0c9a90a926d3c6e 3 | SHA1 (cairo-dev_1.10.2-2_win32.zip) = 45cae1fac45a6c6f33498c37c0cdc47722614d92 4 | SHA1 (cairo_1.10.2-2_win32.zip) = d44cd66a9f4d7d29a8f2c28d1c1c5f9b0525ba44 5 | -------------------------------------------------------------------------------- /win32/setup/cairo.mk: -------------------------------------------------------------------------------- 1 | NAME= cairo 2 | VER= 1.10.2 3 | WVER= 2 4 | LICENSE=lgpl2-1 5 | DEV_DISTURLS+= ${MASTER_SITE_GNOME_W32}/dependencies/cairo-dev_1.10.2-2_win32.zip 6 | RUN_DISTURLS+= ${MASTER_SITE_GNOME_W32}/dependencies/cairo_1.10.2-2_win32.zip 7 | SRC_DISTURLS+= http://cairographics.org/releases/cairo-1.10.2.tar.gz 8 | -------------------------------------------------------------------------------- /win32/setup/expat.distinfo: -------------------------------------------------------------------------------- 1 | 2 | SHA1 (expat-2.1.0.tar.gz) = b08197d146930a5543a7b99e871cba3da614f6f0 3 | SHA1 (expat-dev_2.1.0-1_win32.zip) = d88a51bdb27938a49ac897218552a36d3496b9b3 4 | SHA1 (expat_2.1.0-1_win32.zip) = 607ba00b8c7c4be5f1701f914b972c2b12005062 5 | -------------------------------------------------------------------------------- /win32/setup/expat.mk: -------------------------------------------------------------------------------- 1 | NAME= expat 2 | VER= 2.1.0 3 | WVER= 1 4 | LICENSE=expat 5 | DEV_DISTURLS+= ${MASTER_SITE_GNOME_W32}/dependencies/expat-dev_2.1.0-1_win32.zip 6 | RUN_DISTURLS+= ${MASTER_SITE_GNOME_W32}/dependencies/expat_2.1.0-1_win32.zip 7 | SRC_DISTURLS+= ${MASTER_SITE_SOURCEFORGE}/expat/expat/2.1.0/expat-2.1.0.tar.gz 8 | -------------------------------------------------------------------------------- /win32/setup/fontconfig.distinfo: -------------------------------------------------------------------------------- 1 | 2 | SHA1 (fontconfig-2.8.0.tar.gz) = 570fb55eb14f2c92a7b470b941e9d35dbfafa716 3 | SHA1 (fontconfig-dev_2.8.0-2_win32.zip) = 0b772aaeb0a7a0d5de21afd901d6cf00753efa51 4 | SHA1 (fontconfig_2.8.0-2_win32.zip) = 37a3117ea6cc50c8a88fba9b6018f35a04fa71ce 5 | -------------------------------------------------------------------------------- /win32/setup/fontconfig.mk: -------------------------------------------------------------------------------- 1 | NAME= fontconfig 2 | VER= 2.8.0 3 | WVER= 2 4 | LICENSE=fontconfig 5 | DEV_DISTURLS+= ${MASTER_SITE_GNOME_W32}/dependencies/fontconfig-dev_2.8.0-2_win32.zip 6 | RUN_DISTURLS+= ${MASTER_SITE_GNOME_W32}/dependencies/fontconfig_2.8.0-2_win32.zip 7 | SRC_DISTURLS+= https://www.freedesktop.org/software/fontconfig/release/fontconfig-2.8.0.tar.gz 8 | -------------------------------------------------------------------------------- /win32/setup/freetype.distinfo: -------------------------------------------------------------------------------- 1 | 2 | SHA1 (freetype-2.4.10.tar.bz2) = 73b2c28fcaf1ff5b8beef3af4c5abe4cb1ecb7dc 3 | SHA1 (freetype-dev_2.4.10-1_win32.zip) = c0e765e2bce53f6a8826d0f2366acabfe03cf8eb 4 | SHA1 (freetype_2.4.10-1_win32.zip) = e4655cf2a590fd5fbe8861a9fcbfd32131e61cac 5 | -------------------------------------------------------------------------------- /win32/setup/freetype.mk: -------------------------------------------------------------------------------- 1 | NAME= freetype 2 | VER= 2.4.10 3 | WVER= 1 4 | LICENSE= gpl2 5 | DEV_DISTURLS+= ${MASTER_SITE_GNOME_W32}/dependencies/freetype-dev_2.4.10-1_win32.zip 6 | RUN_DISTURLS+= ${MASTER_SITE_GNOME_W32}/dependencies/freetype_2.4.10-1_win32.zip 7 | SRC_DISTURLS+= https://download.savannah.gnu.org/releases/freetype/freetype-2.4.10.tar.bz2 8 | -------------------------------------------------------------------------------- /win32/setup/gdk-pixbuf.distinfo: -------------------------------------------------------------------------------- 1 | 2 | SHA1 (gdk-pixbuf-2.24.0.tar.bz2) = 98416b2de3af0dbccc893eb2ada251ef5e60b89b 3 | SHA1 (gdk-pixbuf-dev_2.24.0-1_win32.zip) = 3d99c502bdefc62891504a83271df07b3de56451 4 | SHA1 (gdk-pixbuf_2.24.0-1_win32.zip) = bd3ac3023417aa03867fb696694078191561e5c5 5 | -------------------------------------------------------------------------------- /win32/setup/gdk-pixbuf.mk: -------------------------------------------------------------------------------- 1 | NAME= gdk-pixbuf 2 | VER= 2.24.0 3 | WVER= 1 4 | LICENSE= lgpl2 5 | DEV_DISTURLS+= ${MASTER_SITE_GNOME_W32}/gdk-pixbuf/2.24/gdk-pixbuf-dev_2.24.0-1_win32.zip 6 | RUN_DISTURLS+= ${MASTER_SITE_GNOME_W32}/gdk-pixbuf/2.24/gdk-pixbuf_2.24.0-1_win32.zip 7 | SRC_DISTURLS+= ${MASTER_SITE_GNOME_SRC}/gdk-pixbuf/2.24/gdk-pixbuf-2.24.0.tar.bz2 8 | -------------------------------------------------------------------------------- /win32/setup/gettext.distinfo: -------------------------------------------------------------------------------- 1 | 2 | SHA1 (gettext-0.18.1.1.tar.gz) = 5009deb02f67fc3c59c8ce6b82408d1d35d4e38f 3 | SHA1 (gettext-runtime-dev_0.18.1.1-2_win32.zip) = 5b0a30749a74c2567fb29cbb3f17959ca9e6a6dc 4 | SHA1 (gettext-tools-dev_0.18.1.1-2_win32.zip) = 4cfbdf8589bf17868a133b9d039283e3e9b99b8d 5 | SHA1 (gettext-runtime_0.18.1.1-2_win32.zip) = a7cc1ce2b99b408d1bbea9a3b4520fcaf26783b3 6 | SHA1 (gettext-tools_0.18.1.1-2_win32.zip) = 2a08de1e9b8c6e57b8d7a7ad220a34296f54ab1f 7 | -------------------------------------------------------------------------------- /win32/setup/gettext.mk: -------------------------------------------------------------------------------- 1 | NAME= gettext 2 | VER= 0.18.1 3 | WVER= 2 4 | LICENSE= gpl3 5 | DEV_DISTURLS+= ${MASTER_SITE_GNOME_W32}/dependencies/gettext-runtime-dev_0.18.1.1-2_win32.zip 6 | RUN_DISTURLS+= ${MASTER_SITE_GNOME_W32}/dependencies/gettext-runtime_0.18.1.1-2_win32.zip 7 | DEV_DISTURLS+= ${MASTER_SITE_GNOME_W32}/dependencies/gettext-tools-dev_0.18.1.1-2_win32.zip 8 | RUN_DISTURLS+= ${MASTER_SITE_GNOME_W32}/dependencies/gettext-tools_0.18.1.1-2_win32.zip 9 | SRC_DISTURLS+= ${MASTER_SITE_GNOME_W32}/dependencies/gettext-0.18.1.1.tar.gz 10 | -------------------------------------------------------------------------------- /win32/setup/glib.distinfo: -------------------------------------------------------------------------------- 1 | 2 | SHA1 (glib-2.28.8.tar.bz2) = 20cd63705a8805260da0320c65b979233f2e3c18 3 | SHA1 (glib-dev_2.28.8-1_win32.zip) = 11a083ddbb7aa6ac14c12a9c91b5e5672e613760 4 | SHA1 (glib_2.28.8-1_win32.zip) = 5d158f4c77ca0b5508e1042955be573dd940b574 5 | -------------------------------------------------------------------------------- /win32/setup/glib.mk: -------------------------------------------------------------------------------- 1 | NAME= glib 2 | VER= 2.28.8 3 | WVER= 1 4 | LICENSE= lgpl2 5 | DEV_DISTURLS+= ${MASTER_SITE_GNOME_W32}/glib/2.28/glib-dev_2.28.8-1_win32.zip 6 | RUN_DISTURLS+= ${MASTER_SITE_GNOME_W32}/glib/2.28/glib_2.28.8-1_win32.zip 7 | SRC_DISTURLS+= ${MASTER_SITE_GNOME_SRC}/glib/2.28/glib-2.28.8.tar.bz2 8 | -------------------------------------------------------------------------------- /win32/setup/gtk+.distinfo: -------------------------------------------------------------------------------- 1 | 2 | SHA1 (gtk+-2.24.10.tar.xz) = baf5c73e186352cad767392a6b55840be0326ddc 3 | SHA1 (gtk+-dev_2.24.10-1_win32.zip) = 818c706906bc305c0383dda64116ae5a01ab079a 4 | SHA1 (gtk+_2.24.10-1_win32.zip) = 702a94614bc674b3c5ef3e176aed42eee34e3448 5 | -------------------------------------------------------------------------------- /win32/setup/gtk+.mk: -------------------------------------------------------------------------------- 1 | NAME= gtk+ 2 | GTK_BASE= 2.24 3 | VER= ${GTK_BASE}.10 4 | WVER= 1 5 | LICENSE= lgpl2 6 | DEV_DISTURLS+= ${MASTER_SITE_GNOME_W32}/gtk+/${GTK_BASE}/gtk+-dev_${VER}-${WVER}_win32.zip 7 | RUN_DISTURLS+= ${MASTER_SITE_GNOME_W32}/gtk+/${GTK_BASE}/gtk+_${VER}-${WVER}_win32.zip 8 | SRC_DISTURLS+= ${MASTER_SITE_GNOME_SRC}/gtk+/${GTK_BASE}/gtk+-${VER}.tar.xz 9 | -------------------------------------------------------------------------------- /win32/setup/intltool.distinfo: -------------------------------------------------------------------------------- 1 | 2 | SHA1 (intltool-0.40.4.tar.bz2) = 5121f74e3ffa5d167fd0ace3270afed98bb24c25 3 | SHA1 (intltool-dev_0.40.4-1_win32.zip) = 93e5ef6df753faa8b4fa2ebb0e664597afd6902c 4 | SHA1 (intltool_0.40.4-1_win32.zip) = e609c31dee8aa60b738c839ea958ec241109e1bd 5 | -------------------------------------------------------------------------------- /win32/setup/intltool.mk: -------------------------------------------------------------------------------- 1 | NAME= intltool 2 | VER= 0.40.4 3 | WVER= 1 4 | LICENSE= gpl2 5 | DEV_DISTURLS+= ${MASTER_SITE_GNOME_W32}/intltool/0.40/intltool-dev_0.40.4-1_win32.zip 6 | RUN_DISTURLS+= ${MASTER_SITE_GNOME_W32}/intltool/0.40/intltool_0.40.4-1_win32.zip 7 | SRC_DISTURLS+= ${MASTER_SITE_GNOME_SRC}/intltool/0.40/intltool-0.40.4.tar.bz2 8 | -------------------------------------------------------------------------------- /win32/setup/libpng.distinfo: -------------------------------------------------------------------------------- 1 | 2 | SHA1 (libpng-1.4.12.tar.bz2) = 275cfa90c0558601f6216019317fc37a03ebee01 3 | SHA1 (libpng-dev_1.4.12-1_win32.zip) = 699cf457acdf0ffe9d1e896a6dee4740df9ca880 4 | SHA1 (libpng_1.4.12-1_win32.zip) = 64f271ca9ae5dc6e5fc0a8129b9ef4297df7959f 5 | -------------------------------------------------------------------------------- /win32/setup/libpng.mk: -------------------------------------------------------------------------------- 1 | NAME= libpng 2 | VER= 1.4.12 3 | WVER= 1 4 | LICENSE= libpng 5 | DEV_DISTURLS+= ${MASTER_SITE_GNOME_W32}/dependencies/libpng-dev_1.4.12-1_win32.zip 6 | RUN_DISTURLS+= ${MASTER_SITE_GNOME_W32}/dependencies/libpng_1.4.12-1_win32.zip 7 | SRC_DISTURLS+= ${MASTER_SITE_SOURCEFORGE}/libpng/libpng14/older-releases/1.4.12/libpng-1.4.12.tar.bz2 8 | -------------------------------------------------------------------------------- /win32/setup/pango.distinfo: -------------------------------------------------------------------------------- 1 | 2 | SHA1 (pango-1.29.4.tar.bz2) = 3b4dfe317b328061893cf0728afebe292bbcc05b 3 | SHA1 (pango-dev_1.29.4-1_win32.zip) = 49ae12458f2e29c27ed9d1390d95db18fd4a49ac 4 | SHA1 (pango_1.29.4-1_win32.zip) = 3959319bd04fbce513458857f334ada279b8cdd4 5 | -------------------------------------------------------------------------------- /win32/setup/pango.mk: -------------------------------------------------------------------------------- 1 | NAME= pango 2 | VER= 1.29.4 3 | WVER= 1 4 | LICENSE= lgpl2 5 | DEV_DISTURLS+= ${MASTER_SITE_GNOME_W32}/pango/1.29/pango-dev_1.29.4-1_win32.zip 6 | RUN_DISTURLS+= ${MASTER_SITE_GNOME_W32}/pango/1.29/pango_1.29.4-1_win32.zip 7 | SRC_DISTURLS+= ${MASTER_SITE_GNOME_SRC}/pango/1.29/pango-1.29.4.tar.bz2 8 | -------------------------------------------------------------------------------- /win32/setup/pixman.distinfo: -------------------------------------------------------------------------------- 1 | 2 | SHA1 (pixman-0.24.0.tar.gz) = 5459916d979e3db93aac45ffda2412cd0500f393 3 | SHA1 (pixman-dev_0.24.0-1_win32.zip) = d7bb0abc158acc835f7ba4017668910c825d24eb 4 | SHA1 (pixman_0.24.0-1_win32.zip) = 7d1a1b7de14e72e31ef541a2b0237b077e7f1623 5 | -------------------------------------------------------------------------------- /win32/setup/pixman.mk: -------------------------------------------------------------------------------- 1 | NAME= pixman 2 | VER= 0.24.0 3 | WVER= 1 4 | LICENSE= pixman 5 | DEV_DISTURLS+= ${MASTER_SITE_GNOME_W32}/dependencies/pixman-dev_0.24.0-1_win32.zip 6 | RUN_DISTURLS+= ${MASTER_SITE_GNOME_W32}/dependencies/pixman_0.24.0-1_win32.zip 7 | SRC_DISTURLS+= https://cairographics.org/releases/pixman-0.24.0.tar.gz 8 | -------------------------------------------------------------------------------- /win32/setup/pkg-config.distinfo: -------------------------------------------------------------------------------- 1 | 2 | SHA1 (pkg-config-0.25.tar.gz) = 8922aeb4edeff7ed554cc1969cbb4ad5a4e6b26e 3 | SHA1 (pkg-config-dev_0.25-1_win32.zip) = 3dac425d90d43598c775b8312d5a761a0239a6ce 4 | SHA1 (pkg-config_0.25-1_win32.zip) = 1cde4fc027a999ac9bf0c3ad1b77a98fd2e79b9d 5 | -------------------------------------------------------------------------------- /win32/setup/pkg-config.mk: -------------------------------------------------------------------------------- 1 | NAME= pkg-config 2 | VER= 0.25 3 | WVER= 1 4 | LICENSE= gpl2 5 | DEV_DISTURLS+= ${MASTER_SITE_GNOME_W32}/dependencies/pkg-config-dev_0.25-1_win32.zip 6 | RUN_DISTURLS+= ${MASTER_SITE_GNOME_W32}/dependencies/pkg-config_0.25-1_win32.zip 7 | SRC_DISTURLS+= ${MASTER_SITE_GNOME_W32}/dependencies/pkg-config-0.25.tar.gz 8 | -------------------------------------------------------------------------------- /win32/setup/zlib.distinfo: -------------------------------------------------------------------------------- 1 | 2 | SHA1 (zlib-1.2.5.tar.gz) = 8e8b93fa5eb80df1afe5422309dca42964562d7e 3 | SHA1 (zlib-dev_1.2.5-2_win32.zip) = 45694b55a5b037e34eaf4883dce3dadd8703fdee 4 | SHA1 (zlib_1.2.5-2_win32.zip) = 568907188761df2d9309196e447d91bbc5555d2b 5 | -------------------------------------------------------------------------------- /win32/setup/zlib.mk: -------------------------------------------------------------------------------- 1 | NAME= zlib 2 | VER= 1.2.5 3 | WVER= 2 4 | LICENSE= zlib 5 | DEV_DISTURLS+= ${MASTER_SITE_GNOME_W32}/dependencies/zlib-dev_1.2.5-2_win32.zip 6 | RUN_DISTURLS+= ${MASTER_SITE_GNOME_W32}/dependencies/zlib_1.2.5-2_win32.zip 7 | SRC_DISTURLS+= http://zlib.net/fossils/zlib-1.2.5.tar.gz 8 | -------------------------------------------------------------------------------- /win32/wcalc-win32-deps.mk: -------------------------------------------------------------------------------- 1 | include config.mk 2 | include ${DEPMK} 3 | 4 | .PHONY: show-license 5 | show-license: 6 | @${ECHO} "${LICENSE} ${NAME}-${VER}" 7 | 8 | .PHONY: config-variables 9 | config-variables: 10 | @${ECHO} "gtk_win32_runtime=${RUNTIMEDIR}" 11 | @${ECHO} "gtk_win32_devel=${DEVTIMEDIR}" 12 | 13 | -------------------------------------------------------------------------------- /win32/wcalc_icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmcmahill/wcalc/dfee9e48ad8f43668d646d202b3cef41d263a287/win32/wcalc_icon.ico --------------------------------------------------------------------------------