diff --git a/README.md b/README.md
index 1d812cf..339f220 100644
--- a/README.md
+++ b/README.md
@@ -62,136 +62,136 @@ mathgen.write_pdf(worksheet)
## List of Generators
## algebra
-| Id | Skill | Example problem | Example Solution | Function Name |
-|------|-------|-----------------|------------------|---------------|
-| 11 | Basic Algebra | 5x + 10 = 10 | 0 | basic_algebra |
-| 12 | Logarithm | log2(4) | 2 | log |
-| 17 | Integer Multiplication with 2x2 Matrix | 12 * [[8, 7], [2, 0]] = | [[96,84],[24,0]] | multiply_int_to_22_matrix |
-| 20 | Midpoint of the two point | (10,9),(1,13)= | (5.5,11.0) | midpoint_of_two_points |
-| 21 | Factoring Quadratic | x^2+3x-4 | (x+4)(x-1) | factoring |
-| 23 | Solve a System of Equations in R^2 | 5x - 5y = 20, -4x - 7y = -38 | x = 6, y = 2 | system_of_equations |
-| 24 | Distance between 2 points | Find the distance between (12, 2) and (16, 13) | sqrt(137) | distance_two_points |
-| 26 | Linear Equations | 19x + -19y = -494, -12x + -2y = 200 | x = -18, y = 8 | linear_equations |
-| 41 | Intersection of Two Lines | Find the point of intersection of the two lines: y = 4x + 5 and y = -5/6x - 4 | (-54/29, -71/29) | intersection_of_two_lines |
-| 43 | Cross Product of 2 Vectors | [7, 11, 10] X [12, 2, -15] = | [-185, 225, -118] | vector_cross |
-| 45 | Simple Interest | Simple interest for a principle amount of 5927 dollars, 2% rate of interest and for a time period of 5 years is = | 592.7 | simple_interest |
-| 46 | Multiplication of two matrices | Multiply
and| 6 | -7 | 8 | -9 |
| -7 | -6 | 7 | -3 |
| 10 | 0 | 6 | 2 |
| -6 | -4 | -5 | -1 |
| | 107 | -6 | 23 | -11 |
| 18 | -48 | 127 | -13 |
| -21 | 88 | -116 | 68 |
| matrix_multiplication |
-| 50 | Quadratic Equation | Zeros of the Quadratic Equation 89x^2+190x+87=0 | [-0.67, -1.47] | quadratic_equation |
-| 65 | Multiplication of 2 complex numbers | (-15+15j) * 20j = | (-300-300j) | multiply_complex_numbers |
-| 72 | Dot Product of 2 Vectors | [-2, 10, -10] . [16, -20, 3] = | -262 | vector_dot |
-| 74 | Inverse of a Matrix | Inverse of Matrix Matrix([[55, 61, 1], [28, 67, 9], [53, 91, 33]]) is: | Matrix([[696/24145, -961/24145, 241/24145], [-447/48290, 881/24145, -467/48290], [-1003/48290, -886/24145, 1977/48290]]) | invert_matrix |
-| 77 | Determinant to 2x2 Matrix | Det([[18, 97], [57, 84]]) = | -4017 | int_matrix_22_determinant |
-| 78 | Compound Interest | Compound interest for a principle amount of 9310 dollars, 5% rate of interest and for a time period of 9 year is = | 14442.87 | compound_interest |
-| 100 | complex Quadratic Equation | Find the roots of given Quadratic Equation 9x^2 + 6x + 1 = 0 | simplified solution : ((-0.333, -0.333)), generalized solution : ((-6 + 0)/2*9, (-6 - 0)/2*9) | complex_quadratic |
-| 105 | Combine Like terms | 6x^1 + 3x^1 + 9x^1 | 18x^1 | combine_like_terms |
-| 111 | Expanding Factored Binomial | (4x+8)(+10x-7) | 40*x^2+52*x-56 | expanding |
+| Id | Skill | Example problem | Example Solution | Function Name | Kwargs |
+|------|-------|-----------------|------------------|---------------|--------|
+| 11 | Basic Algebra | 10x + 2 = 4 | 1/5 | basic_algebra | ['maxVariable=10'] |
+| 12 | Logarithm | log3(27) | 3 | log | ['maxBase=3', 'maxVal=8'] |
+| 17 | Integer Multiplication with 2x2 Matrix | 0 * [[0, 7], [10, 2]] = | [[0,0],[0,0]] | multiply_int_to_22_matrix | ['maxMatrixVal=10', 'maxRes=100'] |
+| 20 | Midpoint of the two point | (-10,-18),(18,3)= | (4.0,-7.5) | midpoint_of_two_points | ['maxValue=20'] |
+| 21 | Factoring Quadratic | x^2-16x+64 | (x-8)(x-8) | factoring | ['range_x1=10', 'range_x2=10'] |
+| 23 | Solve a System of Equations in R^2 | 9x - 3y = 0, -x + 7y = -40 | x = -2, y = -6 | system_of_equations | ['range_x=10', 'range_y=10', 'coeff_mult_range=10'] |
+| 24 | Distance between 2 points | Find the distance between (-13, -17) and (-18, -20) | sqrt(34) | distance_two_points | ['maxValXY=20', 'minValXY=-20'] |
+| 26 | Linear Equations | -18x + 1y = -319, 6x + -9y = 219 | x = 17, y = -13 | linear_equations | ['n=2', 'varRange=20', 'coeffRange=20'] |
+| 41 | Intersection of Two Lines | Find the point of intersection of the two lines: y = 0/3x and y = 7/3x + 10 | (-30/7, 0) | intersection_of_two_lines | ['minM=-10', 'maxM=10', 'minB=-10', 'maxB=10', 'minDenominator=1', 'maxDenominator=6'] |
+| 43 | Cross Product of 2 Vectors | [-2, -8, 6] X [12, 9, 11] = | [-142, 94, 78] | vector_cross | ['minVal=-20', 'maxVal=20'] |
+| 45 | Simple Interest | Simple interest for a principle amount of 4555 dollars, 7% rate of interest and for a time period of 7 years is = | 2231.95 | simple_interest | ['maxPrinciple=10000', 'maxRate=10', 'maxTime=10'] |
+| 46 | Multiplication of two matrices | Multiplyand | | matrix_multiplication | ['maxVal=100', 'max_dim=10'] |
+| 50 | Quadratic Equation | Zeros of the Quadratic Equation 44x^2+159x+52=0 | [-0.36, -3.25] | quadratic_equation | ['maxVal=100'] |
+| 65 | Multiplication of 2 complex numbers | (8-1j) * (8-4j) = | (60-40j) | multiply_complex_numbers | ['minRealImaginaryNum=-20', 'maxRealImaginaryNum=20'] |
+| 72 | Dot Product of 2 Vectors | [3, 11, 6] . [19, -1, 2] = | 58 | vector_dot | ['minVal=-20', 'maxVal=20'] |
+| 74 | Inverse of a Matrix | Inverse of Matrix Matrix([[7, 31, 15], [30, 43, 68], [13, 41, 61]]) is: | Matrix([[15/1856, 1/16, -133/1856], [43/928, -1/88, 13/10208], [-61/1856, -1/176, 629/20416]]) | invert_matrix | ['SquareMatrixDimension=3', 'MaxMatrixElement=99', 'OnlyIntegerElementsInInvertedMatrix=False'] |
+| 77 | Determinant to 2x2 Matrix | Det([[93, 61], [9, 66]]) = | 5589 | int_matrix_22_determinant | ['maxMatrixVal=100'] |
+| 78 | Compound Interest | Compound interest for a principle amount of 3225 dollars, 9% rate of interest and for a time period of 9 year is = | 7004.36 | compound_interest | ['maxPrinciple=10000', 'maxRate=10', 'maxTime=10'] |
+| 100 | complex Quadratic Equation | Find the roots of given Quadratic Equation 4x^2 + 8x + 3 = 0 | simplified solution : ((-0.5, -1.5)), generalized solution : ((-8 + 4)/2*4, (-8 - 4)/2*4) | complex_quadratic | ['prob_type=0', 'max_range=10'] |
+| 105 | Combine Like terms | 4x^3 + 3x^6 + 5x^1 + 7x^6 + 6x^4 + 1x^4 + 3x^5 + 6x^5 + 2x^6 + 4x^3 | 5x^1 + 8x^3 + 7x^4 + 9x^5 + 12x^6 | combine_like_terms | ['maxCoef=10', 'maxExp=20', 'maxTerms=10'] |
+| 111 | Expanding Factored Binomial | (7x-8)(-9x+9) | -63*x^2+135*x-72 | expanding | ['range_x1=10', 'range_x2=10', 'range_a=10', 'range_b=10'] |
## basic_math
-| Id | Skill | Example problem | Example Solution | Function Name |
-|------|-------|-----------------|------------------|---------------|
-| 0 | Addition | 48+14= | 62 | addition |
-| 1 | Subtraction | 88-49= | 39 | subtraction |
-| 2 | Multiplication | 17*0= | 0 | multiplication |
-| 3 | Division | 320/16= | 20.0 | division |
-| 6 | Square Root | sqrt(100)= | 10 | square_root |
-| 8 | Square | 10^2= | 100 | square |
-| 13 | Complex Division | 32/47= | 0.68 | complex_division |
-| 16 | Fraction Division | (9/7)/(6/5) | 15/14 | divide_fractions |
-| 28 | Fraction Multiplication | (1/6)*(3/10) | 1/20 | fraction_multiplication |
-| 31 | Factorial | 2! = | 2 | factorial |
-| 44 | Compare Fractions | Which symbol represents the comparison between 3/1 and 9/1? | < | compare_fractions |
-| 47 | Cube Root | cuberoot of 576 upto 2 decimal places is: | 8.32 | cube_root |
-| 53 | Exponentiation | 1^8 = | 1 | exponentiation |
-| 71 | Absolute difference between two numbers | Absolute difference between numbers -97 and 92 = | 189 | absolute_difference |
-| 80 | Percentage of a number | What is 74% of 3? | Required percentage = 2.22% | percentage |
-| 90 | isprime | 31 | True | is_prime |
-| 97 | Power of Powers | The 20^9^7 = | 20^63 | power_of_powers |
+| Id | Skill | Example problem | Example Solution | Function Name | Kwargs |
+|------|-------|-----------------|------------------|---------------|--------|
+| 0 | Addition | 31+34= | 65 | addition | ['maxSum=99', 'maxAddend=50'] |
+| 1 | Subtraction | 27-19= | 8 | subtraction | ['maxMinuend=99', 'maxDiff=99'] |
+| 2 | Multiplication | 9*9= | 81 | multiplication | ['maxMulti=12'] |
+| 3 | Division | 12/4= | 3 | division | ['maxA=25', 'maxB=25'] |
+| 6 | Square Root | sqrt(16)= | 4 | square_root | ['minNo=1', 'maxNo=12'] |
+| 8 | Square | 3^2= | 9 | square | ['maxSquareNum=20'] |
+| 13 | Complex Division | 61/61= | 1.0 | complex_division | ['maxRes=99', 'maxDivid=99'] |
+| 16 | Fraction Division | (7/1)/(1/5) | 35 | divide_fractions | ['maxVal=10'] |
+| 28 | Fraction Multiplication | (9/4)*(2/7) | 9/14 | fraction_multiplication | ['maxVal=10'] |
+| 31 | Factorial | 3! = | 6 | factorial | ['maxInput=6'] |
+| 44 | Compare Fractions | Which symbol represents the comparison between 9/4 and 8/2? | < | compare_fractions | ['maxVal=10'] |
+| 47 | Cube Root | What is the cube root of 921 up to 2 decimal places? | 9.73 | cube_root | ['minNo=1', 'maxNo=1000'] |
+| 53 | Exponentiation | 16^10 = | 1099511627776 | exponentiation | ['maxBase=20', 'maxExpo=10'] |
+| 71 | Absolute difference between two numbers | |0--22|= | 22 | absolute_difference | ['maxA=100', 'maxB=100'] |
+| 80 | Percentage of a number | What is 72% of 15? | 10.80 | percentage | ['maxValue=99', 'maxpercentage=99'] |
+| 90 | isprime | Is 19 prime? | Yes | is_prime | ['max_num=100'] |
+| 97 | Power of Powers | Simplify 1^10^7= | 1^70 | power_of_powers | ['maxBase=50', 'maxPower=10'] |
## calculus
-| Id | Skill | Example problem | Example Solution | Function Name |
-|------|-------|-----------------|------------------|---------------|
-| 7 | Power Rule Differentiation | 1x^1 + 1x^6 | 1x^0 + 6x^5 | power_rule_differentiation |
-| 48 | Power Rule Integration | 8x^5 + 8x^9 + 4x^1 + 1x^8 + 8x^1 | (8/5)x^6 + (8/9)x^10 + (4/1)x^2 + (1/8)x^9 + (8/1)x^2 + c | power_rule_integration |
-| 88 | Differentiation | differentiate w.r.t x : d(sec(x)+2*x^(-2))/dx | tan(x)*sec(x) - 4/x^3 | differentiation |
-| 89 | Definite Integral of Quadratic Equation | The definite integral within limits 0 to 1 of the equation 51x^2 + 66x + 69 is = | 119.0 | definite_integral |
-| 110 | Stationary Points | f(x)=3*x^3 + 6*x^2 + 4*x + 3 | (-2/3,19/9) | stationary_points |
+| Id | Skill | Example problem | Example Solution | Function Name | Kwargs |
+|------|-------|-----------------|------------------|---------------|--------|
+| 7 | Power Rule Differentiation | 10x^9 + 3x^5 | 90x^8 + 15x^4 | power_rule_differentiation | ['maxCoef=10', 'maxExp=10', 'maxTerms=5'] |
+| 48 | Power Rule Integration | 9x^5 + 1x^2 + 8x^2 + 8x^4 | (9/5)x^6 + (1/2)x^3 + (8/2)x^3 + (8/4)x^5 + c | power_rule_integration | ['maxCoef=10', 'maxExp=10', 'maxTerms=5'] |
+| 88 | Differentiation | differentiate w.r.t x : d(sec(x)+2*x^(-3))/dx | tan(x)*sec(x) - 6/x^4 | differentiation | ['diff_lvl=2'] |
+| 89 | Definite Integral of Quadratic Equation | The definite integral within limits 0 to 1 of the equation 86x^2 + 2x + 59 is = | 88.6667 | definite_integral | ['max_coeff=100'] |
+| 110 | Stationary Points | f(x)=5*x^3 + 10*x^2 + 6*x + 2 | (-2/3 - sqrt(10)/15,5*(-2/3 - sqrt(10)/15)**3 - 2 - 2*sqrt(10)/5 + 10*(-2/3 - sqrt(10)/15)**2),(-2/3 + sqrt(10)/15,-2 + 5*(-2/3 + sqrt(10)/15)**3 + 2*sqrt(10)/5 + 10*(-2/3 + sqrt(10)/15)**2) | stationary_points | ['maxExp=3', 'maxCoef=10'] |
## computer_science
-| Id | Skill | Example problem | Example Solution | Function Name |
-|------|-------|-----------------|------------------|---------------|
-| 4 | Binary Complement 1s | 01000= | 10111 | binary_complement_1s |
-| 5 | Modulo Division | 99%30= | 9 | modulo_division |
-| 14 | Decimal to Binary | Binary of 98= | 1100010 | decimal_to_binary |
-| 15 | Binary to Decimal | 0000 | 0 | binary_to_decimal |
-| 56 | Fibonacci Series | The Fibonacci Series of the first 16 numbers is ? | [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610] | fibonacci_series |
-| 62 | nth Fibonacci number | What is the 46th Fibonacci number? | 1836311903 | nth_fibonacci_number |
-| 64 | Binary to Hexidecimal | 1000 | 0x8 | binary_to_hex |
-| 73 | Binary 2's Complement | 2's complement of 1111101010 = | 10110 | binary_2s_complement |
-| 79 | Decimal to Hexadecimal | Binary of 450= | 0x1c2 | decimal_to_hexadeci |
-| 84 | Converts decimal to octal | The decimal number 2724 in Octal is: | 0o5244 | decimal_to_octal |
-| 91 | Binary Coded Decimal to Integer | Integer of Binary Coded Decimal 3 is = | 14161 | bcd_to_decimal |
-| 103 | Decimal to Binary Coded Decimal | BCD of Decimal Number 4899 is = | 1323 | decimal_to_bcd |
+| Id | Skill | Example problem | Example Solution | Function Name | Kwargs |
+|------|-------|-----------------|------------------|---------------|--------|
+| 4 | Binary Complement 1s | 0011100= | 1100011 | binary_complement_1s | ['maxDigits=10'] |
+| 5 | Modulo Division | 68%37= | 31 | modulo_division | ['maxRes=99', 'maxModulo=99'] |
+| 14 | Decimal to Binary | Binary of 77= | 1001101 | decimal_to_binary | ['max_dec=99'] |
+| 15 | Binary to Decimal | 001101110 | 110 | binary_to_decimal | ['max_dig=10'] |
+| 56 | Fibonacci Series | The Fibonacci Series of the first 1 numbers is ? | [0] | fibonacci_series | ['minNo=1'] |
+| 62 | nth Fibonacci number | What is the 42th Fibonacci number? | 267914296 | nth_fibonacci_number | ['maxN=100'] |
+| 64 | Binary to Hexidecimal | 000000000 | 0x0 | binary_to_hex | ['max_dig=10'] |
+| 73 | Binary 2's Complement | 2's complement of 110110 = | 1010 | binary_2s_complement | ['maxDigits=10'] |
+| 79 | Decimal to Hexadecimal | Binary of 927= | 0x39f | decimal_to_hexadeci | ['max_dec=1000'] |
+| 84 | Converts decimal to octal | The decimal number 2925 in Octal is: | 0o5555 | decimal_to_octal | ['maxDecimal=4096'] |
+| 91 | Binary Coded Decimal to Integer | Integer of Binary Coded Decimal 7 is = | 28981 | bcd_to_decimal | ['maxNumber=10000'] |
+| 103 | Decimal to Binary Coded Decimal | BCD of Decimal Number 9755 is = | 26111 | decimal_to_bcd | ['maxNumber=10000'] |
## geometry
-| Id | Skill | Example problem | Example Solution | Function Name |
-|------|-------|-----------------|------------------|---------------|
-| 18 | Area of Triangle | Area of triangle with side lengths: 4 12 16 = | 0.0 | area_of_triangle |
-| 19 | Triangle exists check | Does triangle with sides 37, 10 and 11 exist? | No | valid_triangle |
-| 22 | Third Angle of Triangle | Third angle of triangle with angles 73 and 50 = | 57 | third_angle_of_triangle |
-| 25 | Pythagorean Theorem | The hypotenuse of a right triangle given the other two lengths 4 and 13 = | 13.60 | pythagorean_theorem |
-| 29 | Angle of a Regular Polygon | Find the angle of a regular polygon with 11 sides | 147.27 | angle_regular_polygon |
-| 32 | Surface Area of Cube | Surface area of cube with side = 20m is | 2400 m^2 | surface_area_cube |
-| 33 | Surface Area of Cuboid | Surface area of cuboid with sides = 16m, 20m, 14m is | 1648 m^2 | surface_area_cuboid |
-| 34 | Surface Area of Cylinder | Surface area of cylinder with height = 26m and radius = 15m is | 3864 m^2 | surface_area_cylinder |
-| 35 | Volum of Cube | Volume of cube with side = 7m is | 343 m^3 | volume_cube |
-| 36 | Volume of Cuboid | Volume of cuboid with sides = 16m, 7m, 16m is | 1792 m^3 | volume_cuboid |
-| 37 | Volume of cylinder | Volume of cylinder with height = 46m and radius = 12m is | 20809 m^3 | volume_cylinder |
-| 38 | Surface Area of cone | Surface area of cone with height = 45m and radius = 10m is | 1762 m^2 | surface_area_cone |
-| 39 | Volume of cone | Volume of cone with height = 19m and radius = 10m is | 1989 m^3 | volume_cone |
-| 49 | Fourth Angle of Quadrilateral | Fourth angle of quadrilateral with angles 86 , 102, 52 = | 120 | fourth_angle_of_quadrilateral |
-| 57 | Trigonometric Values | What is sin(30)? | 1/2 | basic_trigonometry |
-| 58 | Sum of Angles of Polygon | Sum of angles of polygon with 10 sides = | 1440 | sum_of_polygon_angles |
-| 60 | Surface Area of Sphere | Surface area of Sphere with radius = 12m is | 1809.5573684677208 m^2 | surface_area_sphere |
-| 61 | Volume of Sphere | Volume of sphere with radius 62 m = | 998305.9919263308 m^3 | volume_sphere |
-| 70 | Angle between 2 vectors | angle between the vectors [355.55, 510.69, 466.34, 362.76, 361.29, 361.07, 460.5, 967.62, 124.59, 627.19, 696.33, 269.54, 766.51, 903.59, 246.94, 158.86] and [928.29, 464.69, 667.73, 869.08, 547.6, 899.66, 562.23, 961.55, 952.5, 111.01, 259.45, 322.58, 893.48, 592.59, 865.67, 790.67] is: | 0.65 radians | angle_btw_vectors |
-| 75 | Area of a Sector | Given radius, 21 and angle, 120. Find the area of the sector. | Area of sector = 461.81412 | sector_area |
-| 86 | Degrees to Radians | Angle 56 in radians is = | 0.98 | degree_to_rad |
-| 87 | Radians to Degrees | Angle 2 in degrees is = | 114.59 | radian_to_deg |
-| 95 | Curved surface area of a cylinder | What is the curved surface area of a cylinder of radius, 17 and height, 35? | CSA of cylinder = 3738.5 | curved_surface_area_cylinder |
-| 96 | Perimeter of Polygons | The perimeter of a 8 sided polygon with lengths of [100, 106, 97, 63, 31, 97, 21, 24]cm is: | 539 | perimeter_of_polygons |
-| 104 | Circumference | Circumference of circle with radius 24 | 150.79644737231007 | circumference |
-| 108 | Arc length of Angle | Given radius, 23 and angle, 40. Find the arc length of the angle. | Arc length of the angle = 16.05703 | arc_length |
-| 112 | Area of Circle | Area of circle with radius 70 | 15400.0 | area_of_circle |
+| Id | Skill | Example problem | Example Solution | Function Name | Kwargs |
+|------|-------|-----------------|------------------|---------------|--------|
+| 18 | Area of Triangle | Area of triangle with side lengths: 3 1 5 = | (2.1045137462542978e-16+3.43693177121688j) | area_of_triangle | ['maxA=20', 'maxB=20', 'maxC=20'] |
+| 19 | Triangle exists check | Does triangle with sides 20, 16 and 9 exist? | Yes | valid_triangle | ['maxSideLength=50'] |
+| 22 | Third Angle of Triangle | Third angle of triangle with angles 36 and 25 = | 119 | third_angle_of_triangle | ['maxAngle=89'] |
+| 25 | Pythagorean Theorem | The hypotenuse of a right triangle given the other two lengths 15 and 1 = | 15.03 | pythagorean_theorem | ['maxLength=20'] |
+| 29 | Angle of a Regular Polygon | Find the angle of a regular polygon with 10 sides | 144.0 | angle_regular_polygon | ['minVal=3', 'maxVal=20'] |
+| 32 | Surface Area of Cube | Surface area of cube with side = 19m is | 2166 m^2 | surface_area_cube | ['maxSide=20', "unit='m'"] |
+| 33 | Surface Area of Cuboid | Surface area of cuboid with sides = 11m, 16m, 16m is | 1216 m^2 | surface_area_cuboid | ['maxSide=20', "unit='m'"] |
+| 34 | Surface Area of Cylinder | Surface area of cylinder with height = 42m and radius = 7m is | 2155 m^2 | surface_area_cylinder | ['maxRadius=20', 'maxHeight=50', "unit='m'"] |
+| 35 | Volum of Cube | Volume of cube with side = 11m is | 1331 m^3 | volume_cube | ['maxSide=20', "unit='m'"] |
+| 36 | Volume of Cuboid | Volume of cuboid with sides = 2m, 9m, 8m is | 144 m^3 | volume_cuboid | ['maxSide=20', "unit='m'"] |
+| 37 | Volume of cylinder | Volume of cylinder with height = 11m and radius = 7m is | 1693 m^3 | volume_cylinder | ['maxRadius=20', 'maxHeight=50', "unit='m'"] |
+| 38 | Surface Area of cone | Surface area of cone with height = 28m and radius = 1m is | 91 m^2 | surface_area_cone | ['maxRadius=20', 'maxHeight=50', "unit='m'"] |
+| 39 | Volume of cone | Volume of cone with height = 27m and radius = 17m is | 8171 m^3 | volume_cone | ['maxRadius=20', 'maxHeight=50', "unit='m'"] |
+| 49 | Fourth Angle of Quadrilateral | Fourth angle of quadrilateral with angles 34 , 198, 6 = | 122 | fourth_angle_of_quadrilateral | ['maxAngle=180'] |
+| 57 | Trigonometric Values | What is cos(0)? | 1 | basic_trigonometry | ['angles=[0, 30, 45, 60, 90]', "functions=['sin', 'cos', 'tan']"] |
+| 58 | Sum of Angles of Polygon | Sum of angles of polygon with 12 sides = | 1800 | sum_of_polygon_angles | ['maxSides=12'] |
+| 60 | Surface Area of Sphere | Surface area of Sphere with radius = 11m is | 1520.5308443374597 m^2 | surface_area_sphere | ['maxSide=20', "unit='m'"] |
+| 61 | Volume of Sphere | Volume of sphere with radius 98 m = | 3942455.8304233127 m^3 | volume_sphere | ['maxRadius=100'] |
+| 70 | Angle between 2 vectors | angle between the vectors [253.9, 948.86, 389.18, 418.88, 219.41, 261.47, 394.28, 869.28, 456.84, 814.01] and [134.25, 733.56, 393.07, 547.66, 634.17, 151.21, 830.97, 448.18, 494.12, 616.65] is: | 0.47 radians | angle_btw_vectors | ['maxEltAmt=20'] |
+| 75 | Area of a Sector | Given radius, 7 and angle, 13. Find the area of the sector. | Area of sector = 5.55887 | sector_area | ['maxRadius=49', 'maxAngle=359'] |
+| 86 | Degrees to Radians | Angle 337 in radians is = | 5.88 | degree_to_rad | ['max_deg=360'] |
+| 87 | Radians to Degrees | Angle 3 in degrees is = | 171.89 | radian_to_deg | ['max_rad=3'] |
+| 95 | Curved surface area of a cylinder | What is the curved surface area of a cylinder of radius, 9 and height, 32? | CSA of cylinder = 1809.56 | curved_surface_area_cylinder | ['maxRadius=49', 'maxHeight=99'] |
+| 96 | Perimeter of Polygons | The perimeter of a 3 sided polygon with lengths of [79, 113, 2]cm is: | 194 | perimeter_of_polygons | ['maxSides=12', 'maxLength=120'] |
+| 104 | Circumference | Circumference of circle with radius 41 | 257.610597594363 | circumference | ['maxRadius=100'] |
+| 108 | Arc length of Angle | Given radius, 12 and angle, 42. Find the arc length of the angle. | Arc length of the angle = 8.79646 | arc_length | ['maxRadius=49', 'maxAngle=359'] |
+| 112 | Area of Circle | Area of circle with radius 92 | 26601.142857142855 | area_of_circle | ['maxRadius=100'] |
## misc
-| Id | Skill | Example problem | Example Solution | Function Name |
-|------|-------|-----------------|------------------|---------------|
-| 9 | LCM (Least Common Multiple) | LCM of 17 and 4 = | 68 | lcm |
-| 10 | GCD (Greatest Common Denominator) | GCD of 1 and 4 = | 1 | gcd |
-| 27 | Prime Factorisation | Find prime factors of 173 | [173] | prime_factors |
-| 40 | Common Factors | Common Factors of 79 and 64 = | [1] | common_factors |
-| 51 | HCF (Highest Common Factor) | HCF of 18 and 1 = | 1 | hcf |
-| 55 | Comparing surds | Fill in the blanks 29^(1/4) _ 91^(1/2) | < | surds_comparison |
-| 63 | Profit or Loss Percent | Profit percent when CP = 781 and SP = 878 is: | 12.419974391805377 | profit_loss_percent |
-| 66 | Geometric Progression | For the given GP [12, 84, 588, 4116, 28812, 201684] ,Find the value of a,common ratio,11th term value, sum upto 11th term | The value of a is 12, common ratio is 7 , 11th term is 3389702988 , sum upto 11th term is 3954653484.0 | geometric_progression |
-| 67 | Geometric Mean of N Numbers | Geometric mean of 2 numbers 55 and 48 = | (55*48)^(1/2) = 51.38093031466052 | geometric_mean |
-| 68 | Harmonic Mean of N Numbers | Harmonic mean of 4 numbers 18 , 24 , 1 , 31 = | 4/((1/18) + (1/24) + (1/1) + (1/31)) = 3.5414518048393493 | harmonic_mean |
-| 69 | Euclidian norm or L2 norm of a vector | Euclidian norm or L2 norm of the vector[943.6989301957527, 942.687709334459, 415.08527238528325, 794.7248710456973] is: | 1607.206020456812 | euclidian_norm |
-| 81 | Celsius To Fahrenheit | Convert 18 degrees Celsius to degrees Fahrenheit = | 64.4 | celsius_to_fahrenheit |
-| 82 | AP Term Calculation | Find the term number 55 of the AP series: 63, 7, -49 ... | -2961 | arithmetic_progression_term |
-| 83 | AP Sum Calculation | Find the sum of first 68 terms of the AP series: -58, 37, 132 ... | 212466.0 | arithmetic_progression_sum |
-| 85 | Converts decimal to Roman Numerals | The number 2089 in Roman Numerals is: | MMLXXXIX | decimal_to_roman_numerals |
-| 92 | Complex To Polar Form | rexp(itheta) = | 7.28exp(i-1.85) | complex_to_polar |
-| 93 | Union,Intersection,Difference of Two Sets | Given the two sets a={2, 3, 4, 5, 8, 9} ,b={9, 5, 6, 7}.Find the Union,intersection,a-b,b-a and symmetric difference | Union is {2, 3, 4, 5, 6, 7, 8, 9},Intersection is {9, 5}, a-b is {8, 2, 3, 4},b-a is {6, 7}, Symmetric difference is {2, 3, 4, 6, 7, 8} | set_operation |
-| 94 | Base Conversion | Convert DD5D from base 15 to base 10. | 46888 | base_conversion |
-| 98 | Quotient of Powers with Same Base | The Quotient of 49^2 and 49^2 = 49^(2-2) = 49^0 | 1 | quotient_of_power_same_base |
-| 99 | Quotient of Powers with Same Power | The Quotient of 40^4 and 39^4 = (40/39)^4 = 1.0256410256410255^4 | 1.1065767400162785 | quotient_of_power_same_power |
-| 101 | Leap Year or Not | Year 2037 | is not a leap year | is_leap_year |
-| 102 | Minute to Hour conversion | Convert 897 minutes to Hours & Minutes | 14 hours and 57 minutes | minutes_to_hours |
-| 106 | signum function | signum of 650 is = | 1 | signum_function |
-| 109 | Binomial distribution | A manufacturer of metal pistons finds that, on average, 30.15% of the pistons they manufacture are rejected because they are incorrectly sized. What is the probability that a batch of 17 pistons will contain no more than 5 rejected pistons? | 59.15 | binomial_distribution |
+| Id | Skill | Example problem | Example Solution | Function Name | Kwargs |
+|------|-------|-----------------|------------------|---------------|--------|
+| 9 | LCM (Least Common Multiple) | LCM of 4 and 8 = | 8 | lcm | ['maxVal=20'] |
+| 10 | GCD (Greatest Common Denominator) | GCD of 16 and 2 = | 2 | gcd | ['maxVal=20'] |
+| 27 | Prime Factorisation | Find prime factors of 195 | [3, 5, 13] | prime_factors | ['minVal=1', 'maxVal=200'] |
+| 40 | Common Factors | Common Factors of 100 and 86 = | [1, 2] | common_factors | ['maxVal=100'] |
+| 51 | HCF (Highest Common Factor) | HCF of 10 and 20 = | 10 | hcf | ['maxVal=20'] |
+| 55 | Comparing surds | Fill in the blanks 43^(1/7) _ 63^(1/1) | < | surds_comparison | ['maxValue=100', 'maxRoot=10'] |
+| 63 | Profit or Loss Percent | Profit percent when CP = 78 and SP = 953 is: | 1121.7948717948718 | profit_loss_percent | ['maxCP=1000', 'maxSP=1000'] |
+| 66 | Geometric Progression | For the given GP [5, 45, 405, 3645, 32805, 295245] ,Find the value of a,common ratio,9th term value, sum upto 10th term | The value of a is 5, common ratio is 9 , 9th term is 215233605 , sum upto 10th term is 2179240250.0 | geometric_progression | ['number_values=6', 'min_value=2', 'max_value=12', 'n_term=7', 'sum_term=5'] |
+| 67 | Geometric Mean of N Numbers | Geometric mean of 4 numbers 62 , 92 , 44 , 41 = | (62*92*44*41)^(1/4) = 56.637491826411804 | geometric_mean | ['maxValue=100', 'maxNum=4'] |
+| 68 | Harmonic Mean of N Numbers | Harmonic mean of 3 numbers 10 , 6 and 11 = | 3/((1/10) + (1/6) + (1/11)) = 8.389830508474576 | harmonic_mean | ['maxValue=100', 'maxNum=4'] |
+| 69 | Euclidian norm or L2 norm of a vector | Euclidian norm or L2 norm of the vector[314.0249431219423, 38.65678352467894, 71.60664616684642, 523.0882779296917, 608.4289997907042, 834.5672633353779, 650.2465891686563, 440.8107041244245, 266.74878772920385, 923.0576586175151, 799.0635785268884, 154.79227349145074] is: | 1910.0606131376528 | euclidian_norm | ['maxEltAmt=20'] |
+| 81 | Celsius To Fahrenheit | Convert 94 degrees Celsius to degrees Fahrenheit = | 201.20000000000002 | celsius_to_fahrenheit | ['maxTemp=100'] |
+| 82 | AP Term Calculation | Find the term number 94 of the AP series: 59, -26, -111 ... | -7846 | arithmetic_progression_term | ['maxd=100', 'maxa=100', 'maxn=100'] |
+| 83 | AP Sum Calculation | Find the sum of first 24 terms of the AP series: 48, 61, 74 ... | 4740.0 | arithmetic_progression_sum | ['maxd=100', 'maxa=100', 'maxn=100'] |
+| 85 | Converts decimal to Roman Numerals | The number 2298 in Roman Numerals is: | MMCCXCVIII | decimal_to_roman_numerals | ['maxDecimal=4000'] |
+| 92 | Complex To Polar Form | rexp(itheta) = | 11.4exp(i-1.84) | complex_to_polar | ['minRealImaginaryNum=-20, maxRealImaginaryNum=20'] |
+| 93 | Union,Intersection,Difference of Two Sets | Given the two sets a={9, 10, 5, 6} ,b={1, 2, 3, 7, 9}.Find the Union,intersection,a-b,b-a and symmetric difference | Union is {1, 2, 3, 5, 6, 7, 9, 10},Intersection is {9}, a-b is {10, 5, 6},b-a is {1, 2, 3, 7}, Symmetric difference is {1, 2, 3, 5, 6, 7, 10} | set_operation | ['minval=3', 'maxval=7', 'n_a=4', 'n_b=5'] |
+| 94 | Base Conversion | Convert 48E4 from base 16 to base 2. | 100100011100100 | base_conversion | ['maxNum=60000', 'maxBase=16'] |
+| 98 | Quotient of Powers with Same Base | The Quotient of 13^7 and 13^1 = 13^(7-1) = 13^6 | 4826809 | quotient_of_power_same_base | ['maxBase=50', 'maxPower=10'] |
+| 99 | Quotient of Powers with Same Power | The Quotient of 36^9 and 17^9 = (36/17)^9 = 2.1176470588235294^9 | 856.4109558955231 | quotient_of_power_same_power | ['maxBase=50', 'maxPower=10'] |
+| 101 | Leap Year or Not | Year 2083 | is not a leap year | is_leap_year | ['minNumber=1900', 'maxNumber=2099'] |
+| 102 | Minute to Hour conversion | Convert 303 minutes to Hours & Minutes | 5 hours and 3 minutes | minutes_to_hours | ['maxMinutes=999'] |
+| 106 | signum function | signum of -415 is = | -1 | signum_function | ['min=-999', 'max=999'] |
+| 109 | Binomial distribution | A manufacturer of metal pistons finds that, on average, 39.54% of the pistons they manufacture are rejected because they are incorrectly sized. What is the probability that a batch of 20 pistons will contain no more than 7 rejected pistons? | 43.25 | binomial_distribution | [''] |
## statistics
-| Id | Skill | Example problem | Example Solution | Function Name |
-|------|-------|-----------------|------------------|---------------|
-| 30 | Combinations of Objects | Number of combinations from 14 objects picked 7 at a time | 3432 | combinations |
-| 42 | Permutations | Number of Permutations from 15 objects picked 4 at a time = | 32760 | permutation |
-| 52 | Probability of a certain sum appearing on faces of dice | If 3 dice are rolled at the same time, the probability of getting a sum of 8 = | 21/216 | dice_sum_probability |
-| 54 | Confidence interval For sample S | The confidence interval for sample [272, 295, 283, 209, 260, 200, 276, 247, 223, 249, 221, 271, 231, 213, 284, 211, 281, 210, 212, 207, 239, 245, 229, 253] with 80% confidence is | (250.11440157643338, 234.96893175689993) | confidence_interval |
-| 59 | Mean,Standard Deviation,Variance | Find the mean,standard deviation and variance for the data[29, 8, 22, 18, 9, 33, 36, 31, 32, 5, 45, 42, 41, 23, 15] | The Mean is 25.933333333333334 , Standard Deviation is 154.99555555555557, Variance is 12.449721103524993 | data_summary |
-| 76 | Mean and Median | Given the series of numbers [63, 37, 98, 21, 76, 85, 23, 47, 2, 44]. find the arithmatic mean and mdian of the series | Arithmetic mean of the series is 49.6 and Arithmetic median of this series is 45.5 | mean_median |
-| 107 | Conditional Probability | Someone tested positive for a nasty disease which only 0.59% of population have. Test sensitivity (true positive) is equal to SN= 94.30% whereas test specificity (true negative) SP= 90.17%. What is the probability that this guy really has that disease? | 5.39% | conditional_probability |
+| Id | Skill | Example problem | Example Solution | Function Name | Kwargs |
+|------|-------|-----------------|------------------|---------------|--------|
+| 30 | Combinations of Objects | Number of combinations from 10 objects picked 1 at a time | 10 | combinations | ['maxlength=20'] |
+| 42 | Permutations | Number of Permutations from 12 objects picked 0 at a time = | 1 | permutation | ['maxlength=20'] |
+| 52 | Probability of a certain sum appearing on faces of dice | If 2 dice are rolled at the same time, the probability of getting a sum of 2 = | 1/36 | dice_sum_probability | ['maxDice=3'] |
+| 54 | Confidence interval For sample S | The confidence interval for sample [235, 268, 270, 280, 260, 288, 212, 244, 223, 240, 219, 263, 229, 287, 226, 299, 281, 255, 278, 265, 207, 201] with 80% confidence is | (259.14322898071816, 243.58404374655458) | confidence_interval | [''] |
+| 59 | Mean,Standard Deviation,Variance | Find the mean,standard deviation and variance for the data[48, 45, 15, 16, 28, 10, 29, 22, 43, 33, 32, 33, 8, 10, 45] | The Mean is 27.8 , Standard Deviation is 177.76000000000005, Variance is 13.332666649999169 | data_summary | ['number_values=15', 'minval=5', 'maxval=50'] |
+| 76 | Mean and Median | Given the series of numbers [57, 25, 62, 16, 24, 77, 32, 14, 61, 28]. find the arithmatic mean and mdian of the series | Arithmetic mean of the series is 39.6 and Arithmetic median of this series is 30.0 | mean_median | ['maxlen=10'] |
+| 107 | Conditional Probability | Someone tested positive for a nasty disease which only 0.06% of population have. Test sensitivity (true positive) is equal to SN= 95.20% whereas test specificity (true negative) SP= 95.25%. What is the probability that this guy really has that disease? | 1.19% | conditional_probability | [''] |
diff --git a/makeReadme.py b/makeReadme.py
index 61a1744..5475a16 100644
--- a/makeReadme.py
+++ b/makeReadme.py
@@ -63,17 +63,19 @@ def gen_to_row_string(item):
# NOTE: renamed 'def_name' to 'func_name' because it suits it more
func_name = item[3]
- row = [myGen.id, myGen.title, prob, solu, func_name]
+ row = [myGen.id, myGen.title, prob, solu, func_name, myGen.kwargs]
+ #tableLine = "| " + str(row[0]) + " | " + str(row[1]) + " | " + str(
+ # row[2]) + " | " + str(row[3]) + " | " + str(row[4]) + " |\n"
tableLine = "| " + str(row[0]) + " | " + str(row[1]) + " | " + str(
- row[2]) + " | " + str(row[3]) + " | " + str(row[4]) + " |\n"
+ row[2]) + " | " + str(row[3]) + " | " + str(row[4]) + " | " + str(row[5]) + " |\n"
print('added', item[1], '-', func_name, 'to the README.md')
return tableLine
def make_table_header(name):
lines = [
'## ' + name + '\n',
- '| Id | Skill | Example problem | Example Solution | Function Name |\n',
- '|------|-------|-----------------|------------------|---------------|\n'
+ '| Id | Skill | Example problem | Example Solution | Function Name | Kwargs |\n',
+ '|------|-------|-----------------|------------------|---------------|--------|\n'
]
for line in lines:
write_list.append(line)
@@ -98,7 +100,7 @@ def main():
write_table_of_contents()
for subject in subjects:
write_subject_table(subject, wList)
-
+
with open('README.md', "r") as g:
lines = g.readlines()
diff --git a/mathgenerator/__init__.py b/mathgenerator/__init__.py
index 0912991..d2423b0 100644
--- a/mathgenerator/__init__.py
+++ b/mathgenerator/__init__.py
@@ -10,12 +10,13 @@ genList = []
class Generator:
- def __init__(self, title, id, generalProb, generalSol, func):
+ def __init__(self, title, id, generalProb, generalSol, func, kwargs):
self.title = title
self.id = id
self.generalProb = generalProb
self.generalSol = generalSol
self.func = func
+ self.kwargs = kwargs
(filename, line_number, function_name,
text) = traceback.extract_stack()[-2]
@@ -24,7 +25,7 @@ class Generator:
subjectname = filename[:filename.rfind('/')].strip()
subjectname = subjectname[subjectname.rfind('/'):].strip()
subjectname = subjectname[1:]
- genList.append([id, title, self, funcname, subjectname])
+ genList.append([id, title, self, funcname, subjectname, kwargs])
def __str__(self):
return str(
diff --git a/mathgenerator/funcs/algebra/basic_algebra.py b/mathgenerator/funcs/algebra/basic_algebra.py
index 2d0a3fb..fe2771c 100644
--- a/mathgenerator/funcs/algebra/basic_algebra.py
+++ b/mathgenerator/funcs/algebra/basic_algebra.py
@@ -30,4 +30,4 @@ def basicAlgebraFunc(maxVariable=10, style='raw'):
basic_algebra = Generator("Basic Algebra", 11, "ax + b = c", "d",
- basicAlgebraFunc)
+ basicAlgebraFunc, ["maxVariable=10"])
diff --git a/mathgenerator/funcs/algebra/combine_like_terms.py b/mathgenerator/funcs/algebra/combine_like_terms.py
index c6b3412..ae3cf34 100644
--- a/mathgenerator/funcs/algebra/combine_like_terms.py
+++ b/mathgenerator/funcs/algebra/combine_like_terms.py
@@ -42,4 +42,4 @@ def combineTerms(string):
combine_like_terms = Generator("Combine Like terms", 105, "nx^m+lx^k+bx^m",
- "(n+b)x^m+lx^k", likeTermCombineFunc)
+ "(n+b)x^m+lx^k", likeTermCombineFunc, ["maxCoef=10", "maxExp=20", "maxTerms=10"])
diff --git a/mathgenerator/funcs/algebra/complex_quadratic.py b/mathgenerator/funcs/algebra/complex_quadratic.py
index 7cbf0b0..5d3ddd2 100644
--- a/mathgenerator/funcs/algebra/complex_quadratic.py
+++ b/mathgenerator/funcs/algebra/complex_quadratic.py
@@ -72,4 +72,5 @@ complex_quadratic = Generator(
"complex Quadratic Equation", 100,
"Find the roots of given Quadratic Equation ",
"simplified solution : (x1, x2), generalized solution : ((-b + sqrt(d))/2a, (-b - sqrt(d))/2a) or ((-b + sqrt(d)i)/2a, (-b - sqrt(d)i)/2a)",
- complexQuadraticFunc)
+ complexQuadraticFunc,
+ ["prob_type=0", "max_range=10"])
diff --git a/mathgenerator/funcs/algebra/compound_interest.py b/mathgenerator/funcs/algebra/compound_interest.py
index 0ff034c..ac2035c 100644
--- a/mathgenerator/funcs/algebra/compound_interest.py
+++ b/mathgenerator/funcs/algebra/compound_interest.py
@@ -16,4 +16,6 @@ def compoundInterestFunc(maxPrinciple=10000, maxRate=10, maxTime=10):
compound_interest = Generator(
"Compound Interest", 78,
"Compound interest for a principle amount of a dollars, b% rate of interest and for a time period of c years is = ",
- "d dollars", compoundInterestFunc)
+ "d dollars",
+ compoundInterestFunc,
+ ["maxPrinciple=10000", "maxRate=10", "maxTime=10"])
diff --git a/mathgenerator/funcs/algebra/distance_two_points.py b/mathgenerator/funcs/algebra/distance_two_points.py
index 7277702..1e5f0d2 100644
--- a/mathgenerator/funcs/algebra/distance_two_points.py
+++ b/mathgenerator/funcs/algebra/distance_two_points.py
@@ -17,4 +17,5 @@ def distanceTwoPointsFunc(maxValXY=20, minValXY=-20):
distance_two_points = Generator(
"Distance between 2 points", 24,
"Find the distance between (x1,y1) and (x2,y2)", "sqrt(distanceSquared)",
- distanceTwoPointsFunc)
+ distanceTwoPointsFunc,
+ ["maxValXY=20", "minValXY=-20"])
diff --git a/mathgenerator/funcs/algebra/expanding.py b/mathgenerator/funcs/algebra/expanding.py
index b924997..c163c74 100644
--- a/mathgenerator/funcs/algebra/expanding.py
+++ b/mathgenerator/funcs/algebra/expanding.py
@@ -45,4 +45,5 @@ def expandingFunc(range_x1=10, range_x2=10, range_a=10, range_b=10):
expanding = Generator("Expanding Factored Binomial", 111, "(a*x-x1)(b*x-x2)",
- "a*b*x^2+(b*x1+a*x2)*x+x1*x2", expandingFunc)
+ "a*b*x^2+(b*x1+a*x2)*x+x1*x2", expandingFunc,
+ ["range_x1=10", "range_x2=10", "range_a=10", "range_b=10"])
diff --git a/mathgenerator/funcs/algebra/factoring.py b/mathgenerator/funcs/algebra/factoring.py
index 170a764..f912121 100644
--- a/mathgenerator/funcs/algebra/factoring.py
+++ b/mathgenerator/funcs/algebra/factoring.py
@@ -30,4 +30,5 @@ def factoringFunc(range_x1=10, range_x2=10):
factoring = Generator("Factoring Quadratic", 21, "x^2+(x1+x2)+x1*x2",
- "(x-x1)(x-x2)", factoringFunc)
+ "(x-x1)(x-x2)", factoringFunc,
+ ["range_x1=10", "range_x2=10"])
diff --git a/mathgenerator/funcs/algebra/int_matrix_22_determinant.py b/mathgenerator/funcs/algebra/int_matrix_22_determinant.py
index 4e3d3ca..edafb9f 100644
--- a/mathgenerator/funcs/algebra/int_matrix_22_determinant.py
+++ b/mathgenerator/funcs/algebra/int_matrix_22_determinant.py
@@ -15,4 +15,5 @@ def determinantToMatrix22(maxMatrixVal=100):
int_matrix_22_determinant = Generator("Determinant to 2x2 Matrix", 77,
"Det([[a,b],[c,d]]) =", " a * d - b * c",
- determinantToMatrix22)
+ determinantToMatrix22,
+ ["maxMatrixVal=100"])
diff --git a/mathgenerator/funcs/algebra/intersection_of_two_lines.py b/mathgenerator/funcs/algebra/intersection_of_two_lines.py
index f3bb678..7ce2e0c 100644
--- a/mathgenerator/funcs/algebra/intersection_of_two_lines.py
+++ b/mathgenerator/funcs/algebra/intersection_of_two_lines.py
@@ -71,4 +71,5 @@ def intersectionOfTwoLinesFunc(minM=-10,
intersection_of_two_lines = Generator(
"Intersection of Two Lines", 41,
"Find the point of intersection of the two lines: y = m1*x + b1 and y = m2*x + b2",
- "(x, y)", intersectionOfTwoLinesFunc)
+ "(x, y)", intersectionOfTwoLinesFunc,
+ ["minM=-10","maxM=10","minB=-10","maxB=10","minDenominator=1","maxDenominator=6"])
diff --git a/mathgenerator/funcs/algebra/invert_matrix.py b/mathgenerator/funcs/algebra/invert_matrix.py
index f089c3c..b598a37 100644
--- a/mathgenerator/funcs/algebra/invert_matrix.py
+++ b/mathgenerator/funcs/algebra/invert_matrix.py
@@ -80,4 +80,5 @@ def matrixInversion(SquareMatrixDimension=3,
invert_matrix = Generator("Inverse of a Matrix", 74,
"Inverse of a matrix A is", "A^(-1)",
- matrixInversion)
+ matrixInversion,
+ ["SquareMatrixDimension=3","MaxMatrixElement=99","OnlyIntegerElementsInInvertedMatrix=False"])
diff --git a/mathgenerator/funcs/algebra/linear_equations.py b/mathgenerator/funcs/algebra/linear_equations.py
index 7fb71b6..43a49df 100644
--- a/mathgenerator/funcs/algebra/linear_equations.py
+++ b/mathgenerator/funcs/algebra/linear_equations.py
@@ -31,4 +31,5 @@ def linearEquationsFunc(n=2, varRange=20, coeffRange=20):
linear_equations = Generator("Linear Equations", 26, "2x+5y=20 & 3x+6y=12",
- "x=-20 & y=12", linearEquationsFunc)
+ "x=-20 & y=12", linearEquationsFunc,
+ ["n=2", "varRange=20", "coeffRange=20"])
diff --git a/mathgenerator/funcs/algebra/log.py b/mathgenerator/funcs/algebra/log.py
index 8bcc16d..88522e1 100644
--- a/mathgenerator/funcs/algebra/log.py
+++ b/mathgenerator/funcs/algebra/log.py
@@ -17,4 +17,5 @@ def logFunc(maxBase=3, maxVal=8, style='raw'):
return problem, solution
-log = Generator("Logarithm", 12, "log2(8)", "3", logFunc)
+log = Generator("Logarithm", 12, "log2(8)", "3", logFunc,
+ ["maxBase=3", "maxVal=8"])
diff --git a/mathgenerator/funcs/algebra/matrix_multiplication.py b/mathgenerator/funcs/algebra/matrix_multiplication.py
index 51c60f9..dcdcf31 100644
--- a/mathgenerator/funcs/algebra/matrix_multiplication.py
+++ b/mathgenerator/funcs/algebra/matrix_multiplication.py
@@ -55,4 +55,5 @@ def matrixMultiplicationFuncHelper(inp):
matrix_multiplication = Generator("Multiplication of two matrices", 46,
"Multiply two matrices A and B", "C",
- matrixMultiplicationFunc)
+ matrixMultiplicationFunc,
+ ["maxVal=100", "max_dim=10"])
diff --git a/mathgenerator/funcs/algebra/midpoint_of_two_points.py b/mathgenerator/funcs/algebra/midpoint_of_two_points.py
index 9e458a4..577a33b 100644
--- a/mathgenerator/funcs/algebra/midpoint_of_two_points.py
+++ b/mathgenerator/funcs/algebra/midpoint_of_two_points.py
@@ -15,4 +15,5 @@ def MidPointOfTwoPointFunc(maxValue=20):
midPoint_of_two_points = Generator("Midpoint of the two point", 20,
"((X1,Y1),(X2,Y2))=",
"((X1+X2)/2,(Y1+Y2)/2)",
- MidPointOfTwoPointFunc)
+ MidPointOfTwoPointFunc,
+ ["maxValue=20"])
diff --git a/mathgenerator/funcs/algebra/multiply_complex_numbers.py b/mathgenerator/funcs/algebra/multiply_complex_numbers.py
index 1ab670b..cf7314d 100644
--- a/mathgenerator/funcs/algebra/multiply_complex_numbers.py
+++ b/mathgenerator/funcs/algebra/multiply_complex_numbers.py
@@ -14,4 +14,5 @@ def multiplyComplexNumbersFunc(minRealImaginaryNum=-20,
multiply_complex_numbers = Generator("Multiplication of 2 complex numbers", 65,
"(x + j) (y + j) = ", "xy + xj + yj -1",
- multiplyComplexNumbersFunc)
+ multiplyComplexNumbersFunc,
+ ["minRealImaginaryNum=-20","maxRealImaginaryNum=20"])
diff --git a/mathgenerator/funcs/algebra/multiply_int_to_22_matrix.py b/mathgenerator/funcs/algebra/multiply_int_to_22_matrix.py
index 8b81d41..81a677b 100644
--- a/mathgenerator/funcs/algebra/multiply_int_to_22_matrix.py
+++ b/mathgenerator/funcs/algebra/multiply_int_to_22_matrix.py
@@ -26,4 +26,5 @@ def multiplyIntToMatrix22(maxMatrixVal=10, maxRes=100, style='raw'):
multiply_int_to_22_matrix = Generator("Integer Multiplication with 2x2 Matrix",
17, "k * [[a,b],[c,d]]=",
"[[k*a,k*b],[k*c,k*d]]",
- multiplyIntToMatrix22)
+ multiplyIntToMatrix22,
+ ["maxMatrixVal=10", "maxRes=100"])
diff --git a/mathgenerator/funcs/algebra/quadratic_equation.py b/mathgenerator/funcs/algebra/quadratic_equation.py
index 0a6581e..5972647 100644
--- a/mathgenerator/funcs/algebra/quadratic_equation.py
+++ b/mathgenerator/funcs/algebra/quadratic_equation.py
@@ -20,4 +20,5 @@ def quadraticEquation(maxVal=100):
quadratic_equation = Generator(
"Quadratic Equation", 50,
"Find the zeros {x1,x2} of the quadratic equation ax^2+bx+c=0", "x1,x2",
- quadraticEquation)
+ quadraticEquation,
+ ["maxVal=100"])
diff --git a/mathgenerator/funcs/algebra/simple_interest.py b/mathgenerator/funcs/algebra/simple_interest.py
index 00242b1..3d61990 100644
--- a/mathgenerator/funcs/algebra/simple_interest.py
+++ b/mathgenerator/funcs/algebra/simple_interest.py
@@ -18,4 +18,5 @@ def simpleInterestFunc(maxPrinciple=10000, maxRate=10, maxTime=10):
simple_interest = Generator(
"Simple Interest", 45,
"Simple interest for a principle amount of a dollars, b% rate of interest and for a time period of c years is = ",
- "d dollars", simpleInterestFunc)
+ "d dollars", simpleInterestFunc,
+ ["maxPrinciple=10000", "maxRate=10", "maxTime=10"])
diff --git a/mathgenerator/funcs/algebra/system_of_equations.py b/mathgenerator/funcs/algebra/system_of_equations.py
index c35e549..9e2cd4e 100644
--- a/mathgenerator/funcs/algebra/system_of_equations.py
+++ b/mathgenerator/funcs/algebra/system_of_equations.py
@@ -49,4 +49,5 @@ def systemOfEquationsFunc(range_x=10, range_y=10, coeff_mult_range=10):
system_of_equations = Generator("Solve a System of Equations in R^2", 23,
"2x + 5y = 13, -3x - 3y = -6", "x = -1, y = 3",
- systemOfEquationsFunc)
+ systemOfEquationsFunc,
+ ["range_x=10", "range_y=10", "coeff_mult_range=10"])
diff --git a/mathgenerator/funcs/algebra/vector_cross.py b/mathgenerator/funcs/algebra/vector_cross.py
index 92b82a9..a1ce795 100644
--- a/mathgenerator/funcs/algebra/vector_cross.py
+++ b/mathgenerator/funcs/algebra/vector_cross.py
@@ -15,4 +15,5 @@ def vectorCrossFunc(minVal=-20, maxVal=20):
vector_cross = Generator("Cross Product of 2 Vectors", 43, "a X b = ", "c",
- vectorCrossFunc)
+ vectorCrossFunc,
+ ["minVal=-20", "maxVal=20"])
diff --git a/mathgenerator/funcs/algebra/vector_dot.py b/mathgenerator/funcs/algebra/vector_dot.py
index 608ce66..f1c182e 100644
--- a/mathgenerator/funcs/algebra/vector_dot.py
+++ b/mathgenerator/funcs/algebra/vector_dot.py
@@ -12,4 +12,5 @@ def vectorDotFunc(minVal=-20, maxVal=20):
vector_dot = Generator("Dot Product of 2 Vectors", 72, "a . b = ", "c",
- vectorDotFunc)
+ vectorDotFunc,
+ ["minVal=-20", "maxVal=20"])
diff --git a/mathgenerator/funcs/basic_math/absolute_difference.py b/mathgenerator/funcs/basic_math/absolute_difference.py
index bb5f662..52b245c 100644
--- a/mathgenerator/funcs/basic_math/absolute_difference.py
+++ b/mathgenerator/funcs/basic_math/absolute_difference.py
@@ -18,4 +18,5 @@ def absoluteDifferenceFunc(maxA=100, maxB=100, style='raw'):
absolute_difference = Generator(
"Absolute difference between two numbers", 71,
"Absolute difference betweeen two numbers a and b =", "|a-b|",
- absoluteDifferenceFunc)
+ absoluteDifferenceFunc,
+ ["maxA=100", "maxB=100"])
diff --git a/mathgenerator/funcs/basic_math/addition.py b/mathgenerator/funcs/basic_math/addition.py
index 86b792f..024ea2a 100644
--- a/mathgenerator/funcs/basic_math/addition.py
+++ b/mathgenerator/funcs/basic_math/addition.py
@@ -19,4 +19,5 @@ def addition_func(maxSum=99, maxAddend=50, style='raw'):
return problem, solution
-addition = Generator("Addition", 0, "a+b=", "c", addition_func)
+addition = Generator("Addition", 0, "a+b=", "c", addition_func,
+ ["maxSum=99", "maxAddend=50"])
diff --git a/mathgenerator/funcs/basic_math/compare_fractions.py b/mathgenerator/funcs/basic_math/compare_fractions.py
index 2df9fe1..806e8ff 100644
--- a/mathgenerator/funcs/basic_math/compare_fractions.py
+++ b/mathgenerator/funcs/basic_math/compare_fractions.py
@@ -32,4 +32,5 @@ def compareFractionsFunc(maxVal=10, style='raw'):
compare_fractions = Generator(
"Compare Fractions", 44,
"Which symbol represents the comparison between a/b and c/d?", ">/=",
- compareFractionsFunc)
+ compareFractionsFunc,
+ ["maxVal=10"])
diff --git a/mathgenerator/funcs/basic_math/complex_division.py b/mathgenerator/funcs/basic_math/complex_division.py
index e836f50..9e11ad5 100644
--- a/mathgenerator/funcs/basic_math/complex_division.py
+++ b/mathgenerator/funcs/basic_math/complex_division.py
@@ -16,4 +16,5 @@ def complexDivisionFunc(maxRes=99, maxDivid=99, style='raw'):
return problem, solution
-complex_division = Generator("Complex Division", 13, "a/b=", "c", complexDivisionFunc)
+complex_division = Generator("Complex Division", 13, "a/b=", "c", complexDivisionFunc,
+ ["maxRes=99", "maxDivid=99"])
diff --git a/mathgenerator/funcs/basic_math/cube_root.py b/mathgenerator/funcs/basic_math/cube_root.py
index 736fb90..715a27f 100644
--- a/mathgenerator/funcs/basic_math/cube_root.py
+++ b/mathgenerator/funcs/basic_math/cube_root.py
@@ -16,4 +16,5 @@ def cubeRootFunc(minNo=1, maxNo=1000, style='raw'):
cube_root = Generator("Cube Root", 47,
"Cuberoot of a upto 2 decimal places is", "b",
- cubeRootFunc)
+ cubeRootFunc,
+ ["minNo=1", "maxNo=1000"])
diff --git a/mathgenerator/funcs/basic_math/divide_fractions.py b/mathgenerator/funcs/basic_math/divide_fractions.py
index 6db3c87..1c070df 100644
--- a/mathgenerator/funcs/basic_math/divide_fractions.py
+++ b/mathgenerator/funcs/basic_math/divide_fractions.py
@@ -42,4 +42,5 @@ def divideFractionsFunc(maxVal=10, style='raw'):
divide_fractions = Generator("Fraction Division", 16, "(a/b)/(c/d)=", "x/y",
- divideFractionsFunc)
+ divideFractionsFunc,
+ ["maxVal=10"])
diff --git a/mathgenerator/funcs/basic_math/division.py b/mathgenerator/funcs/basic_math/division.py
index 0faf5f8..994c63b 100644
--- a/mathgenerator/funcs/basic_math/division.py
+++ b/mathgenerator/funcs/basic_math/division.py
@@ -18,4 +18,4 @@ def divisionToIntFunc(maxA=25, maxB=25, style='raw'):
return problem, solution
-division = Generator("Division", 3, "a/b=", "c", divisionToIntFunc)
+division = Generator("Division", 3, "a/b=", "c", divisionToIntFunc, ["maxA=25", "maxB=25"])
diff --git a/mathgenerator/funcs/basic_math/exponentiation.py b/mathgenerator/funcs/basic_math/exponentiation.py
index ad8b32c..97a6b94 100644
--- a/mathgenerator/funcs/basic_math/exponentiation.py
+++ b/mathgenerator/funcs/basic_math/exponentiation.py
@@ -15,4 +15,5 @@ def exponentiationFunc(maxBase=20, maxExpo=10, style='raw'):
exponentiation = Generator("Exponentiation", 53, "a^b = ", "c",
- exponentiationFunc)
+ exponentiationFunc,
+ ["maxBase=20", "maxExpo=10"])
diff --git a/mathgenerator/funcs/basic_math/factorial.py b/mathgenerator/funcs/basic_math/factorial.py
index 15d1e9d..075905b 100644
--- a/mathgenerator/funcs/basic_math/factorial.py
+++ b/mathgenerator/funcs/basic_math/factorial.py
@@ -15,4 +15,4 @@ def factorialFunc(maxInput=6):
return problem, solution
-factorial = Generator("Factorial", 31, "a! = ", "b", factorialFunc)
+factorial = Generator("Factorial", 31, "a! = ", "b", factorialFunc, ["maxInput=6"])
diff --git a/mathgenerator/funcs/basic_math/fraction_multiplication.py b/mathgenerator/funcs/basic_math/fraction_multiplication.py
index f486b20..2660acb 100644
--- a/mathgenerator/funcs/basic_math/fraction_multiplication.py
+++ b/mathgenerator/funcs/basic_math/fraction_multiplication.py
@@ -41,4 +41,5 @@ def multiplyFractionsFunc(maxVal=10, style='raw'):
fraction_multiplication = Generator("Fraction Multiplication", 28,
"(a/b)*(c/d)=", "x/y",
- multiplyFractionsFunc)
+ multiplyFractionsFunc,
+ ["maxVal=10"])
diff --git a/mathgenerator/funcs/basic_math/is_prime.py b/mathgenerator/funcs/basic_math/is_prime.py
index 179a9ad..949de03 100644
--- a/mathgenerator/funcs/basic_math/is_prime.py
+++ b/mathgenerator/funcs/basic_math/is_prime.py
@@ -1,8 +1,8 @@
from .__init__ import *
-def isprime(max_a=100):
- a = random.randint(2, max_a)
+def isprime(max_num=100):
+ a = random.randint(2, max_num)
problem = f"Is {a} prime?"
if a == 2:
solution = "Yes"
@@ -19,4 +19,5 @@ def isprime(max_a=100):
is_prime = Generator('isprime', 90, 'a any positive integer', 'True/False',
- isprime)
+ isprime,
+ ["max_num=100"])
diff --git a/mathgenerator/funcs/basic_math/multiplication.py b/mathgenerator/funcs/basic_math/multiplication.py
index 037d473..625cce7 100644
--- a/mathgenerator/funcs/basic_math/multiplication.py
+++ b/mathgenerator/funcs/basic_math/multiplication.py
@@ -16,4 +16,5 @@ def multiplicationFunc(maxMulti=12, style='raw'):
multiplication = Generator("Multiplication", 2, "a*b=", "c",
- multiplicationFunc)
+ multiplicationFunc,
+ ["maxMulti=12"])
diff --git a/mathgenerator/funcs/basic_math/percentage.py b/mathgenerator/funcs/basic_math/percentage.py
index 64d3d98..bf16837 100644
--- a/mathgenerator/funcs/basic_math/percentage.py
+++ b/mathgenerator/funcs/basic_math/percentage.py
@@ -12,4 +12,5 @@ def percentageFunc(maxValue=99, maxpercentage=99):
percentage = Generator("Percentage of a number", 80, "What is a% of b?",
- "percentage", percentageFunc)
+ "percentage", percentageFunc,
+ ["maxValue=99", "maxpercentage=99"])
diff --git a/mathgenerator/funcs/basic_math/power_of_powers.py b/mathgenerator/funcs/basic_math/power_of_powers.py
index 43bc88c..38bda8d 100644
--- a/mathgenerator/funcs/basic_math/power_of_powers.py
+++ b/mathgenerator/funcs/basic_math/power_of_powers.py
@@ -17,4 +17,5 @@ def powerOfPowersFunc(maxBase=50, maxPower=10, style='raw'):
power_of_powers = Generator("Power of Powers", 97, "6^4^2",
- "6^8", powerOfPowersFunc)
+ "6^8", powerOfPowersFunc,
+ ["maxBase=50", "maxPower=10"])
diff --git a/mathgenerator/funcs/basic_math/square.py b/mathgenerator/funcs/basic_math/square.py
index 4b062b7..83bb262 100644
--- a/mathgenerator/funcs/basic_math/square.py
+++ b/mathgenerator/funcs/basic_math/square.py
@@ -14,4 +14,4 @@ def squareFunc(maxSquareNum=20, style='raw'):
return problem, solution
-square = Generator("Square", 8, "a^2", "b", squareFunc)
+square = Generator("Square", 8, "a^2", "b", squareFunc, ["maxSquareNum=20"])
diff --git a/mathgenerator/funcs/basic_math/square_root.py b/mathgenerator/funcs/basic_math/square_root.py
index 41019d8..61a927f 100644
--- a/mathgenerator/funcs/basic_math/square_root.py
+++ b/mathgenerator/funcs/basic_math/square_root.py
@@ -14,4 +14,4 @@ def squareRootFunc(minNo=1, maxNo=12, style='raw'):
return problem, solution
-square_root = Generator("Square Root", 6, "sqrt(a)=", "b", squareRootFunc)
+square_root = Generator("Square Root", 6, "sqrt(a)=", "b", squareRootFunc, ["minNo=1", "maxNo=12"])
diff --git a/mathgenerator/funcs/basic_math/subtraction.py b/mathgenerator/funcs/basic_math/subtraction.py
index 47c7ef2..69e9e77 100644
--- a/mathgenerator/funcs/basic_math/subtraction.py
+++ b/mathgenerator/funcs/basic_math/subtraction.py
@@ -11,4 +11,4 @@ def subtractionFunc(maxMinuend=99, maxDiff=99):
return problem, solution
-subtraction = Generator("Subtraction", 1, "a-b=", "c", subtractionFunc)
+subtraction = Generator("Subtraction", 1, "a-b=", "c", subtractionFunc, ["maxMinuend=99", "maxDiff=99"])
diff --git a/mathgenerator/funcs/calculus/definite_integral.py b/mathgenerator/funcs/calculus/definite_integral.py
index 7a46027..8c72a58 100644
--- a/mathgenerator/funcs/calculus/definite_integral.py
+++ b/mathgenerator/funcs/calculus/definite_integral.py
@@ -25,4 +25,5 @@ def definiteIntegralFunc(max_coeff=100):
definite_integral = Generator(
"Definite Integral of Quadratic Equation", 89,
"The definite integral within limits 0 to 1 of quadratic equation ax^2+bx+c is = ",
- "S", definiteIntegralFunc)
+ "S", definiteIntegralFunc,
+ ["max_coeff=100"])
diff --git a/mathgenerator/funcs/calculus/differentiation.py b/mathgenerator/funcs/calculus/differentiation.py
index 1c0205d..489a435 100644
--- a/mathgenerator/funcs/calculus/differentiation.py
+++ b/mathgenerator/funcs/calculus/differentiation.py
@@ -1,7 +1,7 @@
from .__init__ import *
-def genDifferentiationProblem(diff_lvl):
+def genDifferentiationProblem(diff_lvl=2):
problem = ''
types = {
@@ -51,4 +51,5 @@ def differentiationFunc(diff_lvl=2):
differentiation = Generator("Differentiation", 88,
"differentiate w.r.t x : d(f(x))/dx", "g(x)",
- differentiationFunc)
+ differentiationFunc,
+ ["diff_lvl=2"])
diff --git a/mathgenerator/funcs/calculus/power_rule_differentiation.py b/mathgenerator/funcs/calculus/power_rule_differentiation.py
index 25a85c2..2782653 100644
--- a/mathgenerator/funcs/calculus/power_rule_differentiation.py
+++ b/mathgenerator/funcs/calculus/power_rule_differentiation.py
@@ -20,4 +20,5 @@ def powerRuleDifferentiationFunc(maxCoef=10, maxExp=10, maxTerms=5):
power_rule_differentiation = Generator("Power Rule Differentiation", 7,
"nx^m=", "(n*m)x^(m-1)",
- powerRuleDifferentiationFunc)
+ powerRuleDifferentiationFunc,
+ ["maxCoef=10", "maxExp=10", "maxTerms=5"])
diff --git a/mathgenerator/funcs/calculus/power_rule_integration.py b/mathgenerator/funcs/calculus/power_rule_integration.py
index 7356a68..eb06d1c 100644
--- a/mathgenerator/funcs/calculus/power_rule_integration.py
+++ b/mathgenerator/funcs/calculus/power_rule_integration.py
@@ -22,4 +22,5 @@ def powerRuleIntegrationFunc(maxCoef=10, maxExp=10, maxTerms=5):
power_rule_integration = Generator("Power Rule Integration", 48, "nx^m=",
- "(n/m)x^(m+1)", powerRuleIntegrationFunc)
+ "(n/m)x^(m+1)", powerRuleIntegrationFunc,
+ ["maxCoef=10", "maxExp=10", "maxTerms=5"])
diff --git a/mathgenerator/funcs/calculus/stationary_points.py b/mathgenerator/funcs/calculus/stationary_points.py
index aee5475..86f9aae 100644
--- a/mathgenerator/funcs/calculus/stationary_points.py
+++ b/mathgenerator/funcs/calculus/stationary_points.py
@@ -21,4 +21,5 @@ def stationaryPointsFunc(maxExp=3, maxCoef=10):
stationary_points = Generator("Stationary Points", 110, "f(x)=x^3-3x",
- "(-1,2),(1,-2)", stationaryPointsFunc)
+ "(-1,2),(1,-2)", stationaryPointsFunc,
+ ["maxExp=3", "maxCoef=10"])
diff --git a/mathgenerator/funcs/computer_science/bcd_to_decimal.py b/mathgenerator/funcs/computer_science/bcd_to_decimal.py
index ec48176..9b03aca 100644
--- a/mathgenerator/funcs/computer_science/bcd_to_decimal.py
+++ b/mathgenerator/funcs/computer_science/bcd_to_decimal.py
@@ -22,4 +22,5 @@ def BCDtoDecimalFunc(maxNumber=10000):
bcd_to_decimal = Generator("Binary Coded Decimal to Integer", 91,
"Integer of Binary Coded Decimal b is ", "n",
- BCDtoDecimalFunc)
+ BCDtoDecimalFunc,
+ ["maxNumber=10000"])
diff --git a/mathgenerator/funcs/computer_science/binary_2s_complement.py b/mathgenerator/funcs/computer_science/binary_2s_complement.py
index f053020..f9a8391 100644
--- a/mathgenerator/funcs/computer_science/binary_2s_complement.py
+++ b/mathgenerator/funcs/computer_science/binary_2s_complement.py
@@ -30,4 +30,5 @@ def binary2sComplementFunc(maxDigits=10):
binary_2s_complement = Generator("Binary 2's Complement", 73,
"2's complement of 11010110 =", "101010",
- binary2sComplementFunc)
+ binary2sComplementFunc,
+ ["maxDigits=10"])
diff --git a/mathgenerator/funcs/computer_science/binary_complement_1s.py b/mathgenerator/funcs/computer_science/binary_complement_1s.py
index da6c481..b6ba412 100644
--- a/mathgenerator/funcs/computer_science/binary_complement_1s.py
+++ b/mathgenerator/funcs/computer_science/binary_complement_1s.py
@@ -16,4 +16,5 @@ def binaryComplement1sFunc(maxDigits=10):
binary_complement_1s = Generator("Binary Complement 1s", 4, "1010=", "0101",
- binaryComplement1sFunc)
+ binaryComplement1sFunc,
+ ["maxDigits=10"])
diff --git a/mathgenerator/funcs/computer_science/binary_to_decimal.py b/mathgenerator/funcs/computer_science/binary_to_decimal.py
index f7e0aa8..188c6de 100644
--- a/mathgenerator/funcs/computer_science/binary_to_decimal.py
+++ b/mathgenerator/funcs/computer_science/binary_to_decimal.py
@@ -13,4 +13,5 @@ def binaryToDecimalFunc(max_dig=10):
binary_to_decimal = Generator("Binary to Decimal", 15, "Decimal of a=", "b",
- binaryToDecimalFunc)
+ binaryToDecimalFunc,
+ ["max_dig=10"])
diff --git a/mathgenerator/funcs/computer_science/binary_to_hex.py b/mathgenerator/funcs/computer_science/binary_to_hex.py
index bb3d993..6c609bc 100644
--- a/mathgenerator/funcs/computer_science/binary_to_hex.py
+++ b/mathgenerator/funcs/computer_science/binary_to_hex.py
@@ -12,4 +12,5 @@ def binaryToHexFunc(max_dig=10):
binary_to_hex = Generator("Binary to Hexidecimal", 64, "Hexidecimal of a=",
- "b", binaryToHexFunc)
+ "b", binaryToHexFunc,
+ ["max_dig=10"])
diff --git a/mathgenerator/funcs/computer_science/decimal_to_bcd.py b/mathgenerator/funcs/computer_science/decimal_to_bcd.py
index 5075ce0..f1da8f6 100644
--- a/mathgenerator/funcs/computer_science/decimal_to_bcd.py
+++ b/mathgenerator/funcs/computer_science/decimal_to_bcd.py
@@ -18,4 +18,5 @@ def DecimalToBCDFunc(maxNumber=10000):
decimal_to_bcd = Generator("Decimal to Binary Coded Decimal", 103,
"Binary Coded Decimal of Decimal n is ", "b",
- DecimalToBCDFunc)
+ DecimalToBCDFunc,
+ ["maxNumber=10000"])
diff --git a/mathgenerator/funcs/computer_science/decimal_to_binary.py b/mathgenerator/funcs/computer_science/decimal_to_binary.py
index 354b9d4..288d00b 100644
--- a/mathgenerator/funcs/computer_science/decimal_to_binary.py
+++ b/mathgenerator/funcs/computer_science/decimal_to_binary.py
@@ -12,4 +12,5 @@ def DecimalToBinaryFunc(max_dec=99):
decimal_to_binary = Generator("Decimal to Binary", 14, "Binary of a=", "b",
- DecimalToBinaryFunc)
+ DecimalToBinaryFunc,
+ ["max_dec=99"])
diff --git a/mathgenerator/funcs/computer_science/decimal_to_hexadeci.py b/mathgenerator/funcs/computer_science/decimal_to_hexadeci.py
index 57e753b..187c859 100644
--- a/mathgenerator/funcs/computer_science/decimal_to_hexadeci.py
+++ b/mathgenerator/funcs/computer_science/decimal_to_hexadeci.py
@@ -11,4 +11,5 @@ def deciToHexaFunc(max_dec=1000):
decimal_to_hexadeci = Generator("Decimal to Hexadecimal", 79, "Binary of a=",
- "b", deciToHexaFunc)
+ "b", deciToHexaFunc,
+ ["max_dec=1000"])
diff --git a/mathgenerator/funcs/computer_science/decimal_to_octal.py b/mathgenerator/funcs/computer_science/decimal_to_octal.py
index e6a2ca9..21a272a 100644
--- a/mathgenerator/funcs/computer_science/decimal_to_octal.py
+++ b/mathgenerator/funcs/computer_science/decimal_to_octal.py
@@ -10,4 +10,5 @@ def decimalToOctalFunc(maxDecimal=4096):
decimal_to_octal = Generator("Converts decimal to octal", 84,
"What's the octal representation of 98?", "0o142",
- decimalToOctalFunc)
+ decimalToOctalFunc,
+ ["maxDecimal=4096"])
diff --git a/mathgenerator/funcs/computer_science/fibonacci_series.py b/mathgenerator/funcs/computer_science/fibonacci_series.py
index d81c782..83f044c 100644
--- a/mathgenerator/funcs/computer_science/fibonacci_series.py
+++ b/mathgenerator/funcs/computer_science/fibonacci_series.py
@@ -23,4 +23,5 @@ def fibonacciSeriesFunc(minNo=1):
fibonacci_series = Generator(
"Fibonacci Series", 56, "fibonacci series of first a numbers",
- "prints the fibonacci series starting from 0 to a", fibonacciSeriesFunc)
+ "prints the fibonacci series starting from 0 to a", fibonacciSeriesFunc,
+ ["minNo=1"])
diff --git a/mathgenerator/funcs/computer_science/modulo_division.py b/mathgenerator/funcs/computer_science/modulo_division.py
index 12f07a2..895740d 100644
--- a/mathgenerator/funcs/computer_science/modulo_division.py
+++ b/mathgenerator/funcs/computer_science/modulo_division.py
@@ -11,4 +11,5 @@ def moduloFunc(maxRes=99, maxModulo=99):
return problem, solution
-modulo_division = Generator("Modulo Division", 5, "a%b=", "c", moduloFunc)
+modulo_division = Generator("Modulo Division", 5, "a%b=", "c", moduloFunc,
+ ["maxRes=99", "maxModulo=99"])
diff --git a/mathgenerator/funcs/computer_science/nth_fibonacci_number.py b/mathgenerator/funcs/computer_science/nth_fibonacci_number.py
index 273f236..95151d7 100644
--- a/mathgenerator/funcs/computer_science/nth_fibonacci_number.py
+++ b/mathgenerator/funcs/computer_science/nth_fibonacci_number.py
@@ -14,4 +14,5 @@ def nthFibonacciNumberFunc(maxN=100):
nth_fibonacci_number = Generator("nth Fibonacci number", 62,
"What is the nth Fibonacci number", "Fn",
- nthFibonacciNumberFunc)
+ nthFibonacciNumberFunc,
+ ["maxN=100"])
diff --git a/mathgenerator/funcs/geometry/angle_btw_vectors.py b/mathgenerator/funcs/geometry/angle_btw_vectors.py
index 054c44b..560c6f7 100644
--- a/mathgenerator/funcs/geometry/angle_btw_vectors.py
+++ b/mathgenerator/funcs/geometry/angle_btw_vectors.py
@@ -28,4 +28,5 @@ def angleBtwVectorsFunc(maxEltAmt=20):
angle_btw_vectors = Generator(
"Angle between 2 vectors", 70,
"Angle Between 2 vectors V1=[v11, v12, ..., v1n] and V2=[v21, v22, ....., v2n]",
- "V1.V2 / (euclidNorm(V1)*euclidNorm(V2))", angleBtwVectorsFunc)
+ "V1.V2 / (euclidNorm(V1)*euclidNorm(V2))", angleBtwVectorsFunc,
+ ["maxEltAmt=20"])
diff --git a/mathgenerator/funcs/geometry/angle_regular_polygon.py b/mathgenerator/funcs/geometry/angle_regular_polygon.py
index 90f2c71..97d3f68 100644
--- a/mathgenerator/funcs/geometry/angle_regular_polygon.py
+++ b/mathgenerator/funcs/geometry/angle_regular_polygon.py
@@ -13,4 +13,5 @@ def regularPolygonAngleFunc(minVal=3, maxVal=20):
angle_regular_polygon = Generator(
"Angle of a Regular Polygon", 29,
"Find the angle of a regular polygon with 6 sides", "120",
- regularPolygonAngleFunc)
+ regularPolygonAngleFunc,
+ ["minVal=3", "maxVal=20"])
diff --git a/mathgenerator/funcs/geometry/arc_length.py b/mathgenerator/funcs/geometry/arc_length.py
index fdda5e8..cb55f3e 100644
--- a/mathgenerator/funcs/geometry/arc_length.py
+++ b/mathgenerator/funcs/geometry/arc_length.py
@@ -14,4 +14,5 @@ def arclengthFunc(maxRadius=49, maxAngle=359):
arc_length = Generator("Arc length of Angle", 108,
- " Given the radius, r and angle, ang. Calculate the arc length of the given angle", "(ang/360) * 2 * pi * r", arclengthFunc)
+ " Given the radius, r and angle, ang. Calculate the arc length of the given angle", "(ang/360) * 2 * pi * r", arclengthFunc,
+ ["maxRadius=49", "maxAngle=359"])
diff --git a/mathgenerator/funcs/geometry/area_of_circle.py b/mathgenerator/funcs/geometry/area_of_circle.py
index 36ad787..d74a1a4 100644
--- a/mathgenerator/funcs/geometry/area_of_circle.py
+++ b/mathgenerator/funcs/geometry/area_of_circle.py
@@ -10,4 +10,5 @@ def areaCircle(maxRadius=100):
return problem, solution
-area_of_circle = Generator("Area of Circle", 112, "pi*r*r=", "area", areaCircle)
+area_of_circle = Generator("Area of Circle", 112, "pi*r*r=", "area", areaCircle,
+ ["maxRadius=100"])
diff --git a/mathgenerator/funcs/geometry/area_of_triangle.py b/mathgenerator/funcs/geometry/area_of_triangle.py
index e764528..7b81adc 100644
--- a/mathgenerator/funcs/geometry/area_of_triangle.py
+++ b/mathgenerator/funcs/geometry/area_of_triangle.py
@@ -17,4 +17,5 @@ def areaOfTriangleFunc(maxA=20, maxB=20, maxC=20):
area_of_triangle = Generator("Area of Triangle", 18,
"Area of Triangle with side lengths a, b, c = ",
- "area", areaOfTriangleFunc)
+ "area", areaOfTriangleFunc,
+ ["maxA=20", "maxB=20", "maxC=20"])
diff --git a/mathgenerator/funcs/geometry/basic_trigonometry.py b/mathgenerator/funcs/geometry/basic_trigonometry.py
index b93365b..87c62bc 100644
--- a/mathgenerator/funcs/geometry/basic_trigonometry.py
+++ b/mathgenerator/funcs/geometry/basic_trigonometry.py
@@ -28,4 +28,5 @@ def basicTrigonometryFunc(angles=[0, 30, 45, 60, 90],
basic_trigonometry = Generator("Trigonometric Values", 57, "What is sin(X)?",
- "ans", basicTrigonometryFunc)
+ "ans", basicTrigonometryFunc,
+ ["angles=[0, 30, 45, 60, 90]","functions=['sin', 'cos', 'tan']"])
diff --git a/mathgenerator/funcs/geometry/circumference.py b/mathgenerator/funcs/geometry/circumference.py
index ba798ed..a964b1b 100644
--- a/mathgenerator/funcs/geometry/circumference.py
+++ b/mathgenerator/funcs/geometry/circumference.py
@@ -10,4 +10,5 @@ def circumferenceCircle(maxRadius=100):
return problem, solution
-circumference = Generator("Circumference", 104, "2*pi*r=", "circumference", circumferenceCircle)
+circumference = Generator("Circumference", 104, "2*pi*r=", "circumference", circumferenceCircle,
+ ["maxRadius=100"])
diff --git a/mathgenerator/funcs/geometry/curved_surface_area_cylinder.py b/mathgenerator/funcs/geometry/curved_surface_area_cylinder.py
index 0a02325..602a519 100644
--- a/mathgenerator/funcs/geometry/curved_surface_area_cylinder.py
+++ b/mathgenerator/funcs/geometry/curved_surface_area_cylinder.py
@@ -14,4 +14,5 @@ def curvedSurfaceAreaCylinderFunc(maxRadius=49, maxHeight=99):
curved_surface_area_cylinder = Generator(
"Curved surface area of a cylinder", 95,
"What is CSA of a cylinder of radius, r and height, h?", "csa of cylinder",
- curvedSurfaceAreaCylinderFunc)
+ curvedSurfaceAreaCylinderFunc,
+ ["maxRadius=49", "maxHeight=99"])
diff --git a/mathgenerator/funcs/geometry/degree_to_rad.py b/mathgenerator/funcs/geometry/degree_to_rad.py
index a17d72f..4b504e4 100644
--- a/mathgenerator/funcs/geometry/degree_to_rad.py
+++ b/mathgenerator/funcs/geometry/degree_to_rad.py
@@ -14,4 +14,5 @@ def degreeToRadFunc(max_deg=360):
degree_to_rad = Generator("Degrees to Radians", 86, "Angle a in radians is = ",
- "b", degreeToRadFunc)
+ "b", degreeToRadFunc,
+ ["max_deg=360"])
diff --git a/mathgenerator/funcs/geometry/fourth_angle_of_quadrilateral.py b/mathgenerator/funcs/geometry/fourth_angle_of_quadrilateral.py
index 1ecc9aa..00cdf63 100644
--- a/mathgenerator/funcs/geometry/fourth_angle_of_quadrilateral.py
+++ b/mathgenerator/funcs/geometry/fourth_angle_of_quadrilateral.py
@@ -17,4 +17,5 @@ def fourthAngleOfQuadriFunc(maxAngle=180):
fourth_angle_of_quadrilateral = Generator(
"Fourth Angle of Quadrilateral", 49,
"Fourth angle of Quadrilateral with angles a,b,c =", "angle4",
- fourthAngleOfQuadriFunc)
+ fourthAngleOfQuadriFunc,
+ ["maxAngle=180"])
diff --git a/mathgenerator/funcs/geometry/perimeter_of_polygons.py b/mathgenerator/funcs/geometry/perimeter_of_polygons.py
index 5b61688..5e51574 100644
--- a/mathgenerator/funcs/geometry/perimeter_of_polygons.py
+++ b/mathgenerator/funcs/geometry/perimeter_of_polygons.py
@@ -17,4 +17,5 @@ def perimeterOfPolygons(maxSides=12, maxLength=120):
perimeter_of_polygons = Generator(
"Perimeter of Polygons", 96,
"The perimeter of a x sided polygon with lengths of y cm is: ", "z",
- perimeterOfPolygons)
+ perimeterOfPolygons,
+ ["maxSides=12", "maxLength=120"])
diff --git a/mathgenerator/funcs/geometry/pythagorean_theorem.py b/mathgenerator/funcs/geometry/pythagorean_theorem.py
index 7387499..c2461e1 100644
--- a/mathgenerator/funcs/geometry/pythagorean_theorem.py
+++ b/mathgenerator/funcs/geometry/pythagorean_theorem.py
@@ -14,4 +14,5 @@ def pythagoreanTheoremFunc(maxLength=20):
pythagorean_theorem = Generator(
"Pythagorean Theorem", 25,
"The hypotenuse of a right triangle given the other two lengths a and b = ",
- "hypotenuse", pythagoreanTheoremFunc)
+ "hypotenuse", pythagoreanTheoremFunc,
+ ["maxLength=20"])
diff --git a/mathgenerator/funcs/geometry/radian_to_deg.py b/mathgenerator/funcs/geometry/radian_to_deg.py
index 0281b82..4d3e04a 100644
--- a/mathgenerator/funcs/geometry/radian_to_deg.py
+++ b/mathgenerator/funcs/geometry/radian_to_deg.py
@@ -15,4 +15,5 @@ def radianToDegFunc(max_rad=3):
radian_to_deg = Generator("Radians to Degrees", 87, "Angle a in degrees is = ",
- "b", radianToDegFunc)
+ "b", radianToDegFunc,
+ ["max_rad=3"])
diff --git a/mathgenerator/funcs/geometry/sector_area.py b/mathgenerator/funcs/geometry/sector_area.py
index 12692fb..593c26b 100644
--- a/mathgenerator/funcs/geometry/sector_area.py
+++ b/mathgenerator/funcs/geometry/sector_area.py
@@ -13,4 +13,5 @@ def sectorAreaFunc(maxRadius=49, maxAngle=359):
sector_area = Generator("Area of a Sector", 75,
"Area of a sector with radius, r and angle, a ",
- "Area", sectorAreaFunc)
+ "Area", sectorAreaFunc,
+ ["maxRadius=49", "maxAngle=359"])
diff --git a/mathgenerator/funcs/geometry/sum_of_polygon_angles.py b/mathgenerator/funcs/geometry/sum_of_polygon_angles.py
index 29519df..e52b387 100644
--- a/mathgenerator/funcs/geometry/sum_of_polygon_angles.py
+++ b/mathgenerator/funcs/geometry/sum_of_polygon_angles.py
@@ -12,4 +12,5 @@ def sumOfAnglesOfPolygonFunc(maxSides=12):
sum_of_polygon_angles = Generator("Sum of Angles of Polygon", 58,
"Sum of angles of polygon with n sides = ",
- "sum", sumOfAnglesOfPolygonFunc)
+ "sum", sumOfAnglesOfPolygonFunc,
+ ["maxSides=12"])
diff --git a/mathgenerator/funcs/geometry/surface_area_cone.py b/mathgenerator/funcs/geometry/surface_area_cone.py
index 2d86c5e..b48e36a 100644
--- a/mathgenerator/funcs/geometry/surface_area_cone.py
+++ b/mathgenerator/funcs/geometry/surface_area_cone.py
@@ -16,4 +16,5 @@ def surfaceAreaCone(maxRadius=20, maxHeight=50, unit='m'):
surface_area_cone = Generator(
"Surface Area of cone", 38,
"Surface area of cone with height = a units and radius = b units is",
- "c units^2", surfaceAreaCone)
+ "c units^2", surfaceAreaCone,
+ ["maxRadius=20", "maxHeight=50", "unit='m'"])
diff --git a/mathgenerator/funcs/geometry/surface_area_cube.py b/mathgenerator/funcs/geometry/surface_area_cube.py
index f2f4a99..245c4a5 100644
--- a/mathgenerator/funcs/geometry/surface_area_cube.py
+++ b/mathgenerator/funcs/geometry/surface_area_cube.py
@@ -11,4 +11,5 @@ def surfaceAreaCube(maxSide=20, unit='m'):
surface_area_cube = Generator("Surface Area of Cube", 32,
"Surface area of cube with side a units is",
- "b units^2", surfaceAreaCube)
+ "b units^2", surfaceAreaCube,
+ ["maxSide=20", "unit='m'"])
diff --git a/mathgenerator/funcs/geometry/surface_area_cuboid.py b/mathgenerator/funcs/geometry/surface_area_cuboid.py
index 723217c..eda1c1f 100644
--- a/mathgenerator/funcs/geometry/surface_area_cuboid.py
+++ b/mathgenerator/funcs/geometry/surface_area_cuboid.py
@@ -15,4 +15,5 @@ def surfaceAreaCuboid(maxSide=20, unit='m'):
surface_area_cuboid = Generator(
"Surface Area of Cuboid", 33,
"Surface area of cuboid with sides = a units, b units, c units is",
- "d units^2", surfaceAreaCuboid)
+ "d units^2", surfaceAreaCuboid,
+ ["maxSide=20", "unit='m'"])
diff --git a/mathgenerator/funcs/geometry/surface_area_cylinder.py b/mathgenerator/funcs/geometry/surface_area_cylinder.py
index bdbed93..d13bf0a 100644
--- a/mathgenerator/funcs/geometry/surface_area_cylinder.py
+++ b/mathgenerator/funcs/geometry/surface_area_cylinder.py
@@ -14,4 +14,5 @@ def surfaceAreaCylinder(maxRadius=20, maxHeight=50, unit='m'):
surface_area_cylinder = Generator(
"Surface Area of Cylinder", 34,
"Surface area of cylinder with height = a units and radius = b units is",
- "c units^2", surfaceAreaCylinder)
+ "c units^2", surfaceAreaCylinder,
+ ["maxRadius=20", "maxHeight=50", "unit='m'"])
diff --git a/mathgenerator/funcs/geometry/surface_area_sphere.py b/mathgenerator/funcs/geometry/surface_area_sphere.py
index bc5e91a..ac09d8f 100644
--- a/mathgenerator/funcs/geometry/surface_area_sphere.py
+++ b/mathgenerator/funcs/geometry/surface_area_sphere.py
@@ -13,4 +13,5 @@ def surfaceAreaSphere(maxSide=20, unit='m'):
surface_area_sphere = Generator(
"Surface Area of Sphere", 60,
"Surface area of sphere with radius = a units is", "d units^2",
- surfaceAreaSphere)
+ surfaceAreaSphere,
+ ["maxSide=20", "unit='m'"])
diff --git a/mathgenerator/funcs/geometry/third_angle_of_triangle.py b/mathgenerator/funcs/geometry/third_angle_of_triangle.py
index b41ff35..b6a3e6f 100644
--- a/mathgenerator/funcs/geometry/third_angle_of_triangle.py
+++ b/mathgenerator/funcs/geometry/third_angle_of_triangle.py
@@ -13,4 +13,5 @@ def thirdAngleOfTriangleFunc(maxAngle=89):
third_angle_of_triangle = Generator("Third Angle of Triangle", 22,
"Third Angle of the triangle = ", "angle3",
- thirdAngleOfTriangleFunc)
+ thirdAngleOfTriangleFunc,
+ ["maxAngle=89"])
diff --git a/mathgenerator/funcs/geometry/valid_triangle.py b/mathgenerator/funcs/geometry/valid_triangle.py
index e8a5128..001c921 100644
--- a/mathgenerator/funcs/geometry/valid_triangle.py
+++ b/mathgenerator/funcs/geometry/valid_triangle.py
@@ -22,4 +22,5 @@ def isTriangleValidFunc(maxSideLength=50):
valid_triangle = Generator("Triangle exists check", 19,
"Does triangle with sides a, b and c exist?",
- "Yes/No", isTriangleValidFunc)
+ "Yes/No", isTriangleValidFunc,
+ ["maxSideLength=50"])
diff --git a/mathgenerator/funcs/geometry/volume_cone.py b/mathgenerator/funcs/geometry/volume_cone.py
index 39a3a26..5e6072d 100644
--- a/mathgenerator/funcs/geometry/volume_cone.py
+++ b/mathgenerator/funcs/geometry/volume_cone.py
@@ -14,4 +14,5 @@ def volumeCone(maxRadius=20, maxHeight=50, unit='m'):
volume_cone = Generator(
"Volume of cone", 39,
"Volume of cone with height = a units and radius = b units is",
- "c units^3", volumeCone)
+ "c units^3", volumeCone,
+ ["maxRadius=20", "maxHeight=50", "unit='m'"])
diff --git a/mathgenerator/funcs/geometry/volume_cube.py b/mathgenerator/funcs/geometry/volume_cube.py
index 1de5984..5594742 100644
--- a/mathgenerator/funcs/geometry/volume_cube.py
+++ b/mathgenerator/funcs/geometry/volume_cube.py
@@ -12,4 +12,5 @@ def volumeCube(maxSide=20, unit='m'):
volume_cube = Generator("Volum of Cube", 35,
"Volume of cube with side a units is", "b units^3",
- volumeCube)
+ volumeCube,
+ ["maxSide=20", "unit='m'"])
diff --git a/mathgenerator/funcs/geometry/volume_cuboid.py b/mathgenerator/funcs/geometry/volume_cuboid.py
index a1eee6f..871fc86 100644
--- a/mathgenerator/funcs/geometry/volume_cuboid.py
+++ b/mathgenerator/funcs/geometry/volume_cuboid.py
@@ -15,4 +15,5 @@ def volumeCuboid(maxSide=20, unit='m'):
volume_cuboid = Generator(
"Volume of Cuboid", 36,
"Volume of cuboid with sides = a units, b units, c units is", "d units^3",
- volumeCuboid)
+ volumeCuboid,
+ ["maxSide=20", "unit='m'"])
diff --git a/mathgenerator/funcs/geometry/volume_cylinder.py b/mathgenerator/funcs/geometry/volume_cylinder.py
index 28b89a1..7257fb8 100644
--- a/mathgenerator/funcs/geometry/volume_cylinder.py
+++ b/mathgenerator/funcs/geometry/volume_cylinder.py
@@ -14,4 +14,5 @@ def volumeCylinder(maxRadius=20, maxHeight=50, unit='m'):
volume_cylinder = Generator(
"Volume of cylinder", 37,
"Volume of cylinder with height = a units and radius = b units is",
- "c units^3", volumeCylinder)
+ "c units^3", volumeCylinder,
+ ["maxRadius=20", "maxHeight=50", "unit='m'"])
diff --git a/mathgenerator/funcs/geometry/volume_sphere.py b/mathgenerator/funcs/geometry/volume_sphere.py
index b686bd4..b7083cc 100644
--- a/mathgenerator/funcs/geometry/volume_sphere.py
+++ b/mathgenerator/funcs/geometry/volume_sphere.py
@@ -12,4 +12,5 @@ def volumeSphereFunc(maxRadius=100):
volume_sphere = Generator("Volume of Sphere", 61,
"Volume of sphere with radius r m = ",
- "(4*pi/3)*r*r*r", volumeSphereFunc)
+ "(4*pi/3)*r*r*r", volumeSphereFunc,
+ ["maxRadius=100"])
diff --git a/mathgenerator/funcs/misc/arithmetic_progression_sum.py b/mathgenerator/funcs/misc/arithmetic_progression_sum.py
index cc46b3f..82595d2 100644
--- a/mathgenerator/funcs/misc/arithmetic_progression_sum.py
+++ b/mathgenerator/funcs/misc/arithmetic_progression_sum.py
@@ -17,4 +17,5 @@ def arithmeticProgressionSumFunc(maxd=100, maxa=100, maxn=100):
arithmetic_progression_sum = Generator(
"AP Sum Calculation", 83,
"Find the sum of first n terms of the AP series: a1, a2, a3 ...", "Sum",
- arithmeticProgressionSumFunc)
+ arithmeticProgressionSumFunc,
+ ["maxd=100", "maxa=100", "maxn=100"])
diff --git a/mathgenerator/funcs/misc/arithmetic_progression_term.py b/mathgenerator/funcs/misc/arithmetic_progression_term.py
index cdf1f9b..025e5c5 100644
--- a/mathgenerator/funcs/misc/arithmetic_progression_term.py
+++ b/mathgenerator/funcs/misc/arithmetic_progression_term.py
@@ -17,4 +17,5 @@ def arithmeticProgressionTermFunc(maxd=100, maxa=100, maxn=100):
arithmetic_progression_term = Generator(
"AP Term Calculation", 82,
"Find the term number n of the AP series: a1, a2, a3 ...", "a-n",
- arithmeticProgressionTermFunc)
+ arithmeticProgressionTermFunc,
+ ["maxd=100", "maxa=100", "maxn=100"])
diff --git a/mathgenerator/funcs/misc/base_conversion.py b/mathgenerator/funcs/misc/base_conversion.py
index 02746ff..2ba332b 100644
--- a/mathgenerator/funcs/misc/base_conversion.py
+++ b/mathgenerator/funcs/misc/base_conversion.py
@@ -55,4 +55,5 @@ def baseConversionFunc(maxNum=60000, maxBase=16):
base_conversion = Generator("Base Conversion", 94,
"Convert 152346 from base 8 to base 10.", "54502",
- baseConversionFunc)
+ baseConversionFunc,
+ ["maxNum=60000", "maxBase=16"])
diff --git a/mathgenerator/funcs/misc/binomial_distribution.py b/mathgenerator/funcs/misc/binomial_distribution.py
index 664004c..588af94 100644
--- a/mathgenerator/funcs/misc/binomial_distribution.py
+++ b/mathgenerator/funcs/misc/binomial_distribution.py
@@ -39,4 +39,4 @@ def binomialDistFunc():
binomial_distribution = Generator("Binomial distribution", 109,
- "P(X/=",
- surdsComparisonFunc)
+ surdsComparisonFunc,
+ ["maxValue=100", "maxRoot=10"])
diff --git a/mathgenerator/funcs/statistics/combinations.py b/mathgenerator/funcs/statistics/combinations.py
index 60c7b41..ac31861 100644
--- a/mathgenerator/funcs/statistics/combinations.py
+++ b/mathgenerator/funcs/statistics/combinations.py
@@ -22,4 +22,5 @@ def combinationsFunc(maxlength=20):
combinations = Generator(
"Combinations of Objects", 30,
"Combinations available for picking 4 objects at a time from 6 distinct objects =",
- " 15", combinationsFunc)
+ " 15", combinationsFunc,
+ ["maxlength=20"])
diff --git a/mathgenerator/funcs/statistics/conditional_probability.py b/mathgenerator/funcs/statistics/conditional_probability.py
index a13e3b1..afdfd79 100644
--- a/mathgenerator/funcs/statistics/conditional_probability.py
+++ b/mathgenerator/funcs/statistics/conditional_probability.py
@@ -24,4 +24,5 @@ def conditionalProbFunc():
conditional_probability = Generator("Conditional Probability",
- 107, "P(A|+)=", "c", conditionalProbFunc)
+ 107, "P(A|+)=", "c", conditionalProbFunc,
+ [""])
diff --git a/mathgenerator/funcs/statistics/confidence_interval.py b/mathgenerator/funcs/statistics/confidence_interval.py
index 96b2b90..8efee86 100644
--- a/mathgenerator/funcs/statistics/confidence_interval.py
+++ b/mathgenerator/funcs/statistics/confidence_interval.py
@@ -35,4 +35,5 @@ def confidenceIntervalFunc():
confidence_interval = Generator("Confidence interval For sample S", 54,
"With X% confidence", "is (A,B)",
- confidenceIntervalFunc)
+ confidenceIntervalFunc,
+ [""])
diff --git a/mathgenerator/funcs/statistics/data_summary.py b/mathgenerator/funcs/statistics/data_summary.py
index f74bf8e..7c59a6b 100644
--- a/mathgenerator/funcs/statistics/data_summary.py
+++ b/mathgenerator/funcs/statistics/data_summary.py
@@ -26,4 +26,5 @@ def dataSummaryFunc(number_values=15, minval=5, maxval=50):
data_summary = Generator("Mean,Standard Deviation,Variance", 59, "a,b,c",
- "Mean:a+b+c/3,Std,Var", dataSummaryFunc)
+ "Mean:a+b+c/3,Std,Var", dataSummaryFunc,
+ ["number_values=15", "minval=5", "maxval=50"])
diff --git a/mathgenerator/funcs/statistics/dice_sum_probability.py b/mathgenerator/funcs/statistics/dice_sum_probability.py
index d5139e4..6edc18f 100644
--- a/mathgenerator/funcs/statistics/dice_sum_probability.py
+++ b/mathgenerator/funcs/statistics/dice_sum_probability.py
@@ -29,4 +29,5 @@ def DiceSumProbFunc(maxDice=3):
dice_sum_probability = Generator(
"Probability of a certain sum appearing on faces of dice", 52,
"If n dices are rolled then probabilty of getting sum of x is =", "z",
- DiceSumProbFunc)
+ DiceSumProbFunc,
+ ["maxDice=3"])
diff --git a/mathgenerator/funcs/statistics/mean_median.py b/mathgenerator/funcs/statistics/mean_median.py
index 85456c8..c5e4273 100644
--- a/mathgenerator/funcs/statistics/mean_median.py
+++ b/mathgenerator/funcs/statistics/mean_median.py
@@ -17,4 +17,5 @@ def meanMedianFunc(maxlen=10):
mean_median = Generator("Mean and Median", 76,
"Mean and median of given set of numbers",
- "Mean, Median", meanMedianFunc)
+ "Mean, Median", meanMedianFunc,
+ ["maxlen=10"])
diff --git a/mathgenerator/funcs/statistics/permutation.py b/mathgenerator/funcs/statistics/permutation.py
index 5341a88..97462b9 100644
--- a/mathgenerator/funcs/statistics/permutation.py
+++ b/mathgenerator/funcs/statistics/permutation.py
@@ -16,4 +16,5 @@ def permutationFunc(maxlength=20):
permutation = Generator(
"Permutations", 42,
"Total permutations of 4 objects at a time from 10 objects is", "5040",
- permutationFunc)
+ permutationFunc,
+ ["maxlength=20"])