예제 #1
0
def buildNumbersOperator(expression):
    digitLists = parseNumbersExpression(expression)

    if len(digitLists) == 1:
        return RPNGenerator.createGenerator(convertStringsToNumbers,
                                            digitLists)

    return RPNGenerator.createStringProduct(digitLists)
예제 #2
0
파일: rpnList.py 프로젝트: GaelicGrime/rpn
def getListPermutationsWithRepeatsOperator( n, k ):
    if not isinstance( n, ( list, RPNGenerator ) ):
        raise ValueError( '\'get_repeat_permutations\' expects a list' )

    if len( n ) < k:
        raise ValueError( 'k must be greater than or equal to the length of list n' )

    return RPNGenerator( getListPermutationsWithRepeatsGenerator( n, k ) )
예제 #3
0
파일: rpnUtils.py 프로젝트: GaelicGrime/rpn
        def evaluateOneArg(arg):
            if isinstance(arg, list):
                result = [evaluateOneArg(i) for i in arg]
            elif isinstance(arg, RPNGenerator):
                result = RPNGenerator.createChained(arg.getGenerator(), func)
            else:
                result = func(arg)

            return result
예제 #4
0
파일: rpnList.py 프로젝트: GaelicGrime/rpn
def getCumulativeListSumsOperator( n ):
    return RPNGenerator( getCumulativeListSums( n ) )
예제 #5
0
파일: rpnList.py 프로젝트: GaelicGrime/rpn
def getCumulativeListRatiosOperator( n ):
    return RPNGenerator( getCumulativeListRatios( n ) )
예제 #6
0
파일: rpnList.py 프로젝트: GaelicGrime/rpn
def getListDiffsOperator( n ):
    return RPNGenerator( getListDiffs( n ) )
예제 #7
0
파일: rpnList.py 프로젝트: GaelicGrime/rpn
def getCumulativeListProductsOperator( n ):
    return RPNGenerator( getCumulativeListProducts( n ) )
예제 #8
0
파일: rpnList.py 프로젝트: GaelicGrime/rpn
def filterOnFlagsOperator( n, k ):
    return RPNGenerator.createGenerator( filterOnFlagsGenerator, [ n, k ] )
예제 #9
0
def getSlice( args, start, end ):
    return RPNGenerator.createGenerator( getSliceGenerator, [ args, start, end ] )
예제 #10
0
def buildStepNumbersOperator(n):
    return RPNGenerator.createGenerator(buildStepNumbersGenerator, [n])
예제 #11
0
def filterMin( n, k ):
    return RPNGenerator.createGenerator( filterMinGenerator, [ n, k ] )
예제 #12
0
def permuteDigitsOperator(n):
    return RPNGenerator.createPermutations(getMPFIntegerAsString(n))
예제 #13
0
def generateSquareDigitChainOperator(n):
    return RPNGenerator.createGenerator(generateSquareDigitChainGenerator, [n])
예제 #14
0
def getMultipleRandomsGenerator( n ):
        return RPNGenerator.createGenerator( getMultipleRandoms, n )
예제 #15
0
def getRandomIntegersGenerator( n, k ):
    return RPNGenerator.createGenerator( getRandomIntegers, [ n, k ] )
예제 #16
0
def getSublist( args, start, count ):
    return RPNGenerator.createGenerator( getSublistGenerator, [ args, start, count ] )
예제 #17
0
def getMultipleRandomsOperator(n):
    return RPNGenerator.createGenerator(getMultipleRandoms, n)
예제 #18
0
def getNthReversalAdditionOperator(n, k):
    return RPNGenerator(getNthReversalAdditionGenerator(n, k))
예제 #19
0
def filterOnFlags( n, k ):
    return RPNGenerator.createGenerator( filterOnFlagsGenerator, [ n, k ] )
예제 #20
0
파일: rpnList.py 프로젝트: GaelicGrime/rpn
def collateOperator( n ):
    return RPNGenerator( collate( n ) )
예제 #21
0
파일: rpnList.py 프로젝트: GaelicGrime/rpn
def getListPowerSetOperator( n ):
    if isinstance( n, RPNGenerator ):
        return RPNGenerator( getListPowerSet( list( n ) ) )

    return RPNGenerator( getListPowerSet( n ) )
예제 #22
0
파일: rpnList.py 프로젝트: GaelicGrime/rpn
def getSliceOperator( args, start, end ):
    return RPNGenerator.createGenerator( getSliceGenerator, [ args, start, end ] )
예제 #23
0
파일: rpnList.py 프로젝트: GaelicGrime/rpn
def filterMinOperator( n, k ):
    return RPNGenerator.createGenerator( filterMinGenerator, [ n, k ] )
예제 #24
0
def enumerateList( args, k ):
    return RPNGenerator.createGenerator( enumerateListGenerator, [ args, k ] )
예제 #25
0
파일: rpnList.py 프로젝트: GaelicGrime/rpn
def enumerateListOperator( args, k ):
    return RPNGenerator.createGenerator( enumerateListGenerator, [ args, k ] )
예제 #26
0
def getDeBruijnSequenceOperator(n, k):
    return RPNGenerator(createDeBruijnSequence(n, k))
예제 #27
0
파일: rpnList.py 프로젝트: GaelicGrime/rpn
def getSublistOperator( args, start, count ):
    return RPNGenerator.createGenerator( getSublistGenerator, [ args, start, count ] )
예제 #28
0
def getCompositionsOperator(n, k):
    return RPNGenerator(getCompositionsGenerator(n, k))
예제 #29
0
파일: rpnList.py 프로젝트: GaelicGrime/rpn
def getCumulativeListDiffsOperator( n ):
    return RPNGenerator( getCumulativeListDiffs( n ) )
예제 #30
0
def getPartitionsWithLimitOperator(n, k):
    if k > n:
        k = n

    return RPNGenerator(partitionsWithLimit(n, k))
예제 #31
0
파일: rpnList.py 프로젝트: GaelicGrime/rpn
def getCumulativeListMeansOperator( n ):
    return RPNGenerator( getCumulativeListMeans( n ) )
예제 #32
0
def getIntegerPartitionsOperator(n):
    return RPNGenerator(createIntegerPartitions(int(n)))
예제 #33
0
파일: rpnList.py 프로젝트: GaelicGrime/rpn
def getListRatiosOperator( n ):
    return RPNGenerator( getListRatios( n ) )
예제 #34
0
파일: rpnList.py 프로젝트: GaelicGrime/rpn
def alternateSignsOperator( n ):
    return RPNGenerator( alternateSigns( n, False ) )
예제 #35
0
파일: rpnList.py 프로젝트: GaelicGrime/rpn
def alternateSigns2Operator( n ):
    return RPNGenerator( alternateSigns( n, True ) )
예제 #36
0
파일: rpnList.py 프로젝트: GaelicGrime/rpn
def permuteListsOperator( lists ):
    for i in lists:
        if not isinstance( i, ( list, RPNGenerator ) ):
            raise ValueError( '\'permute_lists\' expects a list of lists' )

    return RPNGenerator.createProduct( lists )
예제 #37
0
def getRandomIntegersOperator(n, k):
    return RPNGenerator.createGenerator(getRandomIntegers, [n, k])
예제 #38
0
def permuteLists( lists ):
    for i in lists:
        if not isinstance( i, ( list, RPNGenerator ) ):
            raise ValueError( '\'permute_lists\' expects a list of lists' )

    return RPNGenerator.createProduct( lists )