<commit_before>( function _fIntervalo_s_()
{

'use strict';

let _global = _global_;
let _ = _global_.wTools;

// --
// checker
// --

function isEmpty( ointerval )
{
  _.assert( arguments.length === 1 );
  if( !_.intervalIs( ointerval ) )
  return false;
  return ointerval[ 0 ] === ointerval[ 1 ];
}

//

function isPopulated( ointerval )
{
  _.assert( arguments.length === 1 );
  if( !_.intervalIs( ointerval ) )
  return false;
  return ointerval[ 0 ] !== ointerval[ 1 ];
}

// //
//
// function inInclusive( ointerval, srcNumber )
// {
//
//   if( _.longIs( srcNumber ) )
//   srcNumber = srcNumber.length;
//
//   _.assert( arguments.length === 2 );
//   _.assert( _.intervalIs( ointerval ) );
//   _.assert( _.numberIs( srcNumber ) );
//
//   if( srcNumber < ointerval[ 0 ] )
//   return false;
//   if( srcNumber >= ointerval[ 1 ] )
//   return false;
//
//   return true;
// }
//
// //
//
// function inExclusive( ointerval, srcNumber )
// {
//   if( _.longIs( srcNumber ) )
//   srcNumber = srcNumber.length;
//
//   _.assert( arguments.length === 2 );
//   _.assert( _.intervalIs( ointerval ) );
//   _.assert( _.numberIs( srcNumber ) );
//
//   if( srcNumber <= ointerval[ 0 ] )
//   return false;
//   if( srcNumber > ointerval[ 1 ] )
//   return false;
//
//   return true;
// }
//
// //
//
// function inInclusiveLeft( ointerval, srcNumber )
// {
//   if( _.longIs( srcNumber ) )
//   srcNumber = srcNumber.length;
//
//   _.assert( arguments.length === 2 );
//   _.assert( _.intervalIs( ointerval ) );
//   _.assert( _.numberIs( srcNumber ) );
//
//   if( srcNumber < ointerval[ 0 ] )
//   return false;
//   if( srcNumber >= ointerval[ 1 ] )
//   return false;
//
//   return true;
// }
//
// //
//
// function inInclusiveRight( ointerval, srcNumber )
// {
//   if( _.longIs( srcNumber ) )
//   srcNumber = srcNumber.length;
//
//   _.assert( arguments.length === 2 );
//   _.assert( _.intervalIs( ointerval ) );
//   _.assert( _.numberIs( srcNumber ) );
//
//   if( srcNumber < ointerval[ 0 ] )
//   return false;
//   if( srcNumber >= ointerval[ 1 ] )
//   return false;
//
//   return true;
// }

//

function has( ointerval, srcNumber )
{
  // if( _.longIs( srcNumber ) )
  // srcNumber = srcNumber.length;

  _.assert( arguments.length === 2 );
  _.assert( _.intervalIs( ointerval ) );
  _.assert( _.numberIs( srcNumber ) );

  if( srcNumber < ointerval[ 0 ] )
  return false;
  if( srcNumber >= ointerval[ 1 ] )
  return false;

  return true;
}

//

function sureInInterval( src, ointerval )
{
  _.assert( arguments.length >= 2 );
  if( _.longIs( src ) )
  src = src.length;
  let args = _.unrollFrom([ _.ointerval.has( ointerval, src ), () => 'Out of ointerval' + _.rangeToStr( ointerval ), _.unrollSelect( arguments, 2 ) ]);
  _.assert.apply( _, args );
  return true;
}

//

function assertInInterval( src, ointerval )
{
  _.assert( arguments.length >= 2 );
  if( _.longIs( src ) )
  src = src.length;
  let args = _.unrollFrom([ _.ointerval.has( ointerval, src ), () => 'Out of ointerval' + _.rangeToStr( ointerval ), _.unrollSelect( arguments, 2 ) ]);
  _.assert.apply( _, args );
  return true;
}

// --
// maker
// --

function fromSingle( ointerval )
{
  _.assert( arguments.length === 1 );

  if( _.numberIs( ointerval ) )
  return [ ointerval, ointerval + 1 ];

  _.assert( _.longIs( ointerval ) );
  _.assert( ointerval.length === 1 || ointerval.length === 2 );

  if( ointerval[ 0 ] === undefined )
  {
    if( ointerval[ 1 ] === undefined )
    return [ 0, 1 ];

    _.assert( _.numberIs( ointerval[ 1 ] ) );
    return [ ointerval[ 1 ] - 1, ointerval[ 1 ] ];
  }

  _.assert( _.numberIs( ointerval[ 0 ] ) );

  if( ointerval[ 1 ] === undefined )<commit_msg>Improve routines `has`, `sureInInterval`, `assertInInterval` of namespace `ointerval`<commit_after>( function _fIntervalo_s_()
{

'use strict';

let _global = _global_;
let _ = _global_.wTools;

// --
// checker
// --

function isEmpty( ointerval )
{
  _.assert( arguments.length === 1 );
  if( !_.intervalIs( ointerval ) )
  return false;
  return ointerval[ 0 ] === ointerval[ 1 ];
}

//

function isPopulated( ointerval )
{
  _.assert( arguments.length === 1 );
  if( !_.intervalIs( ointerval ) )
  return false;
  return ointerval[ 0 ] !== ointerval[ 1 ];
}

// //
//
// function inInclusive( ointerval, srcNumber )
// {
//
//   if( _.longIs( srcNumber ) )
//   srcNumber = srcNumber.length;
//
//   _.assert( arguments.length === 2 );
//   _.assert( _.intervalIs( ointerval ) );
//   _.assert( _.numberIs( srcNumber ) );
//
//   if( srcNumber < ointerval[ 0 ] )
//   return false;
//   if( srcNumber >= ointerval[ 1 ] )
//   return false;
//
//   return true;
// }
//
// //
//
// function inExclusive( ointerval, srcNumber )
// {
//   if( _.longIs( srcNumber ) )
//   srcNumber = srcNumber.length;
//
//   _.assert( arguments.length === 2 );
//   _.assert( _.intervalIs( ointerval ) );
//   _.assert( _.numberIs( srcNumber ) );
//
//   if( srcNumber <= ointerval[ 0 ] )
//   return false;
//   if( srcNumber > ointerval[ 1 ] )
//   return false;
//
//   return true;
// }
//
// //
//
// function inInclusiveLeft( ointerval, srcNumber )
// {
//   if( _.longIs( srcNumber ) )
//   srcNumber = srcNumber.length;
//
//   _.assert( arguments.length === 2 );
//   _.assert( _.intervalIs( ointerval ) );
//   _.assert( _.numberIs( srcNumber ) );
//
//   if( srcNumber < ointerval[ 0 ] )
//   return false;
//   if( srcNumber >= ointerval[ 1 ] )
//   return false;
//
//   return true;
// }
//
// //
//
// function inInclusiveRight( ointerval, srcNumber )
// {
//   if( _.longIs( srcNumber ) )
//   srcNumber = srcNumber.length;
//
//   _.assert( arguments.length === 2 );
//   _.assert( _.intervalIs( ointerval ) );
//   _.assert( _.numberIs( srcNumber ) );
//
//   if( srcNumber < ointerval[ 0 ] )
//   return false;
//   if( srcNumber >= ointerval[ 1 ] )
//   return false;
//
//   return true;
// }

//

function has( ointerval, src )
{
  _.assert( arguments.length === 2 );
  _.assert( _.intervalIs( ointerval ) );

  if( _.intervalIs( src ) )
  {
    if( src[ 0 ] < ointerval[ 0 ] )
    return false;
    if( src[ 1 ] > ointerval[ 1 ] )
    return false;
  }
  else if( _.numberIs( src ) )
  {
    if( src < ointerval[ 0 ] )
    return false;
    if( src >= ointerval[ 1 ] )
    return false;
  }
  else
  {
    _.assert( 0, 'Expects interval or number {-src-}.' );
  }

  return true;
}

//

function sureInInterval( src, ointerval )
{
  _.assert( arguments.length >= 2 );
  // if( _.longIs( src ) )
  // src = src.length;
  let args = _.unrollFrom([ _.ointerval.has( ointerval, src ), () => 'Out of ointerval' + _.rangeToStr( ointerval ), _.unrollSelect( arguments, 2 ) ]);
  _.assert.apply( _, args );
  return true;
}

//

function assertInInterval( src, ointerval )
{
  _.assert( arguments.length >= 2 );
  // if( _.longIs( src ) )
  // src = src.length;
  let args = _.unrollFrom([ _.ointerval.has( ointerval, src ), () => 'Out of ointerval' + _.rangeToStr( ointerval ), _.unrollSelect( arguments, 2 ) ]);
  _.assert.apply( _, args );
  return true;
}

// --
// maker
// --

function fromSingle( ointerval )
{
  _.assert( arguments.length === 1 );

  if( _.numberIs( ointerval ) )
  return [ ointerval, ointerval + 1 ];

  _.assert( _.longIs( ointerval ) );
  _.assert( ointerval.length === 1 || ointerval.length === 2 );

  if( ointerval[ 0 ] === undefined )
  {
    if( ointerval[ 1 ] === undefined )
    return [ 0, 1 ];

    _.assert( _.numberIs( ointerval[ 1 ] ) );
    return [ ointerval[ 1 ] - 1, ointerval[ 1 ] ];
  }

  _.assert( _.numberIs( ointerval[ 0 ] ) );

  if( ointerval[ 1 ] === undefined )
{'fraction_non_alphanumeric': 0.19272201786652654, 'fraction_numerical': 0.010903836048344719, 'mean_word_length': 2.4077887197851386, 'pattern_counts': {'":': 0, '<': 14, '<?xml version=': 0, '>': 22, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5509977', 'n_tokens_mistral': 2744, 'n_tokens_neox': 2638, 'n_words': 656}