Mercurial > repos > rhope
comparison string.rhope @ 105:43cc42df26cc
Various compiler improvements
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Tue, 24 Aug 2010 23:22:17 -0400 |
parents | f51c4c17457c |
children | 439db471f595 |
comparison
equal
deleted
inserted
replaced
103:7428aa5d6ade | 105:43cc42df26cc |
---|---|
541 | 541 |
542 _Flatten@String[string,dest,offset,count:out] | 542 _Flatten@String[string,dest,offset,count:out] |
543 { | 543 { |
544 If[count] | 544 If[count] |
545 { | 545 { |
546 out <- [string]_Flatten[[dest]Append[ [[string]Buffer >>]Index[offset] ], [offset]+[1i32], [count]-[1i32]] | 546 out <- [_internal_array_copychunk[[string]Buffer >>, offset, dest, [dest]Length, count]]Length <<[[[dest]Length]+[count]] |
547 }{ | 547 }{ |
548 out <- dest | 548 out <- dest |
549 } | 549 } |
550 } | 550 } |
551 | 551 |
559 out <- [[string]Source >>]_Flatten[dest, [[string]Offset >>]+[offset], count] | 559 out <- [[string]Source >>]_Flatten[dest, [[string]Offset >>]+[offset], count] |
560 } | 560 } |
561 | 561 |
562 Flatten@String Slice[string:out] | 562 Flatten@String Slice[string:out] |
563 { | 563 { |
564 out <- [[Build[String()]]Buffer <<[ [[string]Source >>]_Flatten[Array[], [string]Offset >>, [string]ByteLen >>] ] | 564 If[[string]ByteLen >>] |
565 ]Length <<[[string]Length >>] | 565 { |
566 out <- [[Build[String()]]Buffer <<[ [[string]Source >>]_Flatten[_internal_array_allocnaked[[string]ByteLen >>, UInt8()], [string]Offset >>, [string]ByteLen >>] ] | |
567 ]Length <<[[string]Length >>] | |
568 }{ | |
569 out <- "" | |
570 } | |
566 } | 571 } |
567 | 572 |
568 Print@String Slice[string:out] | 573 Print@String Slice[string:out] |
569 { | 574 { |
570 out <- Print[Flatten[string]] | 575 out <- Print[Flatten[string]] |
663 } | 668 } |
664 } | 669 } |
665 | 670 |
666 Flatten@String Cat[string:out] | 671 Flatten@String Cat[string:out] |
667 { | 672 { |
668 out <- [[Build[String()] | 673 If[[string]ByteLen >>] |
669 ]Buffer << [ | 674 { |
670 [[string]Right >>]_Flatten[ | 675 out <- [[Build[String()] |
671 [[string]Left >>]_Flatten[Array[], 0i32, [[string]Left >>]Byte Length], | 676 ]Buffer << [ |
672 0i32, [[string]Right >>]Byte Length]] | 677 [[string]Right >>]_Flatten[ |
673 ]Length << [[string]Length >>] | 678 [[string]Left >>]_Flatten[_internal_array_allocnaked[[string]ByteLen >>, UInt8()], 0i32, [[string]Left >>]Byte Length], |
679 0i32, [[string]Right >>]Byte Length]] | |
680 ]Length << [[string]Length >>] | |
681 }{ | |
682 out <- "" | |
683 } | |
674 } | 684 } |
675 | 685 |
676 Print@String Cat[string:out] | 686 Print@String Cat[string:out] |
677 { | 687 { |
678 out <- Print[Flatten[string]] | 688 out <- Print[Flatten[string]] |