CASL / Futility

VERA Fortran Utilities
Other
44 stars 20 forks source link

Pl get string update #197

Closed djabaay closed 4 years ago

djabaay commented 5 years ago

Change the %getString interface to allow the writing of multidimensional parameter to a scalar string.

djabaay commented 4 years ago

rebased with master and addressed comments

djabaay commented 4 years ago

@aarograh and @lamilamilami, can both of you guys review the changes that got pushed and if they are satisfactory, close your conversations?

djabaay commented 4 years ago

Ran Continuous tests with MPACT + CTF:

100% tests passed, 0 tests failed out of 472

Subproject Time Summary:
CTeuchos         =   1.21 sec*proc (4 tests)
ForTeuchos       =   2.16 sec*proc (4 tests)
Futility         =  42.26 sec*proc (60 tests)
MPACT_API        =  42.83 sec*proc (3 tests)
MPACT_Drivers    =   2.42 sec*proc (4 tests)
MPACT_exe        = 15745.81 sec*proc (218 tests)
MPACT_libs       = 1095.68 sec*proc (179 tests)

Label Time Summary:
BASIC         =  42.26 sec*proc (60 tests)
CONTINUOUS    =  42.26 sec*proc (60 tests)
HEAVY         =  42.26 sec*proc (60 tests)
NIGHTLY       =  42.26 sec*proc (60 tests)

Total Test time (real) = 1134.28 sec
djabaay commented 4 years ago

A thought @aarograh, I have the delimiter set to be defaulted to the semi-colon. I then use the semi-colon later to use with the getField() subroutine. Wouldn't it be better if the delimiter for non-scalar arrays was to just surround the entry in quotes and separate them with a single space? That way, the getField() subroutine will have direct correspondence and interoperability. Does what I'm saying make sense?

To say it another way, I'm using the semi-colon delimiter as a proxy for the field separator, which is white space. Wouldn't it be better to make them consistent?

aarograh commented 4 years ago

@djabaay So are you saying that instead of the output string for an array (taken from one of our discussions above) being '311; 411; 321; 421; 312; 412; 322; 422' that it would instead be "311" "411" "321" "421" "312" "412" "322" "422"?

djabaay commented 4 years ago

Correct. Then I can call getField() and just input the field number and get the entry I need. Currently, there is an underlying assumption that the semi-colon needs a space after it, since that is what getField() parses. I think that just enforcing the syntax getField() expects directly makes things less fragile and murky.

aarograh commented 4 years ago

Dan and I talked about the delimeter change on slack and agreed that was fine. I'm good with changes to go from semicolon to quotes for the delimiters. This should be all set to merge if @bkochuna or @stimpsonsg would like to push the buttom.

djabaay commented 4 years ago

ping @bkochuna or @stimpsonsg

bkochuna commented 4 years ago

I'm good with merging. I assume Aaron resolved all discussions?

djabaay commented 4 years ago

Changes have all been approved by Aaron.