{"mainProgramName":"Pseudorandom","programAndInfos":[{"program":{"imports":[],"files":[{"folders":["main","Pseudorandom"],"isMain":true,"isTest":false,"structures":[{"variableDeclarations":[{"type":{"typeType":"Decimal","array":false,"typeName":null},"name":["x"]},{"type":{"typeType":"Decimal","array":false,"typeName":null},"name":["a"]},{"type":{"typeType":"Decimal","array":false,"typeName":null},"name":["c"]},{"type":{"typeType":"Decimal","array":false,"typeName":null},"name":["m"]}],"name":"LinearCongruentialGenerator","comment":null}],"functions":[{"name":"CreateLinearCongruentialGeneratorNumericalRecipes","returnType":{"typeType":"Structure","array":false,"typeName":"LinearCongruentialGenerator"},"parameters":[{"type":{"typeType":"Decimal","array":false,"typeName":null},"name":"seed"}],"localVariables":[],"lines":[],"returnLine":{"lineType":"Return","assignment":null,"functionCall":null,"anIf":null,"loop":null,"comment":null,"spacing":null,"returnExpression":{"expressionType":"FunctionCall","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":{"name":"CreateLinearCongruentialGeneratorCustom","arguments":[{"expressionType":"Arithmetic","arithmeticExpression":{"mathMode":null,"lhs":{"expressionType":"Value","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":{"literalType":"Decimal","literalValue":"2"},"identifier":null,"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}},"rhs":{"expressionType":"Value","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":{"literalType":"Decimal","literalValue":"32"},"identifier":null,"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}},"operator":"Exponentiate"},"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":null,"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}},{"expressionType":"Value","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":{"literalType":"Decimal","literalValue":"1664525"},"identifier":null,"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}},{"expressionType":"Value","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":{"literalType":"Decimal","literalValue":"1013904223"},"identifier":null,"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}},{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"seed"},"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}}],"inferredReturnType":{"typeType":"Structure","array":false,"typeName":"LinearCongruentialGenerator"}},"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":null,"constant":null,"inferredType":{"typeType":"Structure","array":false,"typeName":"LinearCongruentialGenerator"}},"expressionToDeallocate":null},"comment":null},{"name":"CreateLinearCongruentialGeneratorCustom","returnType":{"typeType":"Structure","array":false,"typeName":"LinearCongruentialGenerator"},"parameters":[{"type":{"typeType":"Decimal","array":false,"typeName":null},"name":"modulus"},{"type":{"typeType":"Decimal","array":false,"typeName":null},"name":"multiplier"},{"type":{"typeType":"Decimal","array":false,"typeName":null},"name":"increment"},{"type":{"typeType":"Decimal","array":false,"typeName":null},"name":"seed"}],"localVariables":[{"type":{"typeType":"Structure","array":false,"typeName":"LinearCongruentialGenerator"},"name":["lcg"]}],"lines":[{"lineType":"Spacing","assignment":null,"functionCall":null,"anIf":null,"loop":null,"comment":null,"spacing":"","returnExpression":null,"expressionToDeallocate":null},{"lineType":"Assignment","assignment":{"assignTo":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"lcg"},"constant":null,"inferredType":{"typeType":"Structure","array":false,"typeName":"LinearCongruentialGenerator"}},"assignFrom":{"expressionType":"Allocation","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":{"typeType":"Structure","array":false,"arrayLength":null,"typeName":"LinearCongruentialGenerator"},"expressionToConvert":null,"literal":null,"identifier":null,"constant":null,"inferredType":{"typeType":"Structure","array":false,"typeName":"LinearCongruentialGenerator"}}},"functionCall":null,"anIf":null,"loop":null,"comment":null,"spacing":null,"returnExpression":null,"expressionToDeallocate":null},{"lineType":"Assignment","assignment":{"assignTo":{"expressionType":"Structural","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":{"rhs":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"m"},"constant":null,"inferredType":null},"lhs":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"lcg"},"constant":null,"inferredType":{"typeType":"Structure","array":false,"typeName":"LinearCongruentialGenerator"}},"operator":"StructureAccessor"},"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":null,"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}},"assignFrom":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"modulus"},"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}}},"functionCall":null,"anIf":null,"loop":null,"comment":null,"spacing":null,"returnExpression":null,"expressionToDeallocate":null},{"lineType":"Assignment","assignment":{"assignTo":{"expressionType":"Structural","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":{"rhs":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"a"},"constant":null,"inferredType":null},"lhs":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"lcg"},"constant":null,"inferredType":{"typeType":"Structure","array":false,"typeName":"LinearCongruentialGenerator"}},"operator":"StructureAccessor"},"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":null,"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}},"assignFrom":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"multiplier"},"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}}},"functionCall":null,"anIf":null,"loop":null,"comment":null,"spacing":null,"returnExpression":null,"expressionToDeallocate":null},{"lineType":"Assignment","assignment":{"assignTo":{"expressionType":"Structural","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":{"rhs":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"c"},"constant":null,"inferredType":null},"lhs":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"lcg"},"constant":null,"inferredType":{"typeType":"Structure","array":false,"typeName":"LinearCongruentialGenerator"}},"operator":"StructureAccessor"},"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":null,"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}},"assignFrom":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"increment"},"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}}},"functionCall":null,"anIf":null,"loop":null,"comment":null,"spacing":null,"returnExpression":null,"expressionToDeallocate":null},{"lineType":"Assignment","assignment":{"assignTo":{"expressionType":"Structural","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":{"rhs":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"x"},"constant":null,"inferredType":null},"lhs":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"lcg"},"constant":null,"inferredType":{"typeType":"Structure","array":false,"typeName":"LinearCongruentialGenerator"}},"operator":"StructureAccessor"},"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":null,"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}},"assignFrom":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"seed"},"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}}},"functionCall":null,"anIf":null,"loop":null,"comment":null,"spacing":null,"returnExpression":null,"expressionToDeallocate":null},{"lineType":"Spacing","assignment":null,"functionCall":null,"anIf":null,"loop":null,"comment":null,"spacing":"","returnExpression":null,"expressionToDeallocate":null}],"returnLine":{"lineType":"Return","assignment":null,"functionCall":null,"anIf":null,"loop":null,"comment":null,"spacing":null,"returnExpression":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"lcg"},"constant":null,"inferredType":{"typeType":"Structure","array":false,"typeName":"LinearCongruentialGenerator"}},"expressionToDeallocate":null},"comment":null},{"name":"LinearCongruentialGeneratorNextNumber","returnType":{"typeType":"Decimal","array":false,"typeName":null},"parameters":[{"type":{"typeType":"Structure","array":false,"typeName":"LinearCongruentialGenerator"},"name":"lcg"}],"localVariables":[],"lines":[{"lineType":"Assignment","assignment":{"assignTo":{"expressionType":"Structural","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":{"rhs":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"x"},"constant":null,"inferredType":null},"lhs":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"lcg"},"constant":null,"inferredType":{"typeType":"Structure","array":false,"typeName":"LinearCongruentialGenerator"}},"operator":"StructureAccessor"},"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":null,"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}},"assignFrom":{"expressionType":"ArithmeticUnary","arithmeticExpression":null,"arithmeticUnaryExpression":{"expression":{"expressionType":"Parenthesis","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":{"expression":{"expressionType":"Arithmetic","arithmeticExpression":{"mathMode":"Decimal","lhs":{"expressionType":"Parenthesis","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":{"expression":{"expressionType":"Arithmetic","arithmeticExpression":{"mathMode":"Decimal","lhs":{"expressionType":"Arithmetic","arithmeticExpression":{"mathMode":"Decimal","lhs":{"expressionType":"Structural","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":{"rhs":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"a"},"constant":null,"inferredType":null},"lhs":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"lcg"},"constant":null,"inferredType":{"typeType":"Structure","array":false,"typeName":"LinearCongruentialGenerator"}},"operator":"StructureAccessor"},"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":null,"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}},"rhs":{"expressionType":"Structural","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":{"rhs":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"x"},"constant":null,"inferredType":null},"lhs":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"lcg"},"constant":null,"inferredType":{"typeType":"Structure","array":false,"typeName":"LinearCongruentialGenerator"}},"operator":"StructureAccessor"},"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":null,"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}},"operator":"Multiply"},"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":null,"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}},"rhs":{"expressionType":"Structural","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":{"rhs":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"c"},"constant":null,"inferredType":null},"lhs":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"lcg"},"constant":null,"inferredType":{"typeType":"Structure","array":false,"typeName":"LinearCongruentialGenerator"}},"operator":"StructureAccessor"},"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":null,"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}},"operator":"Add"},"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":null,"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}}},"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":null,"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}},"rhs":{"expressionType":"Structural","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":{"rhs":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"m"},"constant":null,"inferredType":null},"lhs":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"lcg"},"constant":null,"inferredType":{"typeType":"Structure","array":false,"typeName":"LinearCongruentialGenerator"}},"operator":"StructureAccessor"},"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":null,"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}},"operator":"Modulus"},"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":null,"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}}},"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":null,"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}},"operation":"Floor"},"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":null,"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}}},"functionCall":null,"anIf":null,"loop":null,"comment":null,"spacing":null,"returnExpression":null,"expressionToDeallocate":null}],"returnLine":{"lineType":"Return","assignment":null,"functionCall":null,"anIf":null,"loop":null,"comment":null,"spacing":null,"returnExpression":{"expressionType":"Arithmetic","arithmeticExpression":{"mathMode":"Decimal","lhs":{"expressionType":"Structural","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":{"rhs":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"x"},"constant":null,"inferredType":null},"lhs":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"lcg"},"constant":null,"inferredType":{"typeType":"Structure","array":false,"typeName":"LinearCongruentialGenerator"}},"operator":"StructureAccessor"},"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":null,"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}},"rhs":{"expressionType":"Structural","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":{"rhs":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"m"},"constant":null,"inferredType":null},"lhs":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"lcg"},"constant":null,"inferredType":{"typeType":"Structure","array":false,"typeName":"LinearCongruentialGenerator"}},"operator":"StructureAccessor"},"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":null,"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}},"operator":"Divide"},"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":null,"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}},"expressionToDeallocate":null},"comment":null}],"name":"LinearCongruentialGenerators"},{"folders":["main","Pseudorandom"],"isMain":true,"isTest":false,"structures":[{"variableDeclarations":[{"type":{"typeType":"Structure","array":false,"typeName":"LinearCongruentialGenerator"},"name":["lcg"]}],"name":"PseudorandomGenerator","comment":null}],"functions":[{"name":"CreatePseudorandomNumberGenerator","returnType":{"typeType":"Structure","array":false,"typeName":"PseudorandomGenerator"},"parameters":[{"type":{"typeType":"Decimal","array":false,"typeName":null},"name":"seed"}],"localVariables":[{"type":{"typeType":"Structure","array":false,"typeName":"PseudorandomGenerator"},"name":["prg"]}],"lines":[{"lineType":"Spacing","assignment":null,"functionCall":null,"anIf":null,"loop":null,"comment":null,"spacing":"","returnExpression":null,"expressionToDeallocate":null},{"lineType":"Assignment","assignment":{"assignTo":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"prg"},"constant":null,"inferredType":{"typeType":"Structure","array":false,"typeName":"PseudorandomGenerator"}},"assignFrom":{"expressionType":"Allocation","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":{"typeType":"Structure","array":false,"arrayLength":null,"typeName":"PseudorandomGenerator"},"expressionToConvert":null,"literal":null,"identifier":null,"constant":null,"inferredType":{"typeType":"Structure","array":false,"typeName":"PseudorandomGenerator"}}},"functionCall":null,"anIf":null,"loop":null,"comment":null,"spacing":null,"returnExpression":null,"expressionToDeallocate":null},{"lineType":"Assignment","assignment":{"assignTo":{"expressionType":"Structural","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":{"rhs":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"lcg"},"constant":null,"inferredType":null},"lhs":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"prg"},"constant":null,"inferredType":{"typeType":"Structure","array":false,"typeName":"PseudorandomGenerator"}},"operator":"StructureAccessor"},"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":null,"constant":null,"inferredType":{"typeType":"Structure","array":false,"typeName":"LinearCongruentialGenerator"}},"assignFrom":{"expressionType":"FunctionCall","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":{"name":"CreateLinearCongruentialGeneratorNumericalRecipes","arguments":[{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"seed"},"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}}],"inferredReturnType":{"typeType":"Structure","array":false,"typeName":"LinearCongruentialGenerator"}},"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":null,"constant":null,"inferredType":{"typeType":"Structure","array":false,"typeName":"LinearCongruentialGenerator"}}},"functionCall":null,"anIf":null,"loop":null,"comment":null,"spacing":null,"returnExpression":null,"expressionToDeallocate":null},{"lineType":"Spacing","assignment":null,"functionCall":null,"anIf":null,"loop":null,"comment":null,"spacing":"","returnExpression":null,"expressionToDeallocate":null}],"returnLine":{"lineType":"Return","assignment":null,"functionCall":null,"anIf":null,"loop":null,"comment":null,"spacing":null,"returnExpression":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"prg"},"constant":null,"inferredType":{"typeType":"Structure","array":false,"typeName":"PseudorandomGenerator"}},"expressionToDeallocate":null},"comment":null},{"name":"PseudorandomNextNumber","returnType":{"typeType":"Decimal","array":false,"typeName":null},"parameters":[{"type":{"typeType":"Structure","array":false,"typeName":"PseudorandomGenerator"},"name":"prg"}],"localVariables":[],"lines":[],"returnLine":{"lineType":"Return","assignment":null,"functionCall":null,"anIf":null,"loop":null,"comment":null,"spacing":null,"returnExpression":{"expressionType":"FunctionCall","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":{"name":"LinearCongruentialGeneratorNextNumber","arguments":[{"expressionType":"Structural","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":{"rhs":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"lcg"},"constant":null,"inferredType":null},"lhs":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"prg"},"constant":null,"inferredType":{"typeType":"Structure","array":false,"typeName":"PseudorandomGenerator"}},"operator":"StructureAccessor"},"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":null,"constant":null,"inferredType":{"typeType":"Structure","array":false,"typeName":"LinearCongruentialGenerator"}}],"inferredReturnType":{"typeType":"Decimal","array":false,"typeName":null}},"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":null,"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}},"expressionToDeallocate":null},"comment":null},{"name":"PseudorandomNextInteger","returnType":{"typeType":"Decimal","array":false,"typeName":null},"parameters":[{"type":{"typeType":"Structure","array":false,"typeName":"PseudorandomGenerator"},"name":"prg"},{"type":{"typeType":"Decimal","array":false,"typeName":null},"name":"n"}],"localVariables":[],"lines":[],"returnLine":{"lineType":"Return","assignment":null,"functionCall":null,"anIf":null,"loop":null,"comment":null,"spacing":null,"returnExpression":{"expressionType":"ArithmeticUnary","arithmeticExpression":null,"arithmeticUnaryExpression":{"expression":{"expressionType":"Parenthesis","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":{"expression":{"expressionType":"Arithmetic","arithmeticExpression":{"mathMode":"Decimal","lhs":{"expressionType":"FunctionCall","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":{"name":"PseudorandomNextNumber","arguments":[{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"prg"},"constant":null,"inferredType":{"typeType":"Structure","array":false,"typeName":"PseudorandomGenerator"}}],"inferredReturnType":{"typeType":"Decimal","array":false,"typeName":null}},"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":null,"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}},"rhs":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"n"},"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}},"operator":"Multiply"},"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":null,"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}}},"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":null,"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}},"operation":"Floor"},"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":null,"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}},"expressionToDeallocate":null},"comment":null},{"name":"PseudorandomNextIntegerBetween","returnType":{"typeType":"Decimal","array":false,"typeName":null},"parameters":[{"type":{"typeType":"Structure","array":false,"typeName":"PseudorandomGenerator"},"name":"prg"},{"type":{"typeType":"Decimal","array":false,"typeName":null},"name":"a"},{"type":{"typeType":"Decimal","array":false,"typeName":null},"name":"b"}],"localVariables":[],"lines":[],"returnLine":{"lineType":"Return","assignment":null,"functionCall":null,"anIf":null,"loop":null,"comment":null,"spacing":null,"returnExpression":{"expressionType":"Arithmetic","arithmeticExpression":{"mathMode":"Decimal","lhs":{"expressionType":"ArithmeticUnary","arithmeticExpression":null,"arithmeticUnaryExpression":{"expression":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"a"},"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}},"operation":"Ceil"},"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":null,"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}},"rhs":{"expressionType":"ArithmeticUnary","arithmeticExpression":null,"arithmeticUnaryExpression":{"expression":{"expressionType":"Parenthesis","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":{"expression":{"expressionType":"Arithmetic","arithmeticExpression":{"mathMode":"Decimal","lhs":{"expressionType":"FunctionCall","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":{"name":"PseudorandomNextNumber","arguments":[{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"prg"},"constant":null,"inferredType":{"typeType":"Structure","array":false,"typeName":"PseudorandomGenerator"}}],"inferredReturnType":{"typeType":"Decimal","array":false,"typeName":null}},"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":null,"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}},"rhs":{"expressionType":"Parenthesis","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":{"expression":{"expressionType":"Arithmetic","arithmeticExpression":{"mathMode":"Decimal","lhs":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"b"},"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}},"rhs":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"a"},"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}},"operator":"Subtract"},"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":null,"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}}},"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":null,"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}},"operator":"Multiply"},"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":null,"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}}},"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":null,"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}},"operation":"Floor"},"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":null,"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}},"operator":"Add"},"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":null,"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}},"expressionToDeallocate":null},"comment":null}],"name":"PseudorandomGenerators"},{"folders":["test"],"isMain":false,"isTest":true,"structures":[],"functions":[{"name":"test","returnType":{"typeType":"Decimal","array":false,"typeName":null},"parameters":[],"localVariables":[{"type":{"typeType":"Decimal","array":false,"typeName":null},"name":["i","failures"]},{"type":{"typeType":"Structure","array":false,"typeName":"PseudorandomGenerator"},"name":["prg"]}],"lines":[{"lineType":"Spacing","assignment":null,"functionCall":null,"anIf":null,"loop":null,"comment":null,"spacing":"","returnExpression":null,"expressionToDeallocate":null},{"lineType":"Assignment","assignment":{"assignTo":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"failures"},"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}},"assignFrom":{"expressionType":"Value","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":{"literalType":"Decimal","literalValue":"0"},"identifier":null,"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}}},"functionCall":null,"anIf":null,"loop":null,"comment":null,"spacing":null,"returnExpression":null,"expressionToDeallocate":null},{"lineType":"Spacing","assignment":null,"functionCall":null,"anIf":null,"loop":null,"comment":null,"spacing":"","returnExpression":null,"expressionToDeallocate":null},{"lineType":"Assignment","assignment":{"assignTo":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"prg"},"constant":null,"inferredType":{"typeType":"Structure","array":false,"typeName":"PseudorandomGenerator"}},"assignFrom":{"expressionType":"FunctionCall","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":{"name":"CreatePseudorandomNumberGenerator","arguments":[{"expressionType":"Value","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":{"literalType":"Decimal","literalValue":"12312312542"},"identifier":null,"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}}],"inferredReturnType":{"typeType":"Structure","array":false,"typeName":"PseudorandomGenerator"}},"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":null,"constant":null,"inferredType":{"typeType":"Structure","array":false,"typeName":"PseudorandomGenerator"}}},"functionCall":null,"anIf":null,"loop":null,"comment":null,"spacing":null,"returnExpression":null,"expressionToDeallocate":null},{"lineType":"Spacing","assignment":null,"functionCall":null,"anIf":null,"loop":null,"comment":null,"spacing":"","returnExpression":null,"expressionToDeallocate":null},{"lineType":"Loop","assignment":null,"functionCall":null,"anIf":null,"loop":{"init":{"lineType":"Assignment","assignment":{"assignTo":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"i"},"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}},"assignFrom":{"expressionType":"Value","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":{"literalType":"Decimal","literalValue":"0"},"identifier":null,"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}}},"functionCall":null,"anIf":null,"loop":null,"comment":null,"spacing":null,"returnExpression":null,"expressionToDeallocate":null},"condition":{"expressionType":"Relational","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":{"lhs":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"i"},"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}},"rhs":{"expressionType":"Value","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":{"literalType":"Decimal","literalValue":"100"},"identifier":null,"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}},"operator":"LessThan"},"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":null,"constant":null,"inferredType":{"typeType":"Boolean","array":false,"typeName":null}},"incrementor":{"lineType":"Assignment","assignment":{"assignTo":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"i"},"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}},"assignFrom":{"expressionType":"Arithmetic","arithmeticExpression":{"mathMode":"Decimal","lhs":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"i"},"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}},"rhs":{"expressionType":"Value","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":{"literalType":"Decimal","literalValue":"1"},"identifier":null,"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}},"operator":"Add"},"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":null,"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}}},"functionCall":null,"anIf":null,"loop":null,"comment":null,"spacing":null,"returnExpression":null,"expressionToDeallocate":null},"lines":[{"lineType":"FunctionCall","assignment":null,"functionCall":{"name":"PseudorandomNextNumber","arguments":[{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"prg"},"constant":null,"inferredType":{"typeType":"Structure","array":false,"typeName":"PseudorandomGenerator"}}],"inferredReturnType":{"typeType":"Decimal","array":false,"typeName":null}},"anIf":null,"loop":null,"comment":null,"spacing":null,"returnExpression":null,"expressionToDeallocate":null}],"hasInit":true,"hasIncrementor":true},"comment":null,"spacing":null,"returnExpression":null,"expressionToDeallocate":null},{"lineType":"Spacing","assignment":null,"functionCall":null,"anIf":null,"loop":null,"comment":null,"spacing":"","returnExpression":null,"expressionToDeallocate":null}],"returnLine":{"lineType":"Return","assignment":null,"functionCall":null,"anIf":null,"loop":null,"comment":null,"spacing":null,"returnExpression":{"expressionType":"Identifier","arithmeticExpression":null,"arithmeticUnaryExpression":null,"relationalExpression":null,"booleanExpression":null,"booleanUnaryExpression":null,"functionCall":null,"structuralExpression":null,"structuralUnaryExpression":null,"parenthesisExpression":null,"allocationExpression":null,"expressionToConvert":null,"literal":null,"identifier":{"name":"failures"},"constant":null,"inferredType":{"typeType":"Decimal","array":false,"typeName":null}},"expressionToDeallocate":null},"comment":null}],"name":"tests"}],"name":"Pseudorandom"},"programInfo":{"name":"Pseudorandom","version":{"major":0e0,"minor":1,"patch":3,"snapshot":false},"organizationNamespace":{"path":["no","inductive","libraries"]},"scientificNamespace":{"path":["computerscience","algorithms","pseudorandom"]},"runtimeDependencies":[],"developmentDependencies":[],"reprefix":[],"isPrivate":false,"ownerCustomerId":"Inductive AS"},"prefix":null}]}