Commit Graph

611 Commits

Author SHA1 Message Date
mikekaganski
982ff51478 Tried to fix Coverity CID 38586 2015-03-07 14:17:37 +10:00
Ian Bell
7a375952e0 Implement calling a flash routine with guess values provided at the low-level (PQ only for now) 2015-03-06 15:38:25 -07:00
mikekaganski
ae6e516754 Tried to fix Coverity CID 38605 2015-03-06 23:55:56 +10:00
mikekaganski
4ae7040d91 Fix Coverity CID 38615 2015-03-06 22:46:07 +10:00
mikekaganski
af3107ed9a Fix Coverity CID 38616 2015-03-06 22:14:30 +10:00
Ian Bell
cd3e6323d2 Enable the ability to set mixture binary pair data from python (I think)
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2015-03-05 23:46:22 -07:00
Ian Bell
5e74610d0e Fix unexplained crashes with setting of reference state; See #524 2015-03-05 21:47:36 -07:00
Ian Bell
6b6f2dbb29 Removed pEOS and replaced it with EOS() function - reference state works properly; Closes #524 2015-03-05 20:59:46 -07:00
Ian Bell
c984702f9e Tabular files are in fact compressed to z and read as z; Closes #516 2015-03-03 23:06:20 -07:00
Ian Bell
ceef2cd960 Actually check the size of the directory of tables and warn or error appropriately; Closes #43 2015-03-02 21:17:11 -07:00
Ian Bell
e4d28ecaa0 Fixed problems from faulty merge
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2015-03-02 20:43:52 -07:00
Ian Bell
d9e16a77f3 Merge branch 'master' into tabular
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2015-03-02 20:20:51 -07:00
Ian Bell
c063a40183 Implement a wrapper of AbstractState that can be called through the shared library
Closes #508
Closes #497

Sample code:

```
    #include "CoolPropLib.h"

    const long buffer_length = 255;
    char message_buffer[buffer_length];
    long errcode = 0;
    const long N = 2;
    double fractions[N] = {0.5, 0.5};
    long T_param = get_param_index("T");
    long PQ = get_input_pair_index("PQ_INPUTS");

    long handle = AbstractState_factory("HEOS", "Water&Ethanol", &errcode, message_buffer, buffer_length);
    AbstractState_set_fractions(handle, fractions, N, &errcode, message_buffer, buffer_length);
    AbstractState_update(handle, PQ, 101325, 0,  &errcode, message_buffer, buffer_length);
    double Tc = AbstractState_keyed_output(handle, T_param, &errcode, message_buffer, buffer_length);
    AbstractState_free(handle, &errcode, message_buffer, buffer_length);
```
2015-03-01 15:30:31 -07:00
Ian Bell
2e0f267b77 Only silence CRT warning if compiler is MSVC 2015-03-01 13:23:12 -07:00
mikekaganski
0858d98223 Kill off the CRT deprecate warning (#512) 2015-03-01 20:11:14 +10:00
Ian Bell
f053de76b1 Kill warning about initialization order in Helmholtz.h 2015-02-28 20:12:59 -07:00
Ian Bell
c674ff5aa8 Merge pull request #510 from mikekaganski/master
const, ref and iterator optimization
2015-02-28 19:55:10 -07:00
Ian Bell
6cd7307a06 Fix preprocessor for non-clang compilers
No short-circuiting in preprocessor logicals - didn't know that

Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2015-02-28 19:09:56 -07:00
Ian Bell
63b5fd938d Disable thread_local for apple clang that is not up-to-date (new clang is fine, but I can't update clang on the IPU slave)
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2015-02-28 18:57:35 -07:00
Ian Bell
864904f61d Destructor for CoolPropBaseError has to be throw()
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2015-02-28 18:07:01 -07:00
mikekaganski
28691e8e75 const, ref and iterator optimization
1. Another set of arguments optimized:
* args-by-val converted to args-by-ref
* in some cases, reverse has been done, if that is better: if the
object's copy is modified in the func, it's better to avoid extra copy
from arg to local var
2. some const functions marked as such (this is just a beginning)
3. iterators were replaced with const_iterators where applicable
4. catches that catch std::exception& changed to catch (...) - that is
safer; if exception handling is restructured, this will have to be
reconsidered anyway
5. removed some basic structures' constructors; changed them to hold
const char*s to avoid unnecessary string constructions;
6. in some places, moved variable declarations to their definitions, to
avoid calling default constructors and then assigning
7. removed some unnecessary shared_pointers in favor of local objects;
8. in FORTRAN-style functions, added const specifiers to input doubles;
9. fixed a place where values were inserted into a map while iterating
through it
10. fixed is_valid_*_derivative: they could accept incorrect values and
throw when upper index is less than lower
2015-03-01 10:51:01 +10:00
Ian Bell
edd82bbb73 Fixed c++11 incompatibility with Exception refactor; 2015-02-28 16:46:56 -07:00
Ian Bell
8503e37c0f Merge pull request #509 from mikekaganski/master
Exceptions restructured
2015-02-28 16:36:45 -07:00
Ian Bell
526a241ccc Updated docs for Tabular Interpolation; fixed bugs in interpolation code
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2015-02-28 15:54:27 -07:00
mikekaganski
e9c1d6ad60 Exceptions restructured
1. add integer codes to exceptions (to address #381 No1);
2. restructure derived exceptions to be specializations of templated
classes to make their definitions more compact, and remove code
duplication.
2015-02-28 18:00:45 +10:00
Ian Bell
65543cf26e Merge branch 'master' into tabular 2015-02-27 22:54:28 -07:00
Ian Bell
84bdcb1aee Add configuration key for maximum table directory size
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2015-02-27 22:12:59 -07:00
Ian Bell
6eaea3e642 Bicubic coefficients are calculated in all cells
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2015-02-26 20:54:30 -07:00
Ian Bell
52a123437c Merge branch 'master' into tabular 2015-02-26 10:02:31 -07:00
Ian Bell
5c3cb6f9a4 Fix templated output type for min3 and min4 functions 2015-02-26 09:43:12 -07:00
mikekaganski
869d1afc71 More ref args 2015-02-27 00:56:38 +10:00
Ian Bell
0b45ca5c77 Merge branch 'master' into tabular
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2015-02-25 16:53:43 -07:00
Ian Bell
004d497ec0 Merge pull request #501 from mikekaganski/master
thread_local: one more (hopefully portable) attempt
2015-02-25 08:23:26 -07:00
Ian Bell
f2e23cd5d7 Merge branch 'master' of https://github.com/coolprop/coolprop 2015-02-25 08:22:51 -07:00
Ian Bell
77046321b8 Allow user to specify another HMX.BNC path for REFPROP
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2015-02-25 08:22:34 -07:00
mikekaganski
4c8421165c thread_local: one more (hopefully portable) attempt 2015-02-25 20:20:05 +10:00
Ian Bell
de2d5828d3 One more CoolProp namespace on OSX in CoolPropTools.h 2015-02-24 21:59:32 -07:00
Ian Bell
2c145d9cc2 Merge branch 'master' into tabular 2015-02-24 21:54:15 -07:00
Ian Bell
c7ef99e7bf Resolve another bug with OSX compilation
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2015-02-24 21:51:54 -07:00
Ian Bell
8ef1a75f38 Added CoolProp:: namespace spec to some functions in CoolPropTools.h
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2015-02-24 21:47:00 -07:00
Ian Bell
14a654f57d Merge branch 'master' into tabular
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2015-02-24 21:39:45 -07:00
Ian Bell
2e270f291f Cleaned up CoolPropTools.h a little bit
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2015-02-24 21:25:33 -07:00
Ian Bell
e4672f1a98 Merge pull request #500 from mikekaganski/master
Fix directory size calculations
2015-02-24 21:19:46 -07:00
mikekaganski
c38c4c468f Fix directory size calculations 2015-02-25 13:58:41 +10:00
Ian Bell
716c5a34d0 Merge branch 'master' into tabular
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2015-02-24 20:20:00 -07:00
Ian Bell
b0eb894240 Merge pull request #499 from CoolProp/longdouble_remap
Longdouble remap
2015-02-24 20:05:25 -07:00
Ian Bell
729b44ae5d Merge remote-tracking branch 'remotes/origin/longdouble_remap' 2015-02-24 20:03:57 -07:00
Ian Bell
e74211910f Once more to get rid of min and max macros
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2015-02-23 23:15:11 -07:00
Ian Bell
2c61b99ffb Undef min and max aggressively
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2015-02-23 23:12:11 -07:00
Ian Bell
01f4b87dae Undef min and max macros for windows
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2015-02-23 23:06:36 -07:00