<commit_before>package sigmastate

import org.ergoplatform.ErgoBox.AdditionalRegisters
import org.ergoplatform._
import scorex.util.ModifierId
import sigmastate.Values.ErgoTree.{DefaultHeader, updateVersionBits}
import sigmastate.Values._
import sigmastate.eval._
import sigmastate.helpers.ErgoLikeContextTesting
import sigmastate.helpers.TestingHelpers.createBox
import sigmastate.interpreter.{Interpreter, ProverResult}
import sigmastate.lang.exceptions.InterpreterException
import sigmastate.utxo._
import sigmastate.utils.Helpers._
import special.collection._
import special.sigma.{SigmaDslTesting, Box}
import sigmastate.helpers.TestingHelpers._

import scala.util.Success

/** Specification to verify that the interpreter behaves according to docs/aot-jit-switch.md. */
class ScriptVersionSwitchSpecification extends SigmaDslTesting
  with CrossVersionProps {
  override implicit val generatorDrivenConfig = PropertyCheckConfiguration(minSuccessful = 30)
  implicit def IR = createIR()

  val b1 = CostingBox(
    false,<commit_msg>direct tree eval: enable cost tracing for ScriptVersionSwitchSpecification.scala<commit_after>package sigmastate

import org.ergoplatform.ErgoBox.AdditionalRegisters
import org.ergoplatform._
import scorex.util.ModifierId
import sigmastate.Values.ErgoTree.{DefaultHeader, updateVersionBits}
import sigmastate.Values._
import sigmastate.eval._
import sigmastate.helpers.ErgoLikeContextTesting
import sigmastate.helpers.TestingHelpers.createBox
import sigmastate.interpreter.{Interpreter, ProverResult, ErgoTreeEvaluator, EvalSettings}
import sigmastate.lang.exceptions.InterpreterException
import sigmastate.utxo._
import sigmastate.utils.Helpers._
import special.collection._
import special.sigma.{SigmaDslTesting, Box}

import scala.util.Success

/** Specification to verify that the interpreter behaves according to docs/aot-jit-switch.md. */
class ScriptVersionSwitchSpecification extends SigmaDslTesting
  with CrossVersionProps {
  override implicit val generatorDrivenConfig = PropertyCheckConfiguration(minSuccessful = 30)
  override val evalSettings: EvalSettings =
    ErgoTreeEvaluator.DefaultEvalSettings.copy(
      costTracingEnabled = true  // should always be enabled in tests (and false by default)
    )

  implicit def IR = createIR()

  val b1 = CostingBox(
    false,
{'fraction_non_alphanumeric': 0.06623655913978495, 'fraction_numerical': 0.0025806451612903226, 'mean_word_length': 6.337539432176656, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, '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': '4266612', 'n_tokens_mistral': 675, 'n_tokens_neox': 678, 'n_words': 157}