Skip to content

Commit c3d742f

Browse files
DJGosnelldmey
authored andcommitted
Add support for C#, VB & F# Languages with .NET Standard 1.0 (#39)
1 parent 05600ec commit c3d742f

File tree

13 files changed

+2164
-4
lines changed

13 files changed

+2164
-4
lines changed

.gitattributes

Lines changed: 65 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,68 @@
22
*.h linguist-language=C
33

44
# Ignore all vba files in tests to make Python the main language used in this repo.
5-
tests/vba/* linguist-vendored
5+
tests/vba/* linguist-vendored
6+
7+
###############################################################################
8+
# Set default behavior to automatically normalize line endings.
9+
###############################################################################
10+
* text=auto
11+
12+
###############################################################################
13+
# Set default behavior for command prompt diff.
14+
#
15+
# This is need for earlier builds of msysgit that does not have it on by
16+
# default for csharp files.
17+
# Note: This is only used by command line
18+
###############################################################################
19+
#*.cs diff=csharp
20+
21+
###############################################################################
22+
# Set the merge driver for project and solution files
23+
#
24+
# Merging from the command prompt will add diff markers to the files if there
25+
# are conflicts (Merging from VS is not affected by the settings below, in VS
26+
# the diff markers are never inserted). Diff markers may cause the following
27+
# file extensions to fail to load in VS. An alternative would be to treat
28+
# these files as binary and thus will always conflict and require user
29+
# intervention with every merge. To do so, just uncomment the entries below
30+
###############################################################################
31+
#*.sln merge=binary
32+
#*.csproj merge=binary
33+
#*.vbproj merge=binary
34+
#*.vcxproj merge=binary
35+
#*.vcproj merge=binary
36+
#*.dbproj merge=binary
37+
#*.fsproj merge=binary
38+
#*.lsproj merge=binary
39+
#*.wixproj merge=binary
40+
#*.modelproj merge=binary
41+
#*.sqlproj merge=binary
42+
#*.wwaproj merge=binary
43+
44+
###############################################################################
45+
# behavior for image files
46+
#
47+
# image files are treated as binary by default.
48+
###############################################################################
49+
#*.jpg binary
50+
#*.png binary
51+
#*.gif binary
52+
53+
###############################################################################
54+
# diff behavior for common document formats
55+
#
56+
# Convert binary document formats to text before diffing them. This feature
57+
# is only available from the command line. Turn it on by uncommenting the
58+
# entries below.
59+
###############################################################################
60+
#*.doc diff=astextplain
61+
#*.DOC diff=astextplain
62+
#*.docx diff=astextplain
63+
#*.DOCX diff=astextplain
64+
#*.dot diff=astextplain
65+
#*.DOT diff=astextplain
66+
#*.pdf diff=astextplain
67+
#*.PDF diff=astextplain
68+
#*.rtf diff=astextplain
69+
#*.RTF diff=astextplain

.gitignore

Lines changed: 262 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,4 +121,265 @@ package-lock.json
121121

122122
# cffi temp files
123123
psychroc.c
124-
psychroc.o
124+
psychroc.o
125+
126+
## Ignore Visual Studio temporary files, build results, and
127+
## files generated by popular Visual Studio add-ons.
128+
129+
# User-specific files
130+
*.suo
131+
*.user
132+
*.userosscache
133+
*.sln.docstates
134+
135+
# User-specific files (MonoDevelop/Xamarin Studio)
136+
*.userprefs
137+
138+
# Build results
139+
[Dd]ebug/
140+
[Dd]ebugPublic/
141+
[Rr]elease/
142+
[Rr]eleases/
143+
x64/
144+
x86/
145+
bld/
146+
[Bb]in/
147+
[Oo]bj/
148+
[Ll]og/
149+
150+
# Visual Studio 2015 cache/options directory
151+
.vs/
152+
# Uncomment if you have tasks that create the project's static files in wwwroot
153+
#wwwroot/
154+
155+
# MSTest test Results
156+
[Tt]est[Rr]esult*/
157+
[Bb]uild[Ll]og.*
158+
159+
# NUNIT
160+
*.VisualState.xml
161+
TestResult.xml
162+
163+
# Build Results of an ATL Project
164+
[Dd]ebugPS/
165+
[Rr]eleasePS/
166+
dlldata.c
167+
168+
# DNX
169+
project.lock.json
170+
project.fragment.lock.json
171+
artifacts/
172+
173+
*_i.c
174+
*_p.c
175+
*_i.h
176+
*.ilk
177+
*.meta
178+
*.obj
179+
*.pch
180+
*.pdb
181+
*.pgc
182+
*.pgd
183+
*.rsp
184+
*.sbr
185+
*.tlb
186+
*.tli
187+
*.tlh
188+
*.tmp
189+
*.tmp_proj
190+
*.log
191+
*.vspscc
192+
*.vssscc
193+
.builds
194+
*.pidb
195+
*.svclog
196+
*.scc
197+
198+
# Chutzpah Test files
199+
_Chutzpah*
200+
201+
# Visual C++ cache files
202+
ipch/
203+
*.aps
204+
*.ncb
205+
*.opendb
206+
*.opensdf
207+
*.sdf
208+
*.cachefile
209+
*.VC.db
210+
*.VC.VC.opendb
211+
212+
# Visual Studio profiler
213+
*.psess
214+
*.vsp
215+
*.vspx
216+
*.sap
217+
218+
# TFS 2012 Local Workspace
219+
$tf/
220+
221+
# Guidance Automation Toolkit
222+
*.gpState
223+
224+
# ReSharper is a .NET coding add-in
225+
_ReSharper*/
226+
*.[Rr]e[Ss]harper
227+
*.DotSettings.user
228+
229+
# JustCode is a .NET coding add-in
230+
.JustCode
231+
232+
# TeamCity is a build add-in
233+
_TeamCity*
234+
235+
# DotCover is a Code Coverage Tool
236+
*.dotCover
237+
238+
# NCrunch
239+
_NCrunch_*
240+
.*crunch*.local.xml
241+
nCrunchTemp_*
242+
243+
# MightyMoose
244+
*.mm.*
245+
AutoTest.Net/
246+
247+
# Web workbench (sass)
248+
.sass-cache/
249+
250+
# Installshield output folder
251+
[Ee]xpress/
252+
253+
# DocProject is a documentation generator add-in
254+
DocProject/buildhelp/
255+
DocProject/Help/*.HxT
256+
DocProject/Help/*.HxC
257+
DocProject/Help/*.hhc
258+
DocProject/Help/*.hhk
259+
DocProject/Help/*.hhp
260+
DocProject/Help/Html2
261+
DocProject/Help/html
262+
263+
# Click-Once directory
264+
publish/
265+
266+
# Publish Web Output
267+
*.[Pp]ublish.xml
268+
*.azurePubxml
269+
# TODO: Comment the next line if you want to checkin your web deploy settings
270+
# but database connection strings (with potential passwords) will be unencrypted
271+
#*.pubxml
272+
*.publishproj
273+
274+
# Microsoft Azure Web App publish settings. Comment the next line if you want to
275+
# checkin your Azure Web App publish settings, but sensitive information contained
276+
# in these scripts will be unencrypted
277+
PublishScripts/
278+
279+
# NuGet Packages
280+
*.nupkg
281+
# The packages folder can be ignored because of Package Restore
282+
**/packages/*
283+
# except build/, which is used as an MSBuild target.
284+
!**/packages/build/
285+
# Uncomment if necessary however generally it will be regenerated when needed
286+
#!**/packages/repositories.config
287+
# NuGet v3's project.json files produces more ignoreable files
288+
*.nuget.props
289+
*.nuget.targets
290+
291+
# Microsoft Azure Build Output
292+
csx/
293+
*.build.csdef
294+
295+
# Microsoft Azure Emulator
296+
ecf/
297+
rcf/
298+
299+
# Windows Store app package directories and files
300+
AppPackages/
301+
BundleArtifacts/
302+
Package.StoreAssociation.xml
303+
_pkginfo.txt
304+
305+
# Visual Studio cache files
306+
# files ending in .cache can be ignored
307+
*.[Cc]ache
308+
# but keep track of directories ending in .cache
309+
!*.[Cc]ache/
310+
311+
# Others
312+
ClientBin/
313+
~$*
314+
*~
315+
*.dbmdl
316+
*.dbproj.schemaview
317+
*.jfm
318+
*.pfx
319+
*.publishsettings
320+
node_modules/
321+
orleans.codegen.cs
322+
323+
# Since there are multiple workflows, uncomment next line to ignore bower_components
324+
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
325+
#bower_components/
326+
327+
# RIA/Silverlight projects
328+
Generated_Code/
329+
330+
# Backup & report files from converting an old project file
331+
# to a newer Visual Studio version. Backup files are not needed,
332+
# because we have git ;-)
333+
_UpgradeReport_Files/
334+
UpgradeLog*.XML
335+
UpgradeLog*.htm
336+
337+
# SQL Server files
338+
*.mdf
339+
*.ldf
340+
341+
# Business Intelligence projects
342+
*.rdl.data
343+
*.bim.layout
344+
*.bim_*.settings
345+
346+
# Microsoft Fakes
347+
FakesAssemblies/
348+
349+
# GhostDoc plugin setting file
350+
*.GhostDoc.xml
351+
352+
# Node.js Tools for Visual Studio
353+
.ntvs_analysis.dat
354+
355+
# Visual Studio 6 build log
356+
*.plg
357+
358+
# Visual Studio 6 workspace options file
359+
*.opt
360+
361+
# Visual Studio LightSwitch build output
362+
**/*.HTMLClient/GeneratedArtifacts
363+
**/*.DesktopClient/GeneratedArtifacts
364+
**/*.DesktopClient/ModelManifest.xml
365+
**/*.Server/GeneratedArtifacts
366+
**/*.Server/ModelManifest.xml
367+
_Pvt_Extensions
368+
369+
# Paket dependency manager
370+
.paket/paket.exe
371+
paket-files/
372+
373+
# FAKE - F# Make
374+
.fake/
375+
376+
# JetBrains Rider
377+
.idea/
378+
*.sln.iml
379+
380+
# CodeRush
381+
.cr/
382+
383+
# Python Tools for Visual Studio (PTVS)
384+
__pycache__/
385+
*.pyc

.travis.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ before_install:
99
- pip uninstall numpy -y && pip install numpy==1.15.4 # FIXME: Temporary fix as f2py is buggy on numpy 1.16.0
1010
- sudo apt-get install gfortran
1111
- pip install Sphinx sphinx_bootstrap_theme sphinx-autodoc-typehints m2r cffi
12+
- sudo apt install snapd
13+
- sudo snap install dotnet-sdk --classic
1214

1315
install:
1416
- sphinx-build docs/sphinx build/html
@@ -21,6 +23,8 @@ script:
2123
- python3 -m pytest -v -s
2224
- cd tests/js && npm test
2325
- cd $TRAVIS_BUILD_DIR
26+
- cd src/c_sharp && dotnet-sdk.dotnet test
27+
- cd $TRAVIS_BUILD_DIR
2428

2529
deploy:
2630
provider: pages

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
|---|---|------|
66
[![Build Status](https://travis-ci.com/psychrometrics/psychrolib.svg?branch=master)](https://travis-ci.com/psychrometrics/psychrolib) | [![DOI](https://joss.theoj.org/papers/10.21105/joss.01137/status.svg)](https://doi.org/10.21105/joss.01137) | [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.2537945.svg)](https://doi.org/10.5281/zenodo.2537945)|
77

8-
PsychroLib is a library of functions to enable the calculation of psychrometric properties of moist and dry air. Versions in Python, C, Fortran, JavaScript, and Microsoft Excel Visual Basic for Applications (VBA) are available. The library works in both metric (SI) and imperial (IP) systems of units. For a general overview and a list of currently available functions, please see the [overview page](docs/overview.md).
8+
PsychroLib is a library of functions to enable the calculation of psychrometric properties of moist and dry air. Versions are available in Python, C, Fortran, JavaScript, Microsoft Excel Visual Basic for Applications (VBA), and C#, Visual Basic, and F# with .NET Standard 1.0 (.NET Core >= 1.0 & .NET Framework >= 4.5). The library works in both metric (SI) and imperial (IP) systems of units. For a general overview and a list of currently available functions, please see the [overview page](docs/overview.md).
99

1010

1111
## Documentation
@@ -23,6 +23,8 @@ Examples on how to use PsychroLib in all the supported languages are described i
2323

2424
- C, Fortran and JavaScript: clone the repository, and bundle according to your requirements.
2525

26+
- C#: from the [NuGet package](https://www.nuget.org/packages/PsychroLib/) manager or clone the repository, and bundle according to your requirements.
27+
2628

2729
## Citing
2830

assets/psychrolib_logo_64.png

1.55 KB
Loading

0 commit comments

Comments
 (0)