mirror of https://github.com/opencv/opencv.git
Open Source Computer Vision Library
https://opencv.org/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
752 B
38 lines
752 B
/* Unless compiled with -DNO_OVERWRITE, this variant of s_copy allows the |
|
* target of an assignment to appear on its right-hand side (contrary |
|
* to the Fortran 77 Standard, but in accordance with Fortran 90), |
|
* as in a(2:5) = a(4:7) . |
|
*/ |
|
|
|
#include "clapack.h" |
|
|
|
/* assign strings: a = b */ |
|
|
|
void s_copy(register char *a, register char *b, ftnlen la, ftnlen lb) |
|
{ |
|
register char *aend, *bend; |
|
|
|
aend = a + la; |
|
|
|
if(la <= lb) |
|
if (a <= b || a >= b + la) |
|
while(a < aend) |
|
*a++ = *b++; |
|
else |
|
for(b += la; a < aend; ) |
|
*--aend = *--b; |
|
else { |
|
bend = b + lb; |
|
if (a <= b || a >= bend) |
|
while(b < bend) |
|
*a++ = *b++; |
|
else { |
|
a += lb; |
|
while(b < bend) |
|
*--a = *--bend; |
|
a += lb; |
|
} |
|
while(a < aend) |
|
*a++ = ' '; |
|
} |
|
}
|
|
|