Module: FigurateNumbers::PlaneFigurateNumbers

Extended by:
PlaneFigurateNumbers
Included in:
FigurateNumbers, PlaneFigurateNumbers
Defined in:
lib/figurate_numbers/plane_figurate_numbers.rb

Overview

Module containing methods for generating 2D figurate number sequences.

Instance Method Summary collapse

Instance Method Details

#aztec_diamondObject



509
510
511
512
513
514
515
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 509

def aztec_diamond
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (2 * delta) * (delta + 1)
    end
  end
end

#centered_decagonalObject



296
297
298
299
300
301
302
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 296

def centered_decagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << 5 * delta**2 - 5 * delta + 1
    end
  end
end

#centered_dodecagonalObject Also known as: star



312
313
314
315
316
317
318
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 312

def centered_dodecagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << 6 * delta**2 - 6 * delta + 1
    end
  end
end

#centered_hendecagonalObject



304
305
306
307
308
309
310
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 304

def centered_hendecagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (11 * delta**2 - 11 * delta + 2) / 2
    end
  end
end

#centered_heptadecagonalObject



354
355
356
357
358
359
360
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 354

def centered_heptadecagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (17 * delta**2 - 17 * delta + 2) / 2
    end
  end
end

#centered_heptagonalObject



272
273
274
275
276
277
278
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 272

def centered_heptagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (7 * delta**2 - 7 * delta + 2) / 2
    end
  end
end

#centered_hexadecagonalObject



346
347
348
349
350
351
352
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 346

def centered_hexadecagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << 8 * delta**2 - 8 * delta + 1
    end
  end
end

#centered_hexagonalObject



264
265
266
267
268
269
270
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 264

def centered_hexagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << 3 * delta**2 - 3 * delta + 1
    end
  end
end

#centered_icosagonalObject



378
379
380
381
382
383
384
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 378

def centered_icosagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << 10 * delta**2 - 10 * delta + 1
    end
  end
end

#centered_icosidigonalObject



394
395
396
397
398
399
400
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 394

def centered_icosidigonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << 11 * delta**2 - 11 * delta + 1
    end
  end
end

#centered_icosihenagonalObject



386
387
388
389
390
391
392
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 386

def centered_icosihenagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (21 * delta**2 - 21 * delta + 2) / 2
    end
  end
end

#centered_icosiheptagonalObject



434
435
436
437
438
439
440
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 434

def centered_icosiheptagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (27 * delta**2 - 27 * delta + 2) / 2
    end
  end
end

#centered_icosihexagonalObject



426
427
428
429
430
431
432
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 426

def centered_icosihexagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (13 * delta**2 - 13 * delta + 1)
    end
  end
end

#centered_icosinonagonalObject



450
451
452
453
454
455
456
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 450

def centered_icosinonagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (29 * delta**2 - 29 * delta + 2) / 2
    end
  end
end

#centered_icosioctagonalObject



442
443
444
445
446
447
448
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 442

def centered_icosioctagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (14 * delta**2 - 14 * delta + 1)
    end
  end
end

#centered_icosipentagonalObject



418
419
420
421
422
423
424
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 418

def centered_icosipentagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (25 * delta**2 - 25 * delta + 2) / 2
    end
  end
end

#centered_icositetragonalObject



410
411
412
413
414
415
416
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 410

def centered_icositetragonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << 12 * delta**2 - 12 * delta + 1
    end
  end
end

#centered_icositrigonalObject



402
403
404
405
406
407
408
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 402

def centered_icositrigonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (23 * delta**2 - 23 * delta + 2) / 2
    end
  end
end

#centered_mgonal(m) ⇒ Object



466
467
468
469
470
471
472
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 466

def centered_mgonal(m)
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (m * delta**2 - m * delta + 2) / 2
    end
  end
end

#centered_nonadecagonalObject



370
371
372
373
374
375
376
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 370

def centered_nonadecagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (19 * delta**2 - 19 * delta + 2) / 2
    end
  end
end

#centered_nonagonalObject



288
289
290
291
292
293
294
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 288

def centered_nonagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (9 * delta**2 - 9 * delta + 2) / 2
    end
  end
end

#centered_octadecagonalObject



362
363
364
365
366
367
368
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 362

def centered_octadecagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << 9 * delta**2 - 9 * delta + 1
    end
  end
end

#centered_octagonalObject



280
281
282
283
284
285
286
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 280

def centered_octagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << 4 * delta**2 - 4 * delta + 1
    end
  end
end

#centered_pentadecagonalObject



338
339
340
341
342
343
344
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 338

def centered_pentadecagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (15 * delta**2 - 15 * delta + 2) / 2
    end
  end
end

#centered_pentagonalObject



256
257
258
259
260
261
262
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 256

def centered_pentagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (5 * delta**2 - 5 * delta + 2) / 2
    end
  end
end

#centered_squareObject Also known as: diamond



246
247
248
249
250
251
252
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 246

def centered_square
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << 2 * delta**2 - 2 * delta + 1
    end
  end
end

#centered_tetradecagonalObject



330
331
332
333
334
335
336
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 330

def centered_tetradecagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << 7 * delta**2 - 7 * delta + 1
    end
  end
end

#centered_triacontagonalObject



458
459
460
461
462
463
464
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 458

def centered_triacontagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (15 * delta**2 - 15 * delta + 1)
    end
  end
end

#centered_triangularObject



238
239
240
241
242
243
244
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 238

def centered_triangular
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (3 * delta**2 - 3 * delta + 2) / 2
    end
  end
end

#centered_tridecagonalObject



322
323
324
325
326
327
328
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 322

def centered_tridecagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (13 * delta**2 - 13 * delta + 2) / 2
    end
  end
end

#crossObject



501
502
503
504
505
506
507
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 501

def cross
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << 4 * delta - 3
    end
  end
end

#decagonalObject



70
71
72
73
74
75
76
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 70

def decagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (8 * delta**2 - 6 * delta) / 2
    end
  end
end

#dodecagonalObject



86
87
88
89
90
91
92
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 86

def dodecagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (10 * delta**2 - 8 * delta) / 2
    end
  end
end

#generalized_centered_pol(m, left_index = 0) ⇒ Object



637
638
639
640
641
642
643
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 637

def generalized_centered_pol(m, left_index = 0)
  Enumerator.new do |y|
    ((-1 * left_index)..Float::INFINITY).each do |delta|
      y << (m * delta**2 - m * delta + 2) / 2
    end
  end
end

#generalized_hexagonal(left_index = 0) ⇒ Object



628
629
630
631
632
633
634
635
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 628

def generalized_hexagonal(left_index = 0)
  m = 6
  Enumerator.new do |y|
    ((-1 * left_index.abs)..Float::INFINITY).each do |delta|
      y << (delta * ((m - 2) * delta - m + 4)) / 2
    end
  end
end

#generalized_mgonal(m, left_index = 0) ⇒ Object



611
612
613
614
615
616
617
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 611

def generalized_mgonal(m, left_index = 0)
  Enumerator.new do |y|
    ((-1 * left_index.abs)..Float::INFINITY).each do |delta|
      y << (delta * ((m - 2) * delta - m + 4)) / 2
    end
  end
end

#generalized_pentagonal(left_index = 0) ⇒ Object



619
620
621
622
623
624
625
626
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 619

def generalized_pentagonal(left_index = 0)
  m = 5
  Enumerator.new do |y|
    ((-1 * left_index.abs)..Float::INFINITY).each do |delta|
      y << (delta * ((m - 2) * delta - m + 4)) / 2
    end
  end
end

#generalized_pronic(left_index = 0) ⇒ Object



645
646
647
648
649
650
651
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 645

def generalized_pronic(left_index = 0)
  Enumerator.new do |y|
    ((-1 * left_index.abs)..Float::INFINITY).each do |delta|
      y << delta * (delta + 1)
    end
  end
end

#gnomicObject



535
536
537
538
539
540
541
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 535

def gnomic
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << 2 * delta - 1
    end
  end
end

#hendecagonalObject



78
79
80
81
82
83
84
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 78

def hendecagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (9 * delta**2 - 7 * delta) / 2
    end
  end
end

#heptadecagonalObject



126
127
128
129
130
131
132
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 126

def heptadecagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (15 * delta**2 - 13 * delta) / 2
    end
  end
end

#heptagonalObject



46
47
48
49
50
51
52
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 46

def heptagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (5 * delta**2 - 3 * delta) / 2
    end
  end
end

#hexadecagonalObject



118
119
120
121
122
123
124
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 118

def hexadecagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (14 * delta**2 - 12 * delta) / 2
    end
  end
end

#hexagonalObject



38
39
40
41
42
43
44
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 38

def hexagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (4 * delta**2 - 2 * delta) / 2
    end
  end
end

#icosagonalObject



150
151
152
153
154
155
156
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 150

def icosagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (18 * delta**2 - 16 * delta) / 2
    end
  end
end

#icosidigonalObject



166
167
168
169
170
171
172
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 166

def icosidigonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (20 * delta**2 - 18 * delta) / 2
    end
  end
end

#icosihenagonalObject



158
159
160
161
162
163
164
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 158

def icosihenagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (19 * delta**2 - 17 * delta) / 2
    end
  end
end

#icosiheptagonalObject



206
207
208
209
210
211
212
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 206

def icosiheptagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (25 * delta**2 - 23 * delta) / 2
    end
  end
end

#icosihexagonalObject



198
199
200
201
202
203
204
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 198

def icosihexagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (24 * delta**2 - 22 * delta) / 2
    end
  end
end

#icosinonagonalObject



222
223
224
225
226
227
228
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 222

def icosinonagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (27 * delta**2 - 25 * delta) / 2
    end
  end
end

#icosioctagonalObject



214
215
216
217
218
219
220
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 214

def icosioctagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (26 * delta**2 - 24 * delta) / 2
    end
  end
end

#icosipentagonalObject



190
191
192
193
194
195
196
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 190

def icosipentagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (23 * delta**2 - 21 * delta) / 2
    end
  end
end

#icositetragonalObject



182
183
184
185
186
187
188
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 182

def icositetragonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (22 * delta**2 - 20 * delta) / 2
    end
  end
end

#icositrigonalObject



174
175
176
177
178
179
180
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 174

def icositrigonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (21 * delta**2 - 19 * delta) / 2
    end
  end
end

#impoliteObject



493
494
495
496
497
498
499
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 493

def impolite
  Enumerator.new do |y|
    (0..Float::INFINITY).each do |delta|
      y << 2**delta
    end
  end
end

#nonadecagonalObject



142
143
144
145
146
147
148
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 142

def nonadecagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (17 * delta**2 - 15 * delta) / 2
    end
  end
end

#nonagonalObject



62
63
64
65
66
67
68
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 62

def nonagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (7 * delta**2 - 5 * delta) / 2
    end
  end
end

#octadecagonalObject



134
135
136
137
138
139
140
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 134

def octadecagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (16 * delta**2 - 14 * delta) / 2
    end
  end
end

#octagonalObject



54
55
56
57
58
59
60
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 54

def octagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (6 * delta**2 - 4 * delta) / 2
    end
  end
end

#pentadecagonalObject



110
111
112
113
114
115
116
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 110

def pentadecagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (13 * delta**2 - 11 * delta) / 2
    end
  end
end

#pentagonalObject



30
31
32
33
34
35
36
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 30

def pentagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (3 * delta**2 - delta) / 2
    end
  end
end

#pentagramObject



527
528
529
530
531
532
533
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 527

def pentagram
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << 5 * delta**2 - 5 * delta + 1
    end
  end
end

#politeObject



485
486
487
488
489
490
491
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 485

def polite
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << delta + Math.log(delta + Math.log(delta, 2), 2).floor
    end
  end
end

#polygonal(m) ⇒ Object



6
7
8
9
10
11
12
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 6

def polygonal(m)
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << ((m - 2) * delta**2 - (m - 4) * delta) / 2
    end
  end
end

#polygram(m) ⇒ Object Also known as: centered_star_polygonal



517
518
519
520
521
522
523
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 517

def polygram(m)
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << m * delta**2 - m * delta + 1
    end
  end
end

#pronicObject Also known as: heteromecic, oblong



474
475
476
477
478
479
480
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 474

def pronic
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << delta * (delta + 1)
    end
  end
end

#squareObject



22
23
24
25
26
27
28
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 22

def square
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (2 * delta**2) / 2
    end
  end
end

#tetradecagonalObject



102
103
104
105
106
107
108
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 102

def tetradecagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (12 * delta**2 - 10 * delta) / 2
    end
  end
end

#triacontagonalObject



230
231
232
233
234
235
236
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 230

def triacontagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (28 * delta**2 - 26 * delta) / 2
    end
  end
end

#triangularObject



14
15
16
17
18
19
20
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 14

def triangular
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (delta**2 + delta) / 2
    end
  end
end

#tridecagonalObject



94
95
96
97
98
99
100
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 94

def tridecagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (11 * delta**2 - 9 * delta) / 2
    end
  end
end

#truncated_centered_hexagonalObject Also known as: truncated_hex



601
602
603
604
605
606
607
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 601

def truncated_centered_hexagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << 21 * delta**2 - 33 * delta + 13
    end
  end
end

#truncated_centered_pentagonalObject



593
594
595
596
597
598
599
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 593

def truncated_centered_pentagonal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (35 * delta**2 - 55 * delta) / 2 + 11
    end
  end
end

#truncated_centered_pol(m) ⇒ Object Also known as: truncated_centered_mgonal



567
568
569
570
571
572
573
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 567

def truncated_centered_pol(m)
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << 1 + (m * (7 * delta**2 - 11 * delta + 4)) / 2
    end
  end
end

#truncated_centered_squareObject



585
586
587
588
589
590
591
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 585

def truncated_centered_square
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << 14 * delta**2 - 22 * delta + 9
    end
  end
end

#truncated_centered_triangularObject



577
578
579
580
581
582
583
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 577

def truncated_centered_triangular
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (21 * delta**2 - 33 * delta) / 2 + 7
    end
  end
end

#truncated_pronicObject



559
560
561
562
563
564
565
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 559

def truncated_pronic
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (7 * delta**2) - (7 * delta) + 2
    end
  end
end

#truncated_squareObject



551
552
553
554
555
556
557
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 551

def truncated_square
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (7 * delta**2) - (10 * delta) + 4
    end
  end
end

#truncated_triangularObject



543
544
545
546
547
548
549
# File 'lib/figurate_numbers/plane_figurate_numbers.rb', line 543

def truncated_triangular
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (3 * delta**2) - (3 * delta) + 1
    end
  end
end