Changeset 33807a1e


Ignore:
Timestamp:
Mar 15, 2024, 10:00:40 PM (9 months ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
master
Children:
3ad5c50
Parents:
54af365
Message:

update string to type test

Location:
tests
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • tests/.expect/ato.x64.txt

    r54af365 r33807a1e  
    33-123 -123
    44123 123
     5-123 -123
     6123 123
     7-123.456 -123.456
     8-123.456789012346 -123.4567890123456
     9-123.456789012345679 -123.45678901234567890123456789
     10-123.456-123.456i -123.456-123.456i
     11-123.456789012346+123.456789012346i -123.4567890123456+123.4567890123456i
     12123.456789012345679-123.456789012345679i 123.45678901234567890123456789-123.45678901234567890123456789i
     13123.45678901234-123.456789i 123.45678901234 -123.4567890i
    514-123 -123
    615123 123
     16-123 -123
     17123 123
     18-123 -123
     19123 123
    720-123.456 -123.456
    821-123.456789012346 -123.4567890123456
    9 -123.456789012345679 -123.45678901234567890123456789
     22-123.456789012345679 -123.45678901234567890123456789
     23-123.456-123.456i -123.456-123.456i
     24-123.456789012346+123.456789012346i -123.4567890123456+123.4567890123456i
     25123.456789012345679-123.456789012345679i 123.45678901234567890123456789-123.45678901234567890123456789i
     26123.45678901234-123.456789i 123.45678901234 -123.4567890i
     27invalid argument 2.0fred
     28invalid argument 2  3x
     29-123 -123
     30123 123
     31-123 -123
     32123 123
     33-123 -123
     34123 123
     35-123.456 -123.456
     36-123.456789012346 -123.4567890123456
     37-123.456789012345679 -123.45678901234567890123456789
    1038-123.456-123.456i -123.456-123.456i
    1139-123.456789012346+123.456789012346i -123.4567890123456+123.4567890123456i
    1240123.456789012345679-123.456789012345679i 123.45678901234567890123456789-123.45678901234567890123456789i
    1341123.45678901234-123.456789i 123.45678901234-123.4567890i
    14 -123 -123
    15 123 123
    16 -123 -123
    17 123 123
    18 -123 -123
    19 123 123
    20 -123.456 -123.456
    21 -123.456789012346 -123.4567890123456
    22 -123.456789012345679 -123.45678901234567890123456789
    23 -123.456-123.456i -123.456-123.456i
    24 0.+0.i 2  3
    25 -123.456789012346+123.456789012346i -123.4567890123456+123.4567890123456i
    26 123.456789012345679-123.456789012345679i 123.45678901234567890123456789-123.45678901234567890123456789i
    27 123.45678901234-123.456789i 123.45678901234-123.4567890i
     42invalid argument 2.0fred
     43invalid argument 2  3x
  • tests/ato.cfa

    r54af365 r33807a1e  
    1010// Created On       : Thu Feb  4 08:10:57 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue Dec  4 21:33:53 2018
    13 // Update Count     : 92
     12// Last Modified On : Fri Mar 15 17:58:35 2024
     13// Update Count     : 145
    1414//
    1515
     
    1818
    1919int main( void ) {
     20        // ato
     21
    2022        const char * sptr = "-123";
    2123        int i = ato( sptr );
     
    3234        sout | uli | sptr;
    3335
    34         sptr = "-123";
     36        sptr = " -123 ";                                                                        // spaces allowed
    3537        long long int lli = ato( sptr );
    3638        sout | lli | sptr;
    37         sptr = "123";
     39        sptr = " 123 ";                                                                         // spaces allowed
    3840        unsigned long long int ulli = ato( sptr );
    3941        sout | ulli | sptr;
     
    4547        double d = ato( sptr );
    4648        sout | d | sptr;
    47         sptr = "-123.45678901234567890123456789";
     49        sptr = " -123.45678901234567890123456789 ";                     // spaces allowed
    4850        long double ld = ato( sptr );
    4951        sout | ld | sptr;
     
    5860        long double _Complex ldc = ato( sptr );
    5961        sout | ldc | sptr;
    60         sptr = "123.45678901234-123.4567890i";
     62        sptr = " 123.45678901234 -123.4567890i ";                       // spaces allowed
    6163        long double _Complex ldc2 = ato( sptr );
    6264        sout | ldc2 | sptr;
    6365
     66        // strto
    6467
    6568        sptr = "-123";
    66         i = strto( sptr, 0, 10 );
     69        i = strto( sptr, 0p, 10 );
    6770        sout | i | sptr;
    6871        sptr = "123";
    69         ui = strto( sptr, 0, 10 );
     72        ui = strto( sptr, 0p, 10 );
    7073        sout | ui | sptr;
    7174
    7275        sptr = "-123";
    73         li = strto( sptr, 0, 10 );
     76        li = strto( sptr, 0p, 10 );
    7477        sout | li | sptr;
    7578        sptr = "123";
    76         uli = strto( sptr, 0, 10 );
     79        uli = strto( sptr, 0p, 10 );
    7780        sout | uli | sptr;
    7881
    79         sptr = "-123";
    80         lli = strto( sptr, 0, 10 );
     82        sptr = " -123 ";                                                                        // spaces allowed
     83        lli = strto( sptr, 0p, 10 );
    8184        sout | lli | sptr;
    82         sptr = "123";
    83         ulli = strto( sptr, 0, 10 );
     85        sptr = " 123 ";                                                                         // spaces allowed
     86        ulli = strto( sptr, 0p, 10 );
    8487        sout | ulli | sptr;
    8588
    8689        sptr = "-123.456";
    87         f = strto( sptr, 0 );
     90        f = strto( sptr, 0p );
    8891        sout | f | sptr;
    8992        sptr = "-123.4567890123456";
    90         d = strto( sptr, 0 );
     93        d = strto( sptr, 0p );
    9194        sout | d | sptr;
    92         sptr = "-123.45678901234567890123456789";
    93         ld = strto( sptr, 0 );
     95        sptr = " -123.45678901234567890123456789 ";                     // spaces allowed
     96        ld = strto( sptr, 0p );
    9497        sout | ld | sptr;
    9598
    9699        sptr = "-123.456-123.456i";
    97         fc = strto( sptr, 0 );
     100        fc = strto( sptr, 0p );
    98101        sout | fc | sptr;
    99 
    100         char * eptr = 0;
    101         // sptr = "2fred";
    102         // fc = strto( sptr, &eptr );
    103         // sout | fc | sptr | eptr;
    104 
    105         sptr = "2  3";
    106         fc = strto( sptr, &eptr );
    107         sout | fc | sptr | eptr;
    108 
    109102        sptr = "-123.4567890123456+123.4567890123456i";
    110         dc = strto( sptr, 0 );
     103        dc = strto( sptr, 0p );
    111104        sout | dc | sptr;
    112105        sptr = "123.45678901234567890123456789-123.45678901234567890123456789i";
    113         ldc = strto( sptr, 0 );
     106        ldc = strto( sptr, 0p );
     107        sout | ldc | sptr;
     108        sptr = " 123.45678901234 -123.4567890i ";                       // spaces allowed
     109        ldc2 = strto( sptr, 0p );
     110        sout | ldc2 | sptr;
     111
     112        sptr = "2.0fred";
     113        char * eptr = 0p;
     114        errno = 0;                                                                                      // reset
     115        f = strto( sptr, &eptr );
     116        if ( errno == ERANGE ) sout | "out of range";
     117        if ( eptr == sptr ||                                                            // conversion failed, no characters generated
     118                 *eptr != '\0' ) sout | "invalid argument" | sptr; // not at end of str ?
     119        else assert( false );
     120
     121        sptr = "2  3x";
     122        eptr = 0p;
     123        errno = 0;                                                                                      // reset
     124        fc = strto( sptr, &eptr );
     125        if ( errno == ERANGE ) sout | "out of range";
     126        if ( eptr == sptr ||                                                            // conversion failed, no characters generated
     127                 *eptr != '\0' ) sout | "invalid argument" | sptr; // not at end of str ?
     128        else assert( false );
     129
     130        // convert
     131
     132        sptr = "-123";
     133        i = convert( sptr );
     134        sout | i | sptr;
     135        sptr = "123";
     136        ui = convert( sptr );
     137        sout | ui | sptr;
     138
     139        sptr = "-123";
     140        li = convert( sptr );
     141        sout | li | sptr;
     142        sptr = "123";
     143        uli = convert( sptr );
     144        sout | uli | sptr;
     145
     146        sptr = " -123 ";                                                                        // spaces allowed
     147        lli = convert( sptr );
     148        sout | lli | sptr;
     149        sptr = " 123 ";                                                                         // spaces allowed
     150        ulli = convert( sptr );
     151        sout | ulli | sptr;
     152
     153        sptr = "-123.456";
     154        f = convert( sptr );
     155        sout | f | sptr;
     156        sptr = "-123.4567890123456";
     157        d = convert( sptr );
     158        sout | d | sptr;
     159        sptr = " -123.45678901234567890123456789 ";                     // spaces allowed
     160        ld = convert( sptr );
     161        sout | ld | sptr;
     162
     163        sptr = "-123.456-123.456i";
     164        fc = convert( sptr );
     165        sout | fc | sptr;
     166        sptr = "-123.4567890123456+123.4567890123456i";
     167        dc = convert( sptr );
     168        sout | dc | sptr;
     169        sptr = "123.45678901234567890123456789-123.45678901234567890123456789i";
     170        ldc = convert( sptr );
    114171        sout | ldc | sptr;
    115172        sptr = "123.45678901234-123.4567890i";
    116         ldc2 = strto( sptr, 0 );
     173        ldc2 = convert( sptr );
    117174        sout | ldc2 | sptr;
     175
     176        sptr = "2.0fred";
     177        try {
     178                f = convert( sptr );
     179                assert( false );
     180        } catch( invalid_argument * ) {
     181                sout | "invalid argument" | sptr;
     182        } // try
     183
     184        sptr = "2  3x";
     185        try {
     186                fc = convert( sptr );
     187                assert( false );
     188        } catch( invalid_argument * ) {
     189                sout | "invalid argument" | sptr;
     190        } // try
    118191} // main
    119192
Note: See TracChangeset for help on using the changeset viewer.