42 #undef __STRICT_ANSI__
55 #endif //UNICODE_CHARS
140 printf(
"<ATOM> [%08x] subword=",(
int)a);
142 x = *(
string+length);
144 printf(
"{"STR"}\n",
string);
145 *(
string+length) = x;
155 #ifdef DEBUG_RUNTIME_ATOMS
159 dump_atom_address( a );
164 #ifdef DEBUG_COMPILETIME_ATOMS
168 dump_atom_address( a );
209 printf(
"<ATOM> [%08x] word={"STR"}\n",(
int)a,
string);
219 #ifdef DEBUG_RUNTIME_ATOMS
223 dump_atom_address( a );
228 #ifdef DEBUG_COMPILETIME_ATOMS
232 dump_atom_address( a );
260 int dirty = (length == 0);
263 for( chs=
STRING(a); length && !dirty ; chs++,length-- )
266 if( ch==
TEXT(
'[') || ch==
TEXT(
']') ||
282 for( chs=
STRING(a); length; chs++,length-- )
285 if( ch==
TEXT(
'|') || ch==
TEXT(
'\\') )
308 if( 0<=limit && limit<10 ) limit=10;
310 if( 0<=limit && limit<
LENGTH(a) )
342 char* filename =
FILENAME(wfilename);
346 file = fopen( filename,
"wb" );
350 unsigned char buffer[2] = {0xFF,0xFE};
351 if( !errno ) fwrite( buffer, 2, 1, file );
352 #endif //UNICODE_CHARS
354 if( !errno ) fclose( file );
397 if( buffer[0]==0xFF && buffer[1]==0xFE )
399 memcpy( &buffer[0], &buffer[2], size-2 );
407 if( buffer[0]==0xEF && buffer[1]==0xBB && buffer[2]==0xBF )
409 memcpy( &buffer[0], &buffer[3], size-3 );
422 #else //UNICODE_CHARS
429 #endif //UNICODE_CHARS
453 unsigned char* buffer = (
unsigned char*)
load_file( filename, &filesize );
516 unsigned int n =
LENGTH(a);
517 if( n!=
LENGTH(b) )
return 0;
543 if( a == false_true[0] )
550 if( a == false_true[1] )
599 #define BUFFER_SIZE 128
655 int min =
LENGTH(a) < *buff_len ?
LENGTH(a) : *buff_len;
657 for(i = 0; i < min; ++ i)
673 if(isinf(x)!=0 && x > 0)
676 if (*buff_len > 4) *buff_len = 3;
679 if( isinf(x)!=0 && x < 0)
682 if (*buff_len > 5) *buff_len = 4;
688 if (*buff_len > 4) *buff_len = 3;
693 if( (x>=1e23) || (x<=-1e23) || ((x>=-1e-23) && (x<=1e-23)) )
705 while (buff[*buff_len-1] ==
'0') --*buff_len;
706 if (buff[*buff_len-1] ==
'.') --*buff_len;
707 buff[*buff_len] =
'\0';
739 printf(
"<ATOM> [%08x] word with len %d \n", (
int)word, buff_len);